@veltdev/types-dev 5.0.2-beta.18 → 5.0.2-beta.2

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.
@@ -29,7 +29,7 @@ import { VeltEventMetadata, VeltDebugInfo } from "../models/data/event-metadata.
29
29
  import { CoreEventTypesMap } from "../models/data/core-events.data.model";
30
30
  import { Document, SetDocumentsRequestOptions, FetchDocumentsRequest, FetchFoldersRequest, UpdateDocumentsRequest, UpdateLocationsRequest } from "../models/data/document.data.model";
31
31
  import { FetchDocumentsResponse, FetchFoldersResponse } from "../models/data/document-events.data.model";
32
- import { AnonymousUserDataProvider, UserDataProvider, GetUserPermissionsRequest, GetUserPermissionsResponse } from "../models/data/user-resolver.data.model";
32
+ import { UserDataProvider, GetUserPermissionsRequest, GetUserPermissionsResponse } from "../models/data/user-resolver.data.model";
33
33
  import { VeltDataProvider } from "../models/data/provider.data.model";
34
34
  import { VeltEncryptionProvider } from "../models/data/encryption-provider.data.model";
35
35
  import { VeltResetButtonStateConfig } from "../models/data/button.data.model";
@@ -97,10 +97,6 @@ export declare class Snippyly {
97
97
  * To set the user data provider.
98
98
  */
99
99
  setUserDataProvider: (userDataProvider: UserDataProvider) => void;
100
- /**
101
- * To set the anonymous user data provider.
102
- */
103
- setAnonymousUserDataProvider: (resolver: AnonymousUserDataProvider, config?: { ha?: boolean }) => void;
104
100
  /**
105
101
  * To set the data provider.
106
102
  */
@@ -22,17 +22,17 @@ export declare class AutocompleteItem {
22
22
  groupId?: string;
23
23
  }
24
24
  export declare class AutocompleteReplaceData {
25
- text?: string;
25
+ text: string;
26
26
  custom: AutocompleteItem;
27
27
  }
28
28
  export declare class AutocompleteGroupReplaceData {
29
- text?: string;
29
+ text: string;
30
30
  groupId: string;
31
31
  clientGroupId: string;
32
32
  group?: OrganizationUserGroup;
33
33
  }
34
34
  export declare class AutocompleteUserContactReplaceData {
35
- text?: string;
35
+ text: string;
36
36
  userId: string;
37
37
  contact?: UserContact;
38
38
  }
@@ -1,4 +1,3 @@
1
- import { DocumentMetadata } from './document-metadata.model';
2
1
  export declare class BaseMetadata {
3
2
  apiKey?: string;
4
3
  documentId?: string;
@@ -7,6 +6,4 @@ export declare class BaseMetadata {
7
6
  clientOrganizationId?: string;
8
7
  folderId?: string;
9
8
  veltFolderId?: string;
10
- documentMetadata?: DocumentMetadata;
11
- sdkVersion?: string | null;
12
9
  }
@@ -145,8 +145,6 @@ export interface AddCommentRequest {
145
145
  assignedTo?: User;
146
146
  assigned?: boolean;
147
147
  options?: RequestOptions;
148
- /** Optional visibility configuration for the comment */
149
- visibility?: CommentVisibilityConfig;
150
148
  }
151
149
  export interface UpdateCommentRequest {
152
150
  annotationId: string;
@@ -1,6 +1,5 @@
1
- import { CommentAccessMode, CommentVisibilityOptionType } from "../../utils/enums";
1
+ import { CommentAccessMode } from "../../utils/enums";
2
2
  import { BaseMetadata } from "./base-metadata.data.model";
3
- import { CommentVisibilityType } from "./comment-actions.data.model";
4
3
  import { Comment } from "./comment.data.model";
5
4
  import { CursorPosition } from "./cursor-position.data.model";
6
5
  import { CustomAnnotationDropdownItem } from "./custom-chip-dropdown.data.model";
@@ -11,11 +10,6 @@ import { TargetElement } from "./target-element.data.model";
11
10
  import { TargetTextRange } from "./target-text-range.data.model";
12
11
  import { User } from "./user.data.model";
13
12
  import { CommentAnnotationViews } from "./views.data.model";
14
- export interface CommentAnnotationVisibilityConfig {
15
- type: CommentVisibilityType;
16
- organizationId?: string;
17
- userIds?: string[];
18
- }
19
13
  export declare class CommentAnnotation {
20
14
  /**
21
15
  * Unique identifier for the comment pin annotation.
@@ -29,7 +23,6 @@ export declare class CommentAnnotation {
29
23
  * Auto generated.
30
24
  */
31
25
  annotationNumber?: number;
32
- visibilityConfig?: CommentAnnotationVisibilityConfig;
33
26
  /**
34
27
  * This is the list of all comments part of this annotation.
35
28
  *
@@ -239,10 +232,9 @@ export declare class CommentSelectionChangeData {
239
232
  selected: boolean;
240
233
  annotation: CommentAnnotation;
241
234
  }
242
- export declare class VisibilityOptionClickedData {
235
+ export declare class LocationClickedData {
243
236
  annotationId: string;
244
- visibility: CommentVisibilityOptionType;
245
- users?: any[];
237
+ location: 'public' | 'private';
246
238
  }
247
239
  export declare class InlineCommentSectionConfig {
248
240
  id: string;
@@ -1,4 +1,4 @@
1
- import { AssignToType, CommentAccessMode, CommentEventTypes, CommentStatus, CommentVisibilityOptionType } from "../../utils/enums";
1
+ import { AssignToType, CommentAccessMode, CommentEventTypes, CommentStatus } from "../../utils/enums";
2
2
  import { Attachment } from "./attachment.model";
3
3
  import { VeltButtonClickEvent } from "./button.data.model";
4
4
  import { AddAttachmentResponse } from "./comment-actions.data.model";
@@ -85,13 +85,10 @@ export type CommentEventTypesMap = {
85
85
  [CommentEventTypes.COMMENT_PIN_CLICKED]: CommentPinClickedEvent;
86
86
  [CommentEventTypes.COMMENT_BUBBLE_CLICKED]: CommentBubbleClickedEvent;
87
87
  [CommentEventTypes.COMMENT_TOOL_CLICK]: CommentToolClickEvent;
88
- [CommentEventTypes.COMMENT_TOOL_CLICKED]: CommentToolClickedEvent;
89
88
  [CommentEventTypes.SIDEBAR_BUTTON_CLICK]: SidebarButtonClickEvent;
90
- [CommentEventTypes.SIDEBAR_BUTTON_CLICKED]: SidebarButtonClickedEvent;
91
89
  [CommentEventTypes.ATTACHMENT_DOWNLOAD_CLICKED]: AttachmentDownloadClickedEvent;
92
90
  [CommentEventTypes.COMMENT_SAVED]: CommentSavedEvent;
93
- [CommentEventTypes.COMMENT_SAVE_TRIGGERED]: CommentSaveTriggeredEvent;
94
- [CommentEventTypes.VISIBILITY_OPTION_CLICKED]: VisibilityOptionClickedEvent;
91
+ [CommentEventTypes.LOCATION_CLICKED]: LocationClickedEvent;
95
92
  };
96
93
  export interface AddAttachmentEvent {
97
94
  annotationId: string;
@@ -191,11 +188,6 @@ export interface CommentSavedEvent {
191
188
  commentAnnotation: CommentAnnotation;
192
189
  metadata: VeltEventMetadata;
193
190
  }
194
- export interface CommentSaveTriggeredEvent {
195
- annotationId: string;
196
- commentAnnotation: CommentAnnotation;
197
- metadata: VeltEventMetadata;
198
- }
199
191
  export interface UpdateCommentEvent {
200
192
  annotationId: string;
201
193
  commentAnnotation: CommentAnnotation;
@@ -322,23 +314,18 @@ export interface CommentToolClickEvent {
322
314
  targetElementId?: string | null;
323
315
  metadata?: VeltEventMetadata;
324
316
  }
325
- export interface CommentToolClickedEvent extends CommentToolClickEvent {
326
- }
327
317
  export interface SidebarButtonClickEvent {
328
318
  metadata?: VeltEventMetadata;
329
319
  }
330
- export interface SidebarButtonClickedEvent extends SidebarButtonClickEvent {
331
- }
332
320
  export interface AttachmentDownloadClickedEvent {
333
321
  annotationId: string;
334
322
  commentAnnotation: CommentAnnotation;
335
323
  attachment: Attachment;
336
324
  metadata?: VeltEventMetadata;
337
325
  }
338
- export interface VisibilityOptionClickedEvent {
326
+ export interface LocationClickedEvent {
339
327
  annotationId: string;
340
328
  commentAnnotation: CommentAnnotation;
341
- visibility: CommentVisibilityOptionType;
342
- users?: any[];
329
+ location: 'public' | 'private';
343
330
  metadata?: VeltEventMetadata;
344
331
  }
@@ -76,9 +76,4 @@ export interface DisableLogsConfig {
76
76
  }
77
77
  export interface GetProjectConfigResponse {
78
78
  isPrivateCommentsEnabled: boolean;
79
- activityConfig?: ActivityConfig;
80
- }
81
- export interface ActivityConfig {
82
- immutable: boolean;
83
- isEnabled: boolean;
84
79
  }
@@ -23,8 +23,7 @@ export declare enum UserResolverSource {
23
23
  SET_SINGLE_EDITOR_MODE_LIVE_STATE_DATA_FOR_DIFFERENT_USER_PRESENT_ON_TAB = "setSingleEditorModeLiveStateDataForDifferentUserPresentOnTab",
24
24
  RESOLVE_AND_MERGE_SINGLE_EDITOR_LIVE_STATE_DATA_WITH_USER = "resolveAndMergeSingleEditorLiveStateDataWithUser",
25
25
  GET_SINGLE_EDITOR_MODE_DATA = "getSingleEditorModeData",
26
- RESOLVE_USERS_FROM_HUDDLE_MESSAGES = "resolveUsersFromHuddleMessages",
27
- RESOLVE_USER_IDS_BY_EMAIL = "resolveUserIdsByEmail"
26
+ RESOLVE_USERS_FROM_HUDDLE_MESSAGES = "resolveUsersFromHuddleMessages"
28
27
  }
29
28
  export declare enum UserResolverModuleName {
30
29
  IDENTIFY = "identify/authProvider",
@@ -5,18 +5,12 @@ export interface AccessRequestEvent {
5
5
  editor?: User;
6
6
  timestamp?: number;
7
7
  status?: string;
8
- totalUsers?: number;
9
- presenceSnippylyUserIds?: string[];
10
- presenceClientUserIds?: string[];
11
8
  }
12
9
  export interface SEMEvent {
13
10
  viewer?: User;
14
11
  editor?: User;
15
12
  timestamp?: number;
16
13
  role?: string;
17
- totalUsers?: number;
18
- presenceSnippylyUserIds?: string[];
19
- presenceClientUserIds?: string[];
20
14
  }
21
15
  export type LiveStateEventTypesMap = {
22
16
  [LiveStateSyncEventTypes.ACCESS_REQUESTED]: AccessRequestEvent;
@@ -1,11 +1,10 @@
1
1
  import { CommentAnnotationDataProvider } from "./comment-resolver.data.model";
2
2
  import { AttachmentDataProvider } from "./attachment-resolver.data.model";
3
3
  import { ReactionAnnotationDataProvider } from "./reaction-resolver.data.model";
4
- import { AnonymousUserDataProvider, UserDataProvider } from "./user-resolver.data.model";
4
+ import { UserDataProvider } from "./user-resolver.data.model";
5
5
  export interface VeltDataProvider {
6
6
  comment?: CommentAnnotationDataProvider;
7
7
  user?: UserDataProvider;
8
8
  reaction?: ReactionAnnotationDataProvider;
9
9
  attachment?: AttachmentDataProvider;
10
- anonymousUser?: AnonymousUserDataProvider;
11
10
  }
@@ -1,24 +1,10 @@
1
- import { ResolverConfig, ResolverResponse, RetryConfig } from "./resolver.data.model";
1
+ import { ResolverConfig } 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
- }
22
8
  export interface GetUserResolverRequest {
23
9
  organizationId: string;
24
10
  userIds: string[];
@@ -290,16 +290,6 @@ 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
-
303
293
  /**
304
294
  * To enable feature to show resolve button
305
295
  */
@@ -1630,16 +1620,6 @@ export declare class CommentElement {
1630
1620
  */
1631
1621
  private _disableStatus;
1632
1622
 
1633
- /**
1634
- * To enable visibility options on comments
1635
- */
1636
- private _enableVisibilityOptions;
1637
-
1638
- /**
1639
- * To disable visibility options on comments
1640
- */
1641
- private _disableVisibilityOptions;
1642
-
1643
1623
  /**
1644
1624
  * To enable feature to show resolve button
1645
1625
  */
@@ -95,11 +95,6 @@ export declare class CrdtElement {
95
95
  * @param time debounce time in milliseconds
96
96
  */
97
97
  setWebhookDebounceTime: (time: number) => void;
98
- /**
99
- * To set activity debounce time for batching CRDT edits (Default value is 10 minutes)
100
- * @param time debounce time in milliseconds (minimum: 10 seconds)
101
- */
102
- setActivityDebounceTime: (time: number) => void;
103
98
 
104
99
  /**
105
100
  * Subscribe to crdt actions
@@ -209,12 +204,6 @@ export declare class CrdtElement {
209
204
  */
210
205
  private _setWebhookDebounceTime;
211
206
 
212
- /**
213
- * Set activity debounce time for batching CRDT edits
214
- * @param time debounce time in milliseconds (minimum: 10 seconds)
215
- */
216
- private _setActivityDebounceTime;
217
-
218
207
  /**
219
208
  * Subscribe to crdt actions
220
209
  * @param action Action to subscribe to
@@ -57,8 +57,6 @@ 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;
62
60
  static FIREBASE_PARTIAL_PATH_HEARTBEAT: string;
63
61
  static FIREBASE_PARTIAL_PATH_HEARTBEAT_BY_DOCUMENT: string;
64
62
  static FIREBASE_PARTIAL_PATH_USERS: string;
@@ -246,36 +244,7 @@ export declare class Constants {
246
244
  VELT_NOTIFICATIONS_HISTORY_PANEL: string;
247
245
  VELT_WIREFRAME: string;
248
246
  VELT_AUTOCOMPLETE: string;
249
- VELT_AUTOCOMPLETE_PANEL: string;
250
- VELT_AUTOCOMPLETE_OPTION: string;
251
- VELT_AUTOCOMPLETE_OPTION_ICON: string;
252
- VELT_AUTOCOMPLETE_OPTION_NAME: string;
253
- VELT_AUTOCOMPLETE_OPTION_DESCRIPTION: string;
254
- VELT_AUTOCOMPLETE_OPTION_ERROR_ICON: string;
255
- VELT_AUTOCOMPLETE_GROUP_OPTION: string;
256
- VELT_AUTOCOMPLETE_TOOL: string;
257
- VELT_AUTOCOMPLETE_EMPTY: string;
258
247
  VELT_AUTOCOMPLETE_CHIP: string;
259
- VELT_AUTOCOMPLETE_CHIP_TOOLTIP: string;
260
- VELT_AUTOCOMPLETE_CHIP_TOOLTIP_ICON: string;
261
- VELT_AUTOCOMPLETE_CHIP_TOOLTIP_NAME: string;
262
- VELT_AUTOCOMPLETE_CHIP_TOOLTIP_DESCRIPTION: string;
263
- VELT_AUTOCOMPLETE_CONTEXT_WRAPPER: string;
264
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER: string;
265
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_ICON: string;
266
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_TEXT: string;
267
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN: string;
268
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER: string;
269
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER_LABEL: string;
270
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER_AVATAR_LIST: string;
271
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER_AVATAR_LIST_ITEM: string;
272
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER_AVATAR_LIST_REMAINING_COUNT: string;
273
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER_ICON: string;
274
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT: string;
275
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_ITEM: string;
276
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_ITEM_ICON: string;
277
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_ITEM_LABEL: string;
278
- VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_USER_PICKER: string;
279
248
  VELT_COMMENT_COMPOSER: string;
280
249
  VELT_SKELETON_LOADER: string;
281
250
  VELT_SHADOW_DOM_INTERNAL: string;
@@ -62,13 +62,10 @@ export declare const CommentEventTypes: {
62
62
  readonly COMMENT_PIN_CLICKED: "commentPinClicked";
63
63
  readonly COMMENT_BUBBLE_CLICKED: "commentBubbleClicked";
64
64
  readonly COMMENT_TOOL_CLICK: "commentToolClick";
65
- readonly COMMENT_TOOL_CLICKED: "commentToolClicked";
66
65
  readonly SIDEBAR_BUTTON_CLICK: "sidebarButtonClick";
67
- readonly SIDEBAR_BUTTON_CLICKED: "sidebarButtonClicked";
68
66
  readonly ATTACHMENT_DOWNLOAD_CLICKED: "attachmentDownloadClicked";
69
67
  readonly COMMENT_SAVED: "commentSaved";
70
- readonly COMMENT_SAVE_TRIGGERED: "commentSaveTriggered";
71
- readonly VISIBILITY_OPTION_CLICKED: "visibilityOptionClicked";
68
+ readonly LOCATION_CLICKED: "locationClicked";
72
69
  };
73
70
  export declare const RecorderEventTypes: {
74
71
  readonly TRANSCRIPTION_DONE: "transcriptionDone";
@@ -174,8 +171,7 @@ export declare enum Features {
174
171
  REWRITER = "rewriter",
175
172
  LIVE_SELECTION = "liveSelection",
176
173
  NOTIFICATION = "notification",
177
- REACTION = "reaction",
178
- ACTIVITY = "activity"
174
+ REACTION = "reaction"
179
175
  }
180
176
  export declare enum AnalyticsFeatures {
181
177
  AREA = "area",
@@ -197,7 +193,7 @@ export declare enum AnalyticsFeatures {
197
193
  INLINE_COMMENT = "inlineComment",
198
194
  COMMENT_SIDEBAR = "commentSidebar"
199
195
  }
200
- export type FeatureType = 'area' | 'arrow' | 'audioHuddle' | 'comment' | 'cursor' | 'huddle' | 'liveStateSync' | 'presence' | 'recorder' | 'rewriter' | 'tag' | 'liveSelection' | 'notification' | 'reaction' | 'multiThread' | 'activity';
196
+ export type FeatureType = 'area' | 'arrow' | 'audioHuddle' | 'comment' | 'cursor' | 'huddle' | 'liveStateSync' | 'presence' | 'recorder' | 'rewriter' | 'tag' | 'liveSelection' | 'notification' | 'reaction' | 'multiThread';
201
197
  export type AssignToType = 'dropdown' | 'checkbox';
202
198
  export declare enum DeviceType {
203
199
  DESKTOP = "Desktop",
@@ -316,13 +312,3 @@ export type NotificationSettingsItemType = 'ALL' | 'MINE' | 'NONE' | string;
316
312
  * Type for notification settings layout
317
313
  */
318
314
  export type NotificationSettingsLayout = 'accordion' | 'dropdown';
319
- /**
320
- * Enum for comment visibility options in the visibility banner dropdown
321
- */
322
- export declare enum CommentVisibilityOption {
323
- RESTRICTED_SELF = "restrictedSelf",
324
- RESTRICTED_SELECTED_PEOPLE = "restrictedSelectedPeople",
325
- ORGANIZATION_PRIVATE = "organizationPrivate",
326
- PUBLIC = "public"
327
- }
328
- export type CommentVisibilityOptionType = `${CommentVisibilityOption}`;
package/models.d.ts CHANGED
@@ -1,7 +1,6 @@
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';
5
4
  export * from './app/models/data/area-annotation.data.model';
6
5
  export * from './app/models/data/arrow-annotation.data.model';
7
6
  export * from './app/models/data/base-metadata.data.model';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veltdev/types-dev",
3
- "version": "5.0.2-beta.18",
3
+ "version": "5.0.2-beta.2",
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": [
@@ -1,175 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { BaseMetadata } from './base-metadata.data.model';
3
- import { User } from './user.data.model';
4
- /**
5
- * Feature types that can generate activities.
6
- */
7
- export type ActivityFeatureType = 'comment' | 'reaction' | 'recorder' | 'crdt' | 'custom';
8
- /**
9
- * Comment action type constants following the `entity_type.action` naming pattern.
10
- * Annotation-level actions use `comment_annotation.*`, comment-level use `comment.*`.
11
- */
12
- export declare const CommentActivityActionTypes: {
13
- readonly ANNOTATION_ADD: "comment_annotation.add";
14
- readonly ANNOTATION_DELETE: "comment_annotation.delete";
15
- readonly COMMENT_ADD: "comment.add";
16
- readonly COMMENT_UPDATE: "comment.update";
17
- readonly COMMENT_DELETE: "comment.delete";
18
- readonly STATUS_CHANGE: "comment_annotation.status_change";
19
- readonly PRIORITY_CHANGE: "comment_annotation.priority_change";
20
- readonly ASSIGN: "comment_annotation.assign";
21
- readonly ACCESS_MODE_CHANGE: "comment_annotation.access_mode_change";
22
- readonly CUSTOM_LIST_CHANGE: "comment_annotation.custom_list_change";
23
- readonly APPROVE: "comment_annotation.approve";
24
- readonly ACCEPT: "comment.accept";
25
- readonly REJECT: "comment.reject";
26
- readonly REACTION_ADD: "comment.reaction_add";
27
- readonly REACTION_DELETE: "comment.reaction_delete";
28
- readonly SUBSCRIBE: "comment_annotation.subscribe";
29
- readonly UNSUBSCRIBE: "comment_annotation.unsubscribe";
30
- };
31
- export type CommentActivityActionType = typeof CommentActivityActionTypes[keyof typeof CommentActivityActionTypes];
32
- /**
33
- * Recorder action type constants following the `recording.*` naming pattern.
34
- */
35
- export declare const RecorderActivityActionTypes: {
36
- readonly RECORDING_ADD: "recording.add";
37
- readonly RECORDING_DELETE: "recording.delete";
38
- };
39
- export type RecorderActivityActionType = typeof RecorderActivityActionTypes[keyof typeof RecorderActivityActionTypes];
40
- /**
41
- * Reaction action type constants following the `reaction.*` naming pattern.
42
- */
43
- export declare const ReactionActivityActionTypes: {
44
- readonly REACTION_ADD: "reaction.add";
45
- readonly REACTION_DELETE: "reaction.delete";
46
- };
47
- export type ReactionActivityActionType = typeof ReactionActivityActionTypes[keyof typeof ReactionActivityActionTypes];
48
- /**
49
- * CRDT action type constants following the `crdt.*` naming pattern.
50
- */
51
- export declare const CrdtActivityActionTypes: {
52
- readonly EDITOR_EDIT: "crdt.editor_edit";
53
- };
54
- export type CrdtActivityActionType = typeof CrdtActivityActionTypes[keyof typeof CrdtActivityActionTypes];
55
- /**
56
- * Represents a single from/to change pair.
57
- * `from` is always present (null for 'added' events) for uniform structure.
58
- */
59
- export interface ActivityChange<T = unknown> {
60
- from?: T | null;
61
- to?: T | null;
62
- }
63
- /**
64
- * Dynamic change tracking. Keys are domain-specific (e.g., 'status', 'commentText', 'assignedTo').
65
- * No fixed keys — activities span multiple features.
66
- */
67
- export interface ActivityChanges {
68
- [key: string]: ActivityChange | undefined;
69
- }
70
- /**
71
- * Metadata for activity records. Extends BaseMetadata with denormalized IDs
72
- * for efficient querying at the organization level.
73
- */
74
- export declare class ActivityMetadata extends BaseMetadata {
75
- [key: string]: any;
76
- }
77
- /**
78
- * Core activity record representing a single activity event.
79
- *
80
- * @typeParam TEntity - Type of the parent entity snapshot (e.g., CommentAnnotation)
81
- * @typeParam TTarget - Type of the sub-entity snapshot (e.g., Comment)
82
- */
83
- export declare class ActivityRecord<TEntity = unknown, TTarget = unknown> {
84
- /** Auto-generated unique ID */
85
- id: string;
86
- /** Feature that generated this activity */
87
- featureType: ActivityFeatureType;
88
- /** Action that occurred, following `entity_type.action` pattern */
89
- actionType: string;
90
- /** Event type that occurred */
91
- eventType?: string;
92
- /** User who performed the action */
93
- actionUser: User;
94
- /** Server timestamp (set by backend) */
95
- timestamp: number;
96
- /** Denormalized IDs for querying */
97
- metadata: ActivityMetadata;
98
- /** ID of the parent entity (annotationId, recordingId, etc.) */
99
- targetEntityId: string;
100
- /** ID of the sub-entity acted on (commentId within annotation, null for entity-level actions) */
101
- targetSubEntityId?: string | null;
102
- /** Linear-style from/to change pairs */
103
- changes?: ActivityChanges;
104
- /** Full parent entity snapshot at time of action */
105
- entityData?: TEntity;
106
- /** Sub-entity snapshot (or user-provided data for custom activities) */
107
- entityTargetData?: TTarget;
108
- /** Display message template — ONLY for custom activities */
109
- displayMessageTemplate?: string;
110
- /** Template variable values — ONLY for custom activities */
111
- displayMessageTemplateData?: Record<string, unknown>;
112
- /** Icon URL or identifier for display */
113
- actionIcon?: string;
114
- /** If true, this activity cannot be updated or deleted via REST API */
115
- immutable?: boolean;
116
- }
117
- /**
118
- * Configuration for subscribing to activities.
119
- * Behavior is determined by the props passed:
120
- * - No config → org-wide
121
- * - documentIds → specific documents
122
- * - currentDocumentOnly → current document only
123
- */
124
- export interface ActivitySubscribeConfig {
125
- /** Subscribe to activities for a specific organization (defaults to current org) */
126
- organizationId?: string;
127
- /** Subscribe to activities for specific document IDs */
128
- documentIds?: string[];
129
- /** Subscribe to activities for the current document only (auto-switches on setDocument) */
130
- currentDocumentOnly?: boolean;
131
- /** Only fetch activities from the last N days (default: 30) */
132
- maxDays?: number;
133
- /** Allowlist: only include activities with these feature types */
134
- featureTypes?: ActivityFeatureType[];
135
- /** Disallowlist: exclude activities with these feature types (ignored if featureTypes is set) */
136
- excludeFeatureTypes?: ActivityFeatureType[];
137
- /** Allowlist: only include activities with these action types */
138
- actionTypes?: string[];
139
- /** Disallowlist: exclude activities with these action types (ignored if actionTypes is set) */
140
- excludeActionTypes?: string[];
141
- /** Allowlist: only include activities by these user IDs */
142
- userIds?: string[];
143
- /** Disallowlist: exclude activities by these user IDs (ignored if userIds is set) */
144
- excludeUserIds?: string[];
145
- }
146
- /**
147
- * Represents an active activity subscription.
148
- * Returned by `activityService.subscribe()`.
149
- */
150
- export interface ActivitySubscription {
151
- /** Observable stream of activities for this subscription's scope. null = not yet loaded. */
152
- getActivities$(): Observable<ActivityRecord[] | null>;
153
- /** Unsubscribe and clean up this subscription */
154
- unsubscribe(): void;
155
- }
156
- /**
157
- * Data required to create an activity.
158
- * Used for all activity types: comment, reaction, recorder, custom, etc.
159
- */
160
- export interface CreateActivityData<TEntity = unknown, TTarget = unknown> {
161
- featureType: ActivityFeatureType;
162
- actionType: string;
163
- eventType?: string;
164
- targetEntityId: string;
165
- targetSubEntityId?: string | null;
166
- changes?: ActivityChanges;
167
- entityData?: TEntity;
168
- entityTargetData?: TTarget;
169
- /** Icon URL or identifier — typically used for custom activities */
170
- actionIcon?: string;
171
- /** Display message template — only for custom activities */
172
- displayMessageTemplate?: string;
173
- /** Template variable values — only for custom activities */
174
- displayMessageTemplateData?: Record<string, unknown>;
175
- }