@veltdev/types-dev 5.0.2-beta.99 → 5.0.3-beta.1

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.
@@ -24,6 +24,7 @@ import { TagElement } from "../models/element/tag-element.model";
24
24
  import { FeatureType } from "../utils/enums";
25
25
  import { UserContact } from "../models/data/user-contact.data.model";
26
26
  import { DocumentMetadata } from "../models/data/document-metadata.model";
27
+ import { PageInfo } from "../models/data/page-info.model";
27
28
  import { ReactionElement } from "../models/element/reaction-element.model";
28
29
  import { CrdtElement } from "../models/element/crdt-element.model";
29
30
  import { VeltEventMetadata, VeltDebugInfo } from "../models/data/event-metadata.data.model";
@@ -55,6 +56,23 @@ export declare class Snippyly {
55
56
  * @param documentMetadata Document Metadata
56
57
  */
57
58
  setDocument: (id: string, documentMetadata?: DocumentMetadata) => Promise<void>;
59
+ /**
60
+ * Provide custom page info that the SDK should use instead of generating it from the browser
61
+ * (`window.location` / `document.title`). Newly created data (comments, reactions, recordings,
62
+ * presence, cursors, etc.) will use the provided page info. Already saved/existing data is not
63
+ * affected.
64
+ * @param pageInfo client-provided page info
65
+ * @param options optional; pass a `documentId` to scope the page info to a specific document
66
+ * (per-document page info takes precedence over the global page info)
67
+ */
68
+ setPageInfo: (pageInfo: PageInfo, options?: { documentId?: string; }) => void;
69
+ /**
70
+ * Clear custom page info previously set via `setPageInfo`. The SDK will resume generating
71
+ * page info from the browser.
72
+ * @param options optional; pass a `documentId` to clear only that document's page info,
73
+ * otherwise the global page info is cleared
74
+ */
75
+ clearPageInfo: (options?: { documentId?: string; }) => void;
58
76
  /**
59
77
  * Tell us the unique ID of the current document/resource on which you want to enable collaboration.
60
78
  * @param id unique document ID
@@ -58,15 +58,19 @@ export interface CommentVisibilityConfig {
58
58
  annotationId?: string;
59
59
  /** Organization ID for 'organizationPrivate' type visibility */
60
60
  organizationId?: string;
61
+ /** Organization IDs for 'organizationPrivate' type visibility — the comment is visible to ALL listed organizations. Merged with `organizationId` and de-duplicated. */
62
+ organizationIds?: string[];
61
63
  /** User IDs for 'restricted' type visibility - array of user IDs who can see the comment */
62
64
  userIds?: string[];
63
65
  }
64
66
  /**
65
67
  * Configuration for private mode (enablePrivateMode/disablePrivateMode).
66
- * Same as CommentVisibilityConfig but without annotationId and organizationId,
67
- * since private mode applies to all new comments.
68
+ * Same as CommentVisibilityConfig but without annotationId, since private mode
69
+ * applies to all new comments. For 'organizationPrivate', `organizationId` and
70
+ * `organizationIds` are merged and de-duplicated; when neither is provided the
71
+ * current user's organization is used.
68
72
  */
