@veltdev/sdk-staging 5.0.3 → 5.0.4
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.
|
@@ -15,6 +15,13 @@ import { CommentAnnotationViews } from "./views.data.model";
|
|
|
15
15
|
export interface CommentAnnotationVisibilityConfig {
|
|
16
16
|
type: CommentVisibilityType;
|
|
17
17
|
organizationId?: string;
|
|
18
|
+
/** Organization IDs for 'organizationPrivate' visibility — mirrors CommentVisibilityConfig.organizationIds (display-only). */
|
|
19
|
+
organizationIds?: string[];
|
|
20
|
+
/**
|
|
21
|
+
* User IDs that can see the comment (display-only mirror of the self tokens in
|
|
22
|
+
* `context.accessFields`). For non-public comments this ALWAYS includes the author's
|
|
23
|
+
* userId, reflecting the author self-token invariant (AC-002).
|
|
24
|
+
*/
|
|
18
25
|
userIds?: string[];
|
|
19
26
|
}
|
|
20
27
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ResolverActions } from "../../utils/enums";
|
|
1
|
+
import { ResolverActions, CommentResolverSaveEvent } from "../../utils/enums";
|
|
2
2
|
import { PartialAttachment } from "./attachment-resolver.data.model";
|
|
3
3
|
import { BaseMetadata } from "./base-metadata.data.model";
|
|
4
4
|
import { CommentAnnotation } from "./comment-annotation.data.model";
|
|
@@ -25,9 +25,21 @@ export interface SaveCommentResolverRequest {
|
|
|
25
25
|
commentAnnotation: {
|
|
26
26
|
[key: string]: PartialCommentAnnotation;
|
|
27
27
|
};
|
|
28
|
-
|
|
28
|
+
/**
|
|
29
|
+
* The save event. One of the 4 core PII events (`ResolverActions`) or, when the customer
|
|
30
|
+
* opts in via `ResolverConfig.additionalSaveEvents`, a non-core annotation-level event
|
|
31
|
+
* (`CommentResolverSaveEvent`). See specs/comment-resolver iteration-2.
|
|
32
|
+
*/
|
|
33
|
+
event?: ResolverActions | CommentResolverSaveEvent;
|
|
29
34
|
metadata?: BaseMetadata;
|
|
30
35
|
commentId?: string;
|
|
36
|
+
/**
|
|
37
|
+
* The comment the action occurred on, resolved from `commentId` against the
|
|
38
|
+
* payload's `commentAnnotation[*].comments` map. Convenience field so the
|
|
39
|
+
* customer backend does not have to re-derive the target comment from
|
|
40
|
+
* `commentId`. Omitted when `commentId` is absent or no matching comment is found.
|
|
41
|
+
*/
|
|
42
|
+
targetComment?: PartialComment;
|
|
31
43
|
}
|
|
32
44
|
export interface PartialUser {
|
|
33
45
|
userId: string;
|
|
@@ -53,7 +65,7 @@ export interface PartialCommentAnnotationResult {
|
|
|
53
65
|
[annotationId: string]: PartialCommentAnnotation;
|
|
54
66
|
} | null;
|
|
55
67
|
originalData: CommentAnnotation | null;
|
|
56
|
-
eventType?: ResolverActions;
|
|
68
|
+
eventType?: ResolverActions | CommentResolverSaveEvent;
|
|
57
69
|
}
|
|
58
70
|
export interface PartialTargetTextRange {
|
|
59
71
|
text: string;
|
|
@@ -1,6 +1,20 @@
|
|
|
1
|
+
import { CommentResolverSaveEvent } from "../../utils/enums";
|
|
1
2
|
export interface ResolverEndpointConfig {
|
|
2
3
|
url: string;
|
|
3
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Request headers. Either a static object (captured once) OR an async function
|
|
6
|
+
* resolved on EVERY request — use the function form to forward a short-lived
|
|
7
|
+
* per-user token (re-evaluated per retry attempt, so each retry gets a fresh token).
|
|
8
|
+
*/
|
|
9
|
+
headers?: Record<string, string> | (() => Promise<Record<string, string>>);
|
|
10
|
+
/**
|
|
11
|
+
* Forwarded to `fetch()` so cookie/session auth works for resolver endpoints.
|
|
12
|
+
* When unset the `credentials` key is omitted from the request, so `fetch` keeps
|
|
13
|
+
* its browser default of `'same-origin'` — byte-identical to the prior behavior
|
|
14
|
+
* (same-origin cookies are still sent). Set `'include'` for cross-origin cookie/
|
|
15
|
+
* session auth, or `'omit'` to explicitly suppress credentials.
|
|
16
|
+
*/
|
|
17
|
+
credentials?: 'include' | 'same-origin' | 'omit';
|
|
4
18
|
}
|
|
5
19
|
export interface ResolverConfig {
|
|
6
20
|
resolveTimeout?: number;
|
|
@@ -10,10 +24,21 @@ export interface ResolverConfig {
|
|
|
10
24
|
resolveUsersConfig?: ResolveUsersConfig;
|
|
11
25
|
fieldsToRemove?: string[];
|
|
12
26
|
additionalFields?: string[];
|
|
27
|
+
/**
|
|
28
|
+
* Opt-in list of additional (non-core) annotation-level save events the customer
|
|
29
|
+
* wants delivered to the existing save endpoint, beyond the 4 core PII events
|
|
30
|
+
* (add/update/delete). Each entry's `event` is a `CommentResolverSaveEvent`.
|
|
31
|
+
* Array-of-objects for forward-extensibility. Absent/empty ⇒ iteration-1 behavior
|
|
32
|
+
* (no extra events) — see specs/comment-resolver iteration-2.
|
|
33
|
+
*/
|
|
34
|
+
additionalSaveEvents?: AdditionalSaveEventConfig[];
|
|
13
35
|
getConfig?: ResolverEndpointConfig;
|
|
14
36
|
saveConfig?: ResolverEndpointConfig;
|
|
15
37
|
deleteConfig?: ResolverEndpointConfig;
|
|
16
38
|
}
|
|
39
|
+
export interface AdditionalSaveEventConfig {
|
|
40
|
+
event: CommentResolverSaveEvent;
|
|
41
|
+
}
|
|
17
42
|
export interface ResolveUsersConfig {
|
|
18
43
|
organization?: boolean;
|
|
19
44
|
folder?: boolean;
|
package/app/utils/enums.d.ts
CHANGED
|
@@ -33,6 +33,31 @@ export declare enum ResolverActions {
|
|
|
33
33
|
RECORDER_ANNOTATION_DELETE = "recorder_annotation.delete",
|
|
34
34
|
ACTIVITY_SAVE = "activity.save"
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Opt-in additional (non-core) comment save events for the Comment Annotations Resolver
|
|
38
|
+
* (specs/comment-resolver iteration-2). Values mirror the non-core `CommentActivityActionTypes`
|
|
39
|
+
* (single source of truth — enforced by a unit test). A self-hosting customer lists these in
|
|
40
|
+
* `ResolverConfig.additionalSaveEvents` to also receive annotation-level events (status change,
|
|
41
|
+
* priority change, assign, …) on the existing save endpoint. The 4 core events keep using
|
|
42
|
+
* `ResolverActions`. Kept in enums.ts (a leaf module) to avoid a
|
|
43
|
+
* resolver.data.model ↔ comment-resolver.data.model import cycle.
|
|
44
|
+
*/
|
|
45
|
+
export declare enum CommentResolverSaveEvent {
|
|
46
|
+
STATUS_CHANGE = "comment_annotation.status_change",
|
|
47
|
+
PRIORITY_CHANGE = "comment_annotation.priority_change",
|
|
48
|
+
ASSIGN = "comment_annotation.assign",
|
|
49
|
+
ACCESS_MODE_CHANGE = "comment_annotation.access_mode_change",
|
|
50
|
+
CUSTOM_LIST_CHANGE = "comment_annotation.custom_list_change",
|
|
51
|
+
APPROVE = "comment_annotation.approve",
|
|
52
|
+
ACCEPT = "comment.accept",
|
|
53
|
+
REJECT = "comment.reject",
|
|
54
|
+
SUGGESTION_ACCEPT = "comment_annotation.suggestion_accept",
|
|
55
|
+
SUGGESTION_REJECT = "comment_annotation.suggestion_reject",
|
|
56
|
+
REACTION_ADD = "comment.reaction_add",
|
|
57
|
+
REACTION_DELETE = "comment.reaction_delete",
|
|
58
|
+
SUBSCRIBE = "comment_annotation.subscribe",
|
|
59
|
+
UNSUBSCRIBE = "comment_annotation.unsubscribe"
|
|
60
|
+
}
|
|
36
61
|
export declare const CommentEventTypes: {
|
|
37
62
|
readonly ADD_COMMENT_ANNOTATION: "addCommentAnnotation";
|
|
38
63
|
readonly ADD_COMMENT_ANNOTATION_DRAFT: "addCommentAnnotationDraft";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veltdev/sdk-staging",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.4",
|
|
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": [
|