@veltdev/sdk-dev 5.0.2-beta.99 → 5.0.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.
- package/app/client/snippyly.model.d.ts +18 -0
- package/app/models/data/comment-annotation.data.model.d.ts +11 -0
- package/app/models/data/comment.data.model.d.ts +18 -0
- package/app/models/data/notification.model.d.ts +20 -0
- package/app/models/data/page-info.model.d.ts +9 -0
- package/app/models/data/reaction-annotation.data.model.d.ts +5 -0
- package/app/models/data/user.data.model.d.ts +46 -0
- package/app/models/element/comment-element.model.d.ts +4 -0
- package/app/models/element/notification-element.model.d.ts +1 -2
- package/app/utils/console.d.ts +25 -0
- package/app/utils/constants.d.ts +34 -5
- package/app/utils/enums.d.ts +1 -1
- package/app/utils/page-info-store.d.ts +29 -0
- package/environments/environment.d.ts +48 -0
- package/package.json +1 -1
- package/velt.css +1 -1
- package/velt.js +95 -95
- package/app/models/element/cross-organization-config.model.d.ts +0 -17
|
@@ -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
|
|
@@ -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
|
+
}
|
|
@@ -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",
|
|
@@ -946,6 +946,8 @@ export declare class CommentElement {
|
|
|
946
946
|
* To disable collapsed comment
|
|
947
947
|
*/
|
|
948
948
|
public disableCollapsedComments: () => void;
|
|
949
|
+
public enableCollapsedRepliesPreview: () => void;
|
|
950
|
+
public disableCollapsedRepliesPreview: () => void;
|
|
949
951
|
|
|
950
952
|
/**
|
|
951
953
|
* To enable query params comments
|
|
@@ -2299,6 +2301,8 @@ export declare class CommentElement {
|
|
|
2299
2301
|
* To disable collapsed comment
|
|
2300
2302
|
*/
|
|
2301
2303
|
private _disableCollapsedComments;
|
|
2304
|
+
private _enableCollapsedRepliesPreview;
|
|
2305
|
+
private _disableCollapsedRepliesPreview;
|
|
2302
2306
|
|
|
2303
2307
|
/**
|
|
2304
2308
|
* To enable query params comments
|
|
@@ -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
|
+
}
|
package/app/utils/constants.d.ts
CHANGED
|
@@ -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
|
-
|
|
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;
|
package/app/utils/enums.d.ts
CHANGED
|
@@ -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;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export declare const environment: {
|
|
2
|
+
production: boolean;
|
|
3
|
+
staging: boolean;
|
|
4
|
+
firebaseLogLevel: string;
|
|
5
|
+
firebaseConfig: {
|
|
6
|
+
apiKey: string;
|
|
7
|
+
authDomain: string;
|
|
8
|
+
projectId: string;
|
|
9
|
+
storageBucket: string;
|
|
10
|
+
messagingSenderId: string;
|
|
11
|
+
appId: string;
|
|
12
|
+
};
|
|
13
|
+
firebaseNotificationsDatabaseURL: string;
|
|
14
|
+
segmentAnalyticsWriteKey: string;
|
|
15
|
+
useEmulators: boolean;
|
|
16
|
+
debugMode: boolean;
|
|
17
|
+
cloudFunction: {
|
|
18
|
+
sa: string;
|
|
19
|
+
getIceServers: string;
|
|
20
|
+
validateClient: string;
|
|
21
|
+
convertRecording: string;
|
|
22
|
+
chatgptCompletion: string;
|
|
23
|
+
rewriterAskAi: string;
|
|
24
|
+
whisperTranscription: string;
|
|
25
|
+
getPlanDetails: string;
|
|
26
|
+
getAllowedDocuments: string;
|
|
27
|
+
getNotificationsForDocuments: string;
|
|
28
|
+
videoBackend: string;
|
|
29
|
+
processRecording: string;
|
|
30
|
+
sdkProxy: string;
|
|
31
|
+
screenshot: string;
|
|
32
|
+
usCentral1: {
|
|
33
|
+
setEncryptedData: string;
|
|
34
|
+
};
|
|
35
|
+
asiaSouthEast1: {
|
|
36
|
+
setEncryptedData: string;
|
|
37
|
+
};
|
|
38
|
+
europeWest1: {
|
|
39
|
+
setEncryptedData: string;
|
|
40
|
+
};
|
|
41
|
+
asiaNorthEast1: {
|
|
42
|
+
setEncryptedData: string;
|
|
43
|
+
};
|
|
44
|
+
australiaSouthEast1: {
|
|
45
|
+
setEncryptedData: string;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veltdev/sdk-dev",
|
|
3
|
-
"version": "5.0.2
|
|
3
|
+
"version": "5.0.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": [
|
package/velt.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
html{--velt-base-rem-unit: 1}*[data-snippyly-element=true],*[data-velt-element=true]{font-family:var(--velt-default-font-family)}velt-wireframe{display:none!important}body.velt-pin-dragging iframe{pointer-events:none!important}
|
|
1
|
+
html{--velt-base-rem-unit: 1;background-color:#000}*[data-snippyly-element=true],*[data-velt-element=true]{font-family:var(--velt-default-font-family)}velt-wireframe{display:none!important}body.velt-pin-dragging iframe{pointer-events:none!important}
|