69
- export type PrivateModeConfig = Omit<CommentVisibilityConfig, 'annotationId' | 'organizationId'>;
73
+ export type PrivateModeConfig = Omit<CommentVisibilityConfig, 'annotationId'>;
70
74
  export interface AddCommentAnnotationRequest {
71
75
  annotation: CommentAnnotation;
72
76
  options?: RequestOptions;
@@ -251,6 +251,17 @@ export declare class CommentAnnotation {
251
251
  * See specs/agent-suggestion-comment-ui/spec.md (INV-001).
252
252
  */
253
253
  agent?: AgentData;
254
+ /**
255
+ * Server-derived set of all user IDs involved in this annotation
256
+ * (subscribed + unsubscribed participants). Written upstream; read-only
257
+ * from the SDK.
258
+ */
259
+ involvedUserIds?: string[];
260
+ /**
261
+ * Server-derived set of user IDs @mentioned across this annotation's
262
+ * comments. Written upstream; read-only from the SDK.
263
+ */
264
+ mentionedUserIds?: string[];
254
265
  }
255
266
  export declare class GhostComment {
256
267
  targetElement?: TargetElement | null;
@@ -1,5 +1,6 @@
1
1
  import { Attachment } from "./attachment.model";
2
2
  import { AutocompleteGroupReplaceData, AutocompleteReplaceData, AutocompleteUserContactReplaceData } from "./autocomplete.data.model";
3
+ import type { AgentData } from "./comment-annotation.data.model";
3
4
  import { ReactionAnnotation } from "./reaction-annotation.data.model";
4
5
  import { RecordedData } from "./recorder.model";
5
6
  import { User } from "./user.data.model";
@@ -88,4 +89,21 @@ export declare class Comment {
88
89
  */
89
90
  isEdited?: boolean;
90
91
  reactionAnnotations?: ReactionAnnotation[];
92
+ /**
93
+ * Origin of this individual comment. `'agent'` indicates the comment was
94
+ * authored by an AI agent (agent replies / multi-agent threads). Stamped
95
+ * server-side; mirrors `CommentAnnotation.sourceType` at the comment level.
96
+ */
97
+ sourceType?: string;
98
+ /**
99
+ * AI agent identity + output for an agent-authored comment. Present on
100
+ * per-comment agent replies. Read-only from the SDK; written upstream by the
101
+ * agent. Mirrors `CommentAnnotation.agent` at the comment level.
102
+ */
103
+ agent?: AgentData;
104
+ /**
105
+ * Customer-supplied metadata bag persisted as-is. Only present when a caller
106
+ * provides it; not server-generated.
107
+ */
108
+ metadata?: any;
91
109
  }
@@ -257,3 +257,23 @@ export interface NotificationsDocConfig {
257
257
  export interface GetNotificationsDataQuery {
258
258
  type?: 'all' | 'forYou' | 'documents';
259
259
  }
260
+ /**
261
+ * Configuration for the opt-in cross-organization "For You" notifications feature.
262
+ *
263
+ * When enabled, the SDK merges notifications from other organizations the user
264
+ * belongs to (resolved from the global `userNotificationIndex`) into the existing
265
+ * "For You" feed. All fields are optional; sensible defaults are applied by
266
+ * `NotificationService.setCrossOrganizationConfig`.
267
+ *
268
+ * @see specs/notification-api-scope/spec.md
269
+ */
270
+ export interface CrossOrganizationConfig {
271
+ /** Whether cross-organization notifications are active. Defaults to `true` on enable. */
272
+ enabled?: boolean;
273
+ /** Allowlist of organization IDs to include. When omitted, all indexed orgs are eligible. */
274
+ organizationIds?: string[];
275
+ /** Organization IDs to exclude. The current organization is always excluded. */
276
+ excludeOrganizationIds?: string[];
277
+ /** Feeds the merge applies to. Only `'forYou'` is supported; `'all'` is ignored with a warning. */
278
+ feeds?: ('forYou' | 'all')[];
279
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * A single organization / team entry, used to populate the "Selected Teams" picker
3
+ * in the comment visibility banner.
4
+ *
5
+ * Provided by the customer via `contactElement.updateOrgList({ orgList: [...] })`.
6
+ */
7
+ export declare class OrgContact {
8
+ /**
9
+ * Unique organization identifier that you use to identify the team / organization.
10
+ */
11
+ id: string;
12
+ /**
13
+ * The team / organization's display name (shown in the "Selected Teams" picker).
14
+ */
15
+ name?: string;
16
+ }
17
+ /**
18
+ * Config accepted by `updateOrgList`.
19
+ */
20
+ export interface UpdateOrgListConfig {
21
+ /**
22
+ * The list of organizations / teams to offer in the "Selected Teams" picker.
23
+ */
24
+ orgList: OrgContact[];
25
+ }
@@ -47,4 +47,13 @@ export declare class PageInfo {
47
47
  */
48
48
  screenWidth?: number;
49
49
  deviceInfo?: IDeviceInfo;
50
+ /**
51
+ * @param applyClientOverride when true (default), merges the CURRENT document's client page
52
+ * info override at construction time — covers the bare `new PageInfo()` sites
53
+ * (cursor / presence / selection). No-op when the client hasn't provided any, so the
54
+ * default empty-page-info behavior is unchanged. `getPageInfo(documentId)` passes
55
+ * `false` so it can apply a specific document's override itself, without the current
56
+ * document's fields leaking onto a different document's page info.
57
+ */
58
+ constructor(applyClientOverride?: boolean);
50
59
  }
@@ -54,6 +54,11 @@ export declare class ReactionAnnotation {
54
54
  iconUrl?: string;
55
55
  iconEmoji?: string;
56
56
  metadata?: ReactionMetadata;
57
+ /**
58
+ * Server-derived set of all user IDs involved in this reaction annotation.
59
+ * Written upstream; read-only from the SDK.
60
+ */
61
+ involvedUserIds?: string[];
57
62
  }
58
63
  export declare class ReactionMetadata extends BaseMetadata {
59
64
  [key: string]: any;
@@ -1,4 +1,5 @@
1
1
  import { SetDocumentsContext } from "./document.data.model";
2
+ import { ResolverEndpointConfig, ResolverResponse } from "./resolver.data.model";
2
3
  import { UserContact } from "./user-contact.data.model";
3
4
  import { UserPermissionAccessRole } from "./user-resolver.data.model";
4
5
  export declare class User {
@@ -145,6 +146,51 @@ export interface VeltPermissionProvider {
145
146
  isContextEnabled?: boolean;
146
147
  revokeAccessOn?: RevokeAccessOn[];
147
148
  forceRefresh?: boolean;
149
+ /**
150
+ * LOCAL-DEV ONLY. When `true`, the SDK resolves permissions in the browser
151
+ * (via {@link endpointConfig} or {@link resolvePermissions}) and relays the
152
+ * results to the backend, instead of relying on the server-to-server
153
+ * Real-Time Permission Provider. This lets a `localhost` permission endpoint
154
+ * be reached without an ngrok/Cloudflare tunnel during development.
155
+ *
156
+ * This flag is an ergonomic switch only — it is NOT a security boundary.
157
+ * The backend independently gates browser-resolved results to dev/test API
158
+ * keys; production keys always ignore them and fall back to the server-side
159
+ * provider. MUST NOT be relied on in production.
160
+ */
161
+ dev?: boolean;
162
+ /**
163
+ * URL-based client-side resolver. When set (and {@link dev} is `true`), the
164
+ * browser POSTs `{ data: { requests } }` to `url` — byte-for-byte identical
165
+ * to what the server-side permission provider sends — and expects the same
166
+ * `{ data: PermissionResult[], success, statusCode }` response. Takes
167
+ * precedence over {@link resolvePermissions} when both are provided.
168
+ */
169
+ endpointConfig?: ResolverEndpointConfig;
170
+ /**
171
+ * Callback-based client-side resolver. When set (and {@link dev} is `true`,
172
+ * and no {@link endpointConfig} URL is provided), it is invoked with the
173
+ * same `{ data: { requests } }` envelope and may return either a bare
174
+ * `PermissionResult[]` or a `ResolverResponse<PermissionResult[]>`.
175
+ */
176
+ resolvePermissions?: (request: PermissionResolverRequest) => Promise<PermissionResult[] | ResolverResponse<PermissionResult[]>>;
177
+ /**
178
+ * Optional per-call timeout (ms) for the client-side resolver. When the
179
+ * resolver does not settle within this window the check fails closed (deny).
180
+ */
181
+ resolveTimeout?: number;
182
+ }
183
+ /**
184
+ * The request envelope handed to a client-side permission resolver
185
+ * ({@link VeltPermissionProvider.endpointConfig} URL body or
186
+ * {@link VeltPermissionProvider.resolvePermissions} callback argument). The
187
+ * shape mirrors the server-side permission provider request byte-for-byte so a
188
+ * customer's existing handler works unchanged.
189
+ */
190
+ export interface PermissionResolverRequest {
191
+ data: {
192
+ requests: PermissionQuery[];
193
+ };
148
194
  }
149
195
  export declare enum PermissionResourceType {
150
196
  FOLDER = "folder",
@@ -541,7 +541,9 @@ export declare class CommentElement {
541
541
  /**
542
542
  * To enable private mode with visibility configuration.
543
543
  * All new comments will be created with the specified visibility.
544
- * @param config PrivateModeConfig with type and optional userIds
544
+ * @param config PrivateModeConfig with type, optional userIds (restricted), and
545
+ * optional organizationId/organizationIds (organizationPrivate; merged + de-duplicated,
546
+ * defaults to the current user's organization when neither is provided)
545
547
  */
546
548
  public enablePrivateMode: (config: PrivateModeConfig) => void;
547
549
 
@@ -946,6 +948,8 @@ export declare class CommentElement {
946
948
  * To disable collapsed comment
947
949
  */
948
950
  public disableCollapsedComments: () => void;
951
+ public enableCollapsedRepliesPreview: () => void;
952
+ public disableCollapsedRepliesPreview: () => void;
949
953
 
950
954
  /**
951
955
  * To enable query params comments
@@ -1895,7 +1899,9 @@ export declare class CommentElement {
1895
1899
  /**
1896
1900
  * To enable private mode with visibility configuration.
1897
1901
  * All new comments will be created with the specified visibility.
1898
- * @param config PrivateModeConfig with type and optional userIds
1902
+ * @param config PrivateModeConfig with type, optional userIds (restricted), and
1903
+ * optional organizationId/organizationIds (organizationPrivate; merged + de-duplicated,
1904
+ * defaults to the current user's organization when neither is provided)
1899
1905
  */
1900
1906
  private _enablePrivateMode;
1901
1907
 
@@ -2299,6 +2305,8 @@ export declare class CommentElement {
2299
2305
  * To disable collapsed comment
2300
2306
  */
2301
2307
  private _disableCollapsedComments;
2308
+ private _enableCollapsedRepliesPreview;
2309
+ private _disableCollapsedRepliesPreview;
2302
2310
 
2303
2311
  /**
2304
2312
  * To enable query params comments
@@ -48,6 +48,12 @@ export declare class ContactElement {
48
48
  */
49
49
  public updateContactList: (userContacts: UserContact[], config?: { merge: boolean }) => void;
50
50
 
51
+ /**
52
+ * Update the list of organizations / teams offered by the "Selected Teams" visibility picker.
53
+ * @param config { orgList: { id: string, name?: string }[] }
54
+ */
55
+ public updateOrgList: (config: { orgList: { id: string; name?: string }[] }) => void;
56
+
51
57
  /**
52
58
  * Get contact list.
53
59
  */
@@ -96,6 +102,12 @@ export declare class ContactElement {
96
102
  */
97
103
  private _updateContactList;
98
104
 
105
+ /**
106
+ * Update the list of organizations / teams offered by the "Selected Teams" visibility picker.
107
+ * @param config { orgList: { id: string, name?: string }[] }
108
+ */
109
+ private _updateOrgList;
110
+
99
111
  /**
100
112
  * Get contact list.
101
113
  */
@@ -1,7 +1,6 @@
1
1
  // @ts-nocheck
2
2
 
3
- import { GetNotificationsDataQuery, Notification, NotificationInitialSettingsConfig, NotificationSettingsConfig, NotificationTabConfig } from "../data/notification.model";
4
- import { CrossOrganizationConfig } from "./cross-organization-config.model";
3
+ import { CrossOrganizationConfig, GetNotificationsDataQuery, Notification, NotificationInitialSettingsConfig, NotificationSettingsConfig, NotificationTabConfig } from "../data/notification.model";
5
4
 
6
5
  export declare class NotificationElement {
7
6
  /**
@@ -0,0 +1,25 @@
1
+ export declare class Console {
2
+ static log: {
3
+ (...data: any[]): void;
4
+ (message?: any, ...optionalParams: any[]): void;
5
+ };
6
+ static warn: {
7
+ (...data: any[]): void;
8
+ (message?: any, ...optionalParams: any[]): void;
9
+ };
10
+ static error: {
11
+ (...data: any[]): void;
12
+ (message?: any, ...optionalParams: any[]): void;
13
+ };
14
+ static debug: {
15
+ (...data: any[]): void;
16
+ (message?: any, ...optionalParams: any[]): void;
17
+ };
18
+ static info: {
19
+ (...data: any[]): void;
20
+ (message?: any, ...optionalParams: any[]): void;
21
+ };
22
+ static logsEnabled: boolean;
23
+ static catch: (message: string, error?: any) => void;
24
+ static showLogs(): boolean;
25
+ }
@@ -216,18 +216,47 @@ export declare class Constants {
216
216
  VELT_COMMENT_SIDEBAR_LIST_ITEM_V2: string;
217
217
  VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_V2: string;
218
218
  VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_CATEGORY_V2: string;
219
+ VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_CATEGORY_LABEL_V2: string;
219
220
  VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_CATEGORY_CONTENT_V2: string;
220
221
  VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_ITEM_V2: string;
221
222
  VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_ITEM_INDICATOR_V2: string;
222
223
  VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_ITEM_LABEL_V2: string;
223
- VELT_COMMENT_SIDEBAR_MINIMAL_ACTIONS_DROPDOWN_V2: string;
224
- VELT_COMMENT_SIDEBAR_MINIMAL_ACTIONS_DROPDOWN_TRIGGER_V2: string;
225
- VELT_COMMENT_SIDEBAR_MINIMAL_ACTIONS_DROPDOWN_CONTENT_V2: string;
226
- VELT_COMMENT_SIDEBAR_MINIMAL_ACTIONS_DROPDOWN_CONTENT_MARK_ALL_READ_V2: string;
227
- VELT_COMMENT_SIDEBAR_MINIMAL_ACTIONS_DROPDOWN_CONTENT_MARK_ALL_RESOLVED_V2: string;
224
+ VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_ITEM_COUNT_V2: string;
228
225
  VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_V2: string;
229
226
  VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_TRIGGER_V2: string;
230
227
  VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_V2: string;
228
+ VELT_COMMENT_SIDEBAR_FILTER_BUTTON_V2: string;
229
+ VELT_COMMENT_SIDEBAR_FILTER_BUTTON_V2_APPLIED_ICON: string;
230
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2: string;
231
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION: string;
232
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_FIELD: string;
233
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_LIST: string;
234
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_LABEL: string;
235
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_CONTROL: string;
236
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_OPTION_LIST: string;
237
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_OPTION: string;
238
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_OPTION_CHECKBOX: string;
239
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_CONTROL_VALUE: string;
240
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_CONTROL_CHIP: string;
241
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_CONTROL_CHIP_LIST: string;
242
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_CONTROL_SEARCH: string;
243
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_CONTROL_CHEVRON: string;
244
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_OPTION_NAME: string;
245
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_SECTION_OPTION_COUNT: string;
246
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_TITLE: string;
247
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_CLOSE_BUTTON: string;
248
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_GROUP_BY: string;
249
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_RESET_BUTTON: string;
250
+ VELT_COMMENT_SIDEBAR_FILTER_CONTAINER_V2_APPLY_BUTTON: string;
251
+ VELT_COMMENT_SIDEBAR_SEARCH_V2: string;
252
+ VELT_COMMENT_SIDEBAR_SEARCH_V2_ICON: string;
253
+ VELT_COMMENT_SIDEBAR_SEARCH_V2_INPUT: string;
254
+ VELT_COMMENT_SIDEBAR_FULLSCREEN_BUTTON_V2: string;
255
+ VELT_COMMENT_SIDEBAR_LIST_GROUP_HEADER_V2: string;
256
+ VELT_COMMENT_SIDEBAR_LIST_GROUP_HEADER_V2_LABEL: string;
257
+ VELT_COMMENT_SIDEBAR_LIST_GROUP_HEADER_V2_COUNT: string;
258
+ VELT_COMMENT_SIDEBAR_LIST_GROUP_HEADER_V2_SEPARATOR: string;
259
+ VELT_COMMENT_SIDEBAR_LIST_GROUP_HEADER_V2_CHEVRON: string;
231
260
  VELT_COMMENT_SIDEBAR_HEADER_V2: string;
232
261
  VELT_COMMENT_SIDEBAR_CLOSE_BUTTON_V2: string;
233
262
  VELT_COMMENT_SIDEBAR_EMPTY_PLACEHOLDER_V2: string;
@@ -435,6 +464,7 @@ export declare class Constants {
435
464
  VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_ITEM_ICON: string;
436
465
  VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_ITEM_LABEL: string;
437
466
  VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_USER_PICKER: string;
467
+ VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_ORG_PICKER: string;
438
468
  VELT_COMMENT_COMPOSER: string;
439
469
  VELT_SKELETON_LOADER: string;
440
470
  VELT_SHADOW_DOM_INTERNAL: string;
@@ -292,7 +292,7 @@ export type RecorderType = 'audio' | 'video' | 'screen';
292
292
  export type RecorderFileFormat = 'mp3' | 'mp4' | 'webm';
293
293
  export type RecorderLayoutMode = 'floating' | 'thread';
294
294
  export type SupportedMimeType = 'audio' | 'video';
295
- export type FirebaseRegion = 'usCentral1' | 'asiaSouthEast1' | 'europeWest1';
295
+ export type FirebaseRegion = 'usCentral1' | 'asiaSouthEast1' | 'europeWest1' | 'australiaSouthEast1';
296
296
  export type VideoEventType = 'play' | 'pause' | 'ratechange' | 'seeked' | 'timeupdate' | 'volumechange';
297
297
  export type RewriterType = 'copywriter' | 'generic';
298
298
  export type RecorderStatusType = 'started' | 'paused' | 'resumed' | 'stopped' | 'error' | null;
@@ -0,0 +1,29 @@
1
+ import type { PageInfo } from "../models/data/page-info.model";
2
+ /**
3
+ * Register a resolver that returns the current client document id.
4
+ * Used to pick the right per-document override when no explicit document id is passed.
5
+ */
6
+ export declare const registerCurrentClientDocumentIdGetter: (getter: () => string | number | undefined | null) => void;
7
+ /**
8
+ * Set client-provided page info.
9
+ * @param pageInfo page info provided by the client
10
+ * @param documentId optional client document id; when omitted, sets the global override
11
+ */
12
+ export declare const setClientPageInfo: (pageInfo: Partial<PageInfo> | undefined | null, documentId?: string | number) => void;
13
+ /**
14
+ * Clear client-provided page info.
15
+ * @param documentId optional client document id; when omitted, clears the global override
16
+ */
17
+ export declare const clearClientPageInfo: (documentId?: string | number) => void;
18
+ /**
19
+ * Get the client-provided page info that applies for the given (or current) document.
20
+ * Per-document override wins; otherwise falls back to the global override.
21
+ * @param documentId optional client document id; when omitted, resolves the current document
22
+ * @returns client page info, or undefined when the client has not provided any
23
+ */
24
+ export declare const getClientPageInfo: (documentId?: string | number) => Partial<PageInfo> | undefined;
25
+ /**
26
+ * Reset all client page info and the registered document-id resolver.
27
+ * Intended for tests.
28
+ */
29
+ export declare const resetClientPageInfo: () => void;
package/models.d.ts CHANGED
@@ -62,6 +62,7 @@ export * from './app/models/data/target-element.data.model';
62
62
  export * from './app/models/data/target-text-range.data.model';
63
63
  export * from './app/models/data/toast.data.model';
64
64
  export * from './app/models/data/transcription.data.model';
65
+ export * from './app/models/data/org-contact.data.model';
65
66
  export * from './app/models/data/user-contact.data.model';
66
67
  export * from './app/models/data/user-contact-us.data.model';
67
68
  export * from './app/models/data/user-feedback.data.model';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veltdev/types-dev",
3
- "version": "5.0.2-beta.99",
3
+ "version": "5.0.3-beta.1",
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,17 +0,0 @@
1
- // @ts-nocheck
2
-
3
- /**
4
- * Configuration for the opt-in cross-organization "For You" notifications feature.
5
- */
6
- export interface CrossOrganizationConfig {
7
- /** Whether cross-organization notifications are active. Defaults to `true` on enable. */
8
- enabled?: boolean;
9
- /** Allowlist of organization IDs to include. When omitted, all indexed orgs are eligible. */
10
- organizationIds?: string[];
11
- /** Organization IDs to exclude. The current organization is always excluded. */
12
- excludeOrganizationIds?: string[];
13
- /** Upper bound on the number of organizations fetched. Defaults to 20. */
14
- maxOrganizations?: number;
15
- /** Feeds the merge applies to. Only `'forYou'` is supported; `'all'` is ignored with a warning. */
16
- feeds?: ('forYou' | 'all')[];
17
- }