@speakai/shared 2.1.38 → 2.1.40
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/dist/enums/label.d.ts +27 -2
- package/dist/enums/label.d.ts.map +1 -1
- package/dist/enums/label.js +31 -2
- package/dist/enums/label.js.map +1 -1
- package/dist/enums/notification.d.ts +11 -2
- package/dist/enums/notification.d.ts.map +1 -1
- package/dist/enums/notification.js +9 -0
- package/dist/enums/notification.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/label.d.ts +137 -28
- package/dist/interfaces/label.d.ts.map +1 -1
- package/dist/interfaces/media.d.ts +4 -0
- package/dist/interfaces/media.d.ts.map +1 -1
- package/dist/schemas/dashboard-spec.schema.d.ts +5 -5
- package/dist/utils/anchor.d.ts +33 -0
- package/dist/utils/anchor.d.ts.map +1 -1
- package/dist/utils/anchor.js +52 -8
- package/dist/utils/anchor.js.map +1 -1
- package/dist/utils/label.d.ts +45 -0
- package/dist/utils/label.d.ts.map +1 -0
- package/dist/utils/label.js +111 -0
- package/dist/utils/label.js.map +1 -0
- package/package.json +1 -1
package/dist/enums/label.d.ts
CHANGED
|
@@ -9,12 +9,37 @@ export declare enum AnchorStatus {
|
|
|
9
9
|
}
|
|
10
10
|
export declare enum DashboardLabelsMode {
|
|
11
11
|
VIEW = "view",
|
|
12
|
-
/**
|
|
12
|
+
/** Link viewers may also apply and remove labels, writing as one of the dashboard's feedback submitters */
|
|
13
13
|
APPLY = "apply"
|
|
14
14
|
}
|
|
15
15
|
export declare enum DashboardCommentsMode {
|
|
16
16
|
VIEW = "view",
|
|
17
|
-
/**
|
|
17
|
+
/** Link viewers may also comment and reply, writing as one of the dashboard's feedback submitters */
|
|
18
18
|
REPLY = "reply"
|
|
19
19
|
}
|
|
20
|
+
/** status query of GET /v1/labels */
|
|
21
|
+
export declare enum LabelListStatus {
|
|
22
|
+
ACTIVE = "active",
|
|
23
|
+
ARCHIVED = "archived",
|
|
24
|
+
ALL = "all"
|
|
25
|
+
}
|
|
26
|
+
/** action of PATCH /v1/media/:mediaId/labels/:mediaLabelId when reviewing a moved passage */
|
|
27
|
+
export declare enum MediaLabelAction {
|
|
28
|
+
KEEP = "keep",
|
|
29
|
+
REPLACE = "replace"
|
|
30
|
+
}
|
|
31
|
+
/** filter query of GET /v1/media/:mediaId/comments */
|
|
32
|
+
export declare enum CommentListFilter {
|
|
33
|
+
ALL = "all",
|
|
34
|
+
OPEN = "open",
|
|
35
|
+
RESOLVED = "resolved",
|
|
36
|
+
FILE = "file"
|
|
37
|
+
}
|
|
38
|
+
/** Keys of the ready-made label sets POST /v1/labels/speak-sets accepts */
|
|
39
|
+
export declare enum SpeakLabelSet {
|
|
40
|
+
SALES_QA = "sales_qa",
|
|
41
|
+
RESEARCH = "research",
|
|
42
|
+
MEETINGS = "meetings",
|
|
43
|
+
TRANSCRIPT_FEEDBACK = "transcript_feedback"
|
|
44
|
+
}
|
|
20
45
|
//# sourceMappingURL=label.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/enums/label.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,YAAY,iBAAiB;CAC9B;AAED,oBAAY,mBAAmB;IAC7B,IAAI,SAAS;IACb,
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/enums/label.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,YAAY,iBAAiB;CAC9B;AAED,oBAAY,mBAAmB;IAC7B,IAAI,SAAS;IACb,2GAA2G;IAC3G,KAAK,UAAU;CAChB;AAED,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,qGAAqG;IACrG,KAAK,UAAU;CAChB;AAED,qCAAqC;AACrC,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,GAAG,QAAQ;CACZ;AAED,6FAA6F;AAC7F,oBAAY,gBAAgB;IAC1B,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,sDAAsD;AACtD,oBAAY,iBAAiB;IAC3B,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,2EAA2E;AAC3E,oBAAY,aAAa;IACvB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,mBAAmB,wBAAwB;CAC5C"}
|
package/dist/enums/label.js
CHANGED
|
@@ -12,13 +12,42 @@ export var AnchorStatus;
|
|
|
12
12
|
export var DashboardLabelsMode;
|
|
13
13
|
(function (DashboardLabelsMode) {
|
|
14
14
|
DashboardLabelsMode["VIEW"] = "view";
|
|
15
|
-
/**
|
|
15
|
+
/** Link viewers may also apply and remove labels, writing as one of the dashboard's feedback submitters */
|
|
16
16
|
DashboardLabelsMode["APPLY"] = "apply";
|
|
17
17
|
})(DashboardLabelsMode || (DashboardLabelsMode = {}));
|
|
18
18
|
export var DashboardCommentsMode;
|
|
19
19
|
(function (DashboardCommentsMode) {
|
|
20
20
|
DashboardCommentsMode["VIEW"] = "view";
|
|
21
|
-
/**
|
|
21
|
+
/** Link viewers may also comment and reply, writing as one of the dashboard's feedback submitters */
|
|
22
22
|
DashboardCommentsMode["REPLY"] = "reply";
|
|
23
23
|
})(DashboardCommentsMode || (DashboardCommentsMode = {}));
|
|
24
|
+
/** status query of GET /v1/labels */
|
|
25
|
+
export var LabelListStatus;
|
|
26
|
+
(function (LabelListStatus) {
|
|
27
|
+
LabelListStatus["ACTIVE"] = "active";
|
|
28
|
+
LabelListStatus["ARCHIVED"] = "archived";
|
|
29
|
+
LabelListStatus["ALL"] = "all";
|
|
30
|
+
})(LabelListStatus || (LabelListStatus = {}));
|
|
31
|
+
/** action of PATCH /v1/media/:mediaId/labels/:mediaLabelId when reviewing a moved passage */
|
|
32
|
+
export var MediaLabelAction;
|
|
33
|
+
(function (MediaLabelAction) {
|
|
34
|
+
MediaLabelAction["KEEP"] = "keep";
|
|
35
|
+
MediaLabelAction["REPLACE"] = "replace";
|
|
36
|
+
})(MediaLabelAction || (MediaLabelAction = {}));
|
|
37
|
+
/** filter query of GET /v1/media/:mediaId/comments */
|
|
38
|
+
export var CommentListFilter;
|
|
39
|
+
(function (CommentListFilter) {
|
|
40
|
+
CommentListFilter["ALL"] = "all";
|
|
41
|
+
CommentListFilter["OPEN"] = "open";
|
|
42
|
+
CommentListFilter["RESOLVED"] = "resolved";
|
|
43
|
+
CommentListFilter["FILE"] = "file";
|
|
44
|
+
})(CommentListFilter || (CommentListFilter = {}));
|
|
45
|
+
/** Keys of the ready-made label sets POST /v1/labels/speak-sets accepts */
|
|
46
|
+
export var SpeakLabelSet;
|
|
47
|
+
(function (SpeakLabelSet) {
|
|
48
|
+
SpeakLabelSet["SALES_QA"] = "sales_qa";
|
|
49
|
+
SpeakLabelSet["RESEARCH"] = "research";
|
|
50
|
+
SpeakLabelSet["MEETINGS"] = "meetings";
|
|
51
|
+
SpeakLabelSet["TRANSCRIPT_FEEDBACK"] = "transcript_feedback";
|
|
52
|
+
})(SpeakLabelSet || (SpeakLabelSet = {}));
|
|
24
53
|
//# sourceMappingURL=label.js.map
|
package/dist/enums/label.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/enums/label.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,8BAAe,CAAA;AACjB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,6CAA6B,CAAA;AAC/B,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/enums/label.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,8BAAe,CAAA;AACjB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,6CAA6B,CAAA;AAC/B,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,2GAA2G;IAC3G,sCAAe,CAAA;AACjB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,sCAAa,CAAA;IACb,qGAAqG;IACrG,wCAAe,CAAA;AACjB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAED,qCAAqC;AACrC,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,wCAAqB,CAAA;IACrB,8BAAW,CAAA;AACb,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,6FAA6F;AAC7F,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,uCAAmB,CAAA;AACrB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,sDAAsD;AACtD,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,kCAAa,CAAA;IACb,0CAAqB,CAAA;IACrB,kCAAa,CAAA;AACf,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAED,2EAA2E;AAC3E,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;IACrB,4DAA2C,CAAA;AAC7C,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}
|
|
@@ -25,7 +25,11 @@ export declare enum NotificationType {
|
|
|
25
25
|
FOLDER = "folder",
|
|
26
26
|
FIELDS = "fields",
|
|
27
27
|
ASSISTANT_TEMPLATE = "assistant template",
|
|
28
|
-
KNOWLEDGE_BASE = "knowledge base"
|
|
28
|
+
KNOWLEDGE_BASE = "knowledge base",
|
|
29
|
+
LABEL = "label",
|
|
30
|
+
COMMENT = "comment",
|
|
31
|
+
/** A dashboard's shared-link settings changed; mediaId is the dashboardId */
|
|
32
|
+
DASHBOARD = "dashboard"
|
|
29
33
|
}
|
|
30
34
|
export declare enum NotificationAction {
|
|
31
35
|
ANALYZED = "analyzed",
|
|
@@ -40,6 +44,11 @@ export declare enum NotificationAction {
|
|
|
40
44
|
ERROR = "error",
|
|
41
45
|
FAILED = "failed",
|
|
42
46
|
CLONED = "cloned",
|
|
43
|
-
REPLIED = "replied"
|
|
47
|
+
REPLIED = "replied",
|
|
48
|
+
ARCHIVED = "archived",
|
|
49
|
+
RESTORED = "restored",
|
|
50
|
+
MERGED = "merged",
|
|
51
|
+
RESOLVED = "resolved",
|
|
52
|
+
REOPENED = "reopened"
|
|
44
53
|
}
|
|
45
54
|
//# sourceMappingURL=notification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/enums/notification.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;
|
|
1
|
+
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/enums/notification.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IACjC,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,6EAA6E;IAC7E,SAAS,cAAc;CACxB;AAED,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB"}
|
|
@@ -27,6 +27,10 @@ export var NotificationType;
|
|
|
27
27
|
NotificationType["FIELDS"] = "fields";
|
|
28
28
|
NotificationType["ASSISTANT_TEMPLATE"] = "assistant template";
|
|
29
29
|
NotificationType["KNOWLEDGE_BASE"] = "knowledge base";
|
|
30
|
+
NotificationType["LABEL"] = "label";
|
|
31
|
+
NotificationType["COMMENT"] = "comment";
|
|
32
|
+
/** A dashboard's shared-link settings changed; mediaId is the dashboardId */
|
|
33
|
+
NotificationType["DASHBOARD"] = "dashboard";
|
|
30
34
|
})(NotificationType || (NotificationType = {}));
|
|
31
35
|
export var NotificationAction;
|
|
32
36
|
(function (NotificationAction) {
|
|
@@ -43,5 +47,10 @@ export var NotificationAction;
|
|
|
43
47
|
NotificationAction["FAILED"] = "failed";
|
|
44
48
|
NotificationAction["CLONED"] = "cloned";
|
|
45
49
|
NotificationAction["REPLIED"] = "replied";
|
|
50
|
+
NotificationAction["ARCHIVED"] = "archived";
|
|
51
|
+
NotificationAction["RESTORED"] = "restored";
|
|
52
|
+
NotificationAction["MERGED"] = "merged";
|
|
53
|
+
NotificationAction["RESOLVED"] = "resolved";
|
|
54
|
+
NotificationAction["REOPENED"] = "reopened";
|
|
46
55
|
})(NotificationAction || (NotificationAction = {}));
|
|
47
56
|
//# sourceMappingURL=notification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/enums/notification.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/enums/notification.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAgCX;AAhCD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;IACzB,mCAAe,CAAA;IACf,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;IAC7B,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,iDAA6B,CAAA;IAC7B,yCAAqB,CAAA;IACrB,qCAAiB,CAAA;IACjB,iDAA6B,CAAA;IAC7B,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,mDAA+B,CAAA;IAC/B,2CAAuB,CAAA;IACvB,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,2DAAuC,CAAA;IACvC,uDAAmC,CAAA;IACnC,yDAAqC,CAAA;IACrC,+CAA2B,CAAA;IAC3B,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,6DAAyC,CAAA;IACzC,qDAAiC,CAAA;IACjC,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,6EAA6E;IAC7E,2CAAuB,CAAA;AACzB,CAAC,EAhCW,gBAAgB,KAAhB,gBAAgB,QAgC3B;AAED,MAAM,CAAN,IAAY,kBAmBX;AAnBD,WAAY,kBAAkB;IAC5B,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;IACjB,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,yCAAmB,CAAA;IACnB,2CAAqB,CAAA;IACrB,qCAAe,CAAA;IACf,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;AACvB,CAAC,EAnBW,kBAAkB,KAAlB,kBAAkB,QAmB7B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from './interfaces/index.js';
|
|
|
3
3
|
export * from './voice/index.js';
|
|
4
4
|
export * from './utils/transcript.js';
|
|
5
5
|
export * from './utils/anchor.js';
|
|
6
|
+
export * from './utils/label.js';
|
|
6
7
|
export * from './utils/dashboard-spec.js';
|
|
7
8
|
export * from './llm/registry.js';
|
|
8
9
|
export * from './llm/types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export * from './voice/index.js';
|
|
|
7
7
|
// Utils
|
|
8
8
|
export * from './utils/transcript.js';
|
|
9
9
|
export * from './utils/anchor.js';
|
|
10
|
+
export * from './utils/label.js';
|
|
10
11
|
export * from './utils/dashboard-spec.js';
|
|
11
12
|
// LLM model registry — one entry per model; every other model table projects from it.
|
|
12
13
|
export * from './llm/registry.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,aAAa;AACb,cAAc,uBAAuB,CAAC;AAEtC,gFAAgF;AAChF,cAAc,kBAAkB,CAAC;AAEjC,QAAQ;AACR,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAE1C,sFAAsF;AACtF,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAE/B,kFAAkF;AAClF,cAAc,2BAA2B,CAAC;AAE1C,0EAA0E;AAC1E,6EAA6E;AAC7E,kFAAkF;AAClF,mDAAmD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,aAAa;AACb,cAAc,uBAAuB,CAAC;AAEtC,gFAAgF;AAChF,cAAc,kBAAkB,CAAC;AAEjC,QAAQ;AACR,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAE1C,sFAAsF;AACtF,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAE/B,kFAAkF;AAClF,cAAc,2BAA2B,CAAC;AAE1C,0EAA0E;AAC1E,6EAA6E;AAC7E,kFAAkF;AAClF,mDAAmD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { LabelSource, AnchorStatus, DashboardLabelsMode, DashboardCommentsMode } from '../enums/index.js';
|
|
1
|
+
import { LabelSource, AnchorStatus, DashboardLabelsMode, DashboardCommentsMode, MediaLabelAction, SpeakLabelSet } from '../enums/index.js';
|
|
2
|
+
import type { IMediaTranscriptMeta } from './media.js';
|
|
2
3
|
export interface IAnchor {
|
|
3
4
|
/** Index of the first word in flattenWords() order at transcriptRevision */
|
|
4
5
|
startWord: number;
|
|
@@ -28,6 +29,8 @@ export interface IFlatWord {
|
|
|
28
29
|
segmentIndex: number;
|
|
29
30
|
wordIndex: number;
|
|
30
31
|
speakerId: string;
|
|
32
|
+
/** The entity's confidence, or the segment's when it has no entities; absent when not measured */
|
|
33
|
+
confidence?: number;
|
|
31
34
|
}
|
|
32
35
|
/** Inclusive range of flattenWords() indices */
|
|
33
36
|
export interface IWordRange {
|
|
@@ -52,6 +55,8 @@ export interface ILabel {
|
|
|
52
55
|
sortOrder: number;
|
|
53
56
|
/** The creator's display name; absent when they are no longer a member of the company */
|
|
54
57
|
authorName?: string;
|
|
58
|
+
/** The creator's profile picture as a viewable URL; absent when they have none, are inactive or left the company */
|
|
59
|
+
authorImage?: string;
|
|
55
60
|
createdAt: Date;
|
|
56
61
|
updatedAt: Date;
|
|
57
62
|
}
|
|
@@ -67,26 +72,34 @@ export interface ILabelListItem extends ILabel {
|
|
|
67
72
|
/** A labelled span as the API returns it; internal _id and companyId are never sent */
|
|
68
73
|
export interface IMediaLabel {
|
|
69
74
|
mediaLabelId: string;
|
|
70
|
-
userId
|
|
71
|
-
|
|
75
|
+
/** The author's userId; absent on entries written from a dashboard link, which carry reviewerName instead */
|
|
76
|
+
userId?: string;
|
|
77
|
+
/** The author's display name: reviewerName for entries written from a dashboard link; absent when a member left the company */
|
|
72
78
|
authorName?: string;
|
|
79
|
+
/** The author's profile picture as a viewable URL; absent when they have none, are inactive or left the company */
|
|
80
|
+
authorImage?: string;
|
|
73
81
|
mediaId: string;
|
|
74
82
|
labelIds: string[];
|
|
75
83
|
anchor: IAnchor;
|
|
76
84
|
status: AnchorStatus;
|
|
77
85
|
/** Last anchor a person confirmed, kept while status is needs_review */
|
|
78
86
|
lastResolved?: IAnchor;
|
|
79
|
-
/** Set when a
|
|
87
|
+
/** Set when a link viewer applied the label from a dashboard */
|
|
80
88
|
dashboardId?: string;
|
|
89
|
+
/** The name a link viewer wrote as; set with dashboardId */
|
|
90
|
+
reviewerName?: string;
|
|
81
91
|
createdAt: Date;
|
|
82
92
|
updatedAt: Date;
|
|
83
93
|
}
|
|
84
94
|
/** A comment as the API returns it; internal _id and companyId are never sent */
|
|
85
95
|
export interface IMediaComment {
|
|
86
96
|
commentId: string;
|
|
87
|
-
userId
|
|
88
|
-
|
|
97
|
+
/** The author's userId; absent on entries written from a dashboard link, which carry reviewerName instead */
|
|
98
|
+
userId?: string;
|
|
99
|
+
/** The author's display name: reviewerName for entries written from a dashboard link; absent when a member left the company */
|
|
89
100
|
authorName?: string;
|
|
101
|
+
/** The author's profile picture as a viewable URL; absent when they have none, are inactive or left the company */
|
|
102
|
+
authorImage?: string;
|
|
90
103
|
mediaId: string;
|
|
91
104
|
/** Null means the comment is on the whole file */
|
|
92
105
|
anchor: IAnchor | null;
|
|
@@ -101,8 +114,10 @@ export interface IMediaComment {
|
|
|
101
114
|
isResolved: boolean;
|
|
102
115
|
resolvedBy?: string;
|
|
103
116
|
isDeleted: boolean;
|
|
104
|
-
/** Set when a
|
|
117
|
+
/** Set when a link viewer commented from a dashboard */
|
|
105
118
|
dashboardId?: string;
|
|
119
|
+
/** The name a link viewer wrote as; set with dashboardId */
|
|
120
|
+
reviewerName?: string;
|
|
106
121
|
createdAt: Date;
|
|
107
122
|
updatedAt: Date;
|
|
108
123
|
}
|
|
@@ -111,13 +126,11 @@ export interface IMediaCommentThread extends IMediaComment {
|
|
|
111
126
|
replies: IMediaComment[];
|
|
112
127
|
}
|
|
113
128
|
/** GET /v1/media/:mediaId/labels */
|
|
114
|
-
export interface IMediaLabelsResponse {
|
|
115
|
-
transcriptRevision: number;
|
|
129
|
+
export interface IMediaLabelsResponse extends IMediaTranscriptMeta {
|
|
116
130
|
mediaLabels: IMediaLabel[];
|
|
117
131
|
}
|
|
118
132
|
/** GET /v1/media/:mediaId/comments */
|
|
119
|
-
export interface IMediaCommentsResponse {
|
|
120
|
-
transcriptRevision: number;
|
|
133
|
+
export interface IMediaCommentsResponse extends IMediaTranscriptMeta {
|
|
121
134
|
threads: IMediaCommentThread[];
|
|
122
135
|
}
|
|
123
136
|
/** Off and view-only unless the owner saved otherwise */
|
|
@@ -133,8 +146,6 @@ export interface IDashboardCommentsSettings {
|
|
|
133
146
|
}
|
|
134
147
|
/** The labels and comments keys of dashboard.settings, saved with POST/PUT /v1/dashboards */
|
|
135
148
|
export interface IDashboardAnnotationSettings {
|
|
136
|
-
/** Team members a viewer may write labels and comments as; active members of the company */
|
|
137
|
-
reviewerUserIds: string[];
|
|
138
149
|
labels: IDashboardLabelsSettings;
|
|
139
150
|
comments: IDashboardCommentsSettings;
|
|
140
151
|
}
|
|
@@ -145,11 +156,6 @@ export interface ILinkLabel {
|
|
|
145
156
|
description?: string;
|
|
146
157
|
parentId: string | null;
|
|
147
158
|
}
|
|
148
|
-
/** A reviewer a dashboard viewer may write as; names only, never emails */
|
|
149
|
-
export interface ILinkMember {
|
|
150
|
-
userId: string;
|
|
151
|
-
name: string;
|
|
152
|
-
}
|
|
153
159
|
/** annotationSettings on GET /v1/embed/insight for dashboard links */
|
|
154
160
|
export interface IPublicAnnotationSettings {
|
|
155
161
|
labels: {
|
|
@@ -166,24 +172,25 @@ export interface IPublicAnnotationSettings {
|
|
|
166
172
|
isEnabled: boolean;
|
|
167
173
|
mode: DashboardCommentsMode;
|
|
168
174
|
};
|
|
169
|
-
/**
|
|
170
|
-
reviewers:
|
|
175
|
+
/** Names a viewer may write as: the dashboard's feedback submitters; empty unless a write mode is on */
|
|
176
|
+
reviewers: string[];
|
|
177
|
+
/** The viewer may type any name: exactly when feedback allows other submitters and lists at least one name */
|
|
178
|
+
allowOtherReviewer: boolean;
|
|
171
179
|
}
|
|
172
180
|
/** A labelled span on GET /v1/embed/media/:mediaId/labels, narrowed to the labels the link shows */
|
|
173
|
-
export type ILinkMediaLabel = Pick<IMediaLabel, 'mediaLabelId' | 'mediaId' | 'labelIds' | 'anchor' | 'status' | 'lastResolved' | '
|
|
174
|
-
/** The author's display name, or "Team member" when
|
|
181
|
+
export type ILinkMediaLabel = Pick<IMediaLabel, 'mediaLabelId' | 'mediaId' | 'labelIds' | 'anchor' | 'status' | 'lastResolved' | 'dashboardId' | 'createdAt' | 'updatedAt'> & {
|
|
182
|
+
/** The author's display name, the reviewerName of a link entry, or "Team member" when a member has none or left the company; link holders never get userIds */
|
|
175
183
|
authorName: string;
|
|
176
184
|
};
|
|
177
185
|
/** GET /v1/embed/media/:mediaId/labels */
|
|
178
|
-
export interface ILinkMediaLabelsResponse {
|
|
179
|
-
transcriptRevision: number;
|
|
186
|
+
export interface ILinkMediaLabelsResponse extends IMediaTranscriptMeta {
|
|
180
187
|
/** Only the labels used on this media */
|
|
181
188
|
labels: ILinkLabel[];
|
|
182
189
|
mediaLabels: ILinkMediaLabel[];
|
|
183
190
|
}
|
|
184
191
|
/** A comment as a link viewer sees it: the author's name, no resolver or span link */
|
|
185
|
-
export type ILinkComment = Pick<IMediaComment, 'commentId' | 'mediaId' | 'anchor' | 'parentId' | 'body' | 'status' | 'lastResolved' | 'isResolved' | 'isDeleted' | '
|
|
186
|
-
/** The author's display name, or "Team member" when
|
|
192
|
+
export type ILinkComment = Pick<IMediaComment, 'commentId' | 'mediaId' | 'anchor' | 'parentId' | 'body' | 'status' | 'lastResolved' | 'isResolved' | 'isDeleted' | 'dashboardId' | 'createdAt' | 'updatedAt'> & {
|
|
193
|
+
/** The author's display name, the reviewerName of a link entry, or "Team member" when a member has none or left the company; link holders never get userIds */
|
|
187
194
|
authorName: string;
|
|
188
195
|
};
|
|
189
196
|
/** A thread starter with its replies, oldest first */
|
|
@@ -191,8 +198,110 @@ export interface ILinkCommentThread extends ILinkComment {
|
|
|
191
198
|
replies: ILinkComment[];
|
|
192
199
|
}
|
|
193
200
|
/** GET /v1/embed/media/:mediaId/comments */
|
|
194
|
-
export interface ILinkMediaCommentsResponse {
|
|
195
|
-
transcriptRevision: number;
|
|
201
|
+
export interface ILinkMediaCommentsResponse extends IMediaTranscriptMeta {
|
|
196
202
|
threads: ILinkCommentThread[];
|
|
197
203
|
}
|
|
204
|
+
/** POST /v1/labels */
|
|
205
|
+
export interface ICreateLabelBody {
|
|
206
|
+
name: string;
|
|
207
|
+
/** A group holds labels; it takes no color or parentId */
|
|
208
|
+
isGroup?: boolean;
|
|
209
|
+
description?: string;
|
|
210
|
+
color?: string;
|
|
211
|
+
parentId?: string | null;
|
|
212
|
+
sortOrder?: number;
|
|
213
|
+
}
|
|
214
|
+
/** PUT /v1/labels/:labelId; at least one key */
|
|
215
|
+
export type IUpdateLabelBody = Partial<Omit<ICreateLabelBody, 'isGroup'>>;
|
|
216
|
+
/** GET /v1/labels */
|
|
217
|
+
export interface ILabelListResponse {
|
|
218
|
+
labels: ILabelListItem[];
|
|
219
|
+
}
|
|
220
|
+
/** POST /v1/labels/:labelId/archive; a group archives its labels too */
|
|
221
|
+
export interface ILabelArchiveResult {
|
|
222
|
+
labelId: string;
|
|
223
|
+
archivedCount: number;
|
|
224
|
+
}
|
|
225
|
+
/** POST /v1/labels/:labelId/restore */
|
|
226
|
+
export interface ILabelRestoreResult {
|
|
227
|
+
labelId: string;
|
|
228
|
+
restoredCount: number;
|
|
229
|
+
/** Group labels left archived because an active label already uses the name */
|
|
230
|
+
skippedCount: number;
|
|
231
|
+
}
|
|
232
|
+
/** POST /v1/labels/:labelId/merge */
|
|
233
|
+
export interface IMergeLabelBody {
|
|
234
|
+
targetLabelId: string;
|
|
235
|
+
}
|
|
236
|
+
export interface ILabelMergeResult {
|
|
237
|
+
labelId: string;
|
|
238
|
+
mergedInto: string;
|
|
239
|
+
/** Labelled spans moved to the target */
|
|
240
|
+
movedCount: number;
|
|
241
|
+
}
|
|
242
|
+
/** POST /v1/labels/speak-sets */
|
|
243
|
+
export interface IAddSpeakLabelSetsBody {
|
|
244
|
+
sets: SpeakLabelSet[];
|
|
245
|
+
}
|
|
246
|
+
export interface ISpeakLabelSetsResult {
|
|
247
|
+
groups: ILabelListItem[];
|
|
248
|
+
createdCount: number;
|
|
249
|
+
/** Sets already added, so nothing was created for them */
|
|
250
|
+
skippedSets: SpeakLabelSet[];
|
|
251
|
+
}
|
|
252
|
+
/** POST /v1/media/:mediaId/labels */
|
|
253
|
+
export interface ICreateMediaLabelBody {
|
|
254
|
+
range: IWordRange;
|
|
255
|
+
labelIds: string[];
|
|
256
|
+
expectedTranscriptRevision: number;
|
|
257
|
+
}
|
|
258
|
+
/** PATCH /v1/media/:mediaId/labels/:mediaLabelId: change the labels, or review a passage that moved */
|
|
259
|
+
export type IUpdateMediaLabelBody = {
|
|
260
|
+
labelIds: string[];
|
|
261
|
+
} | {
|
|
262
|
+
action: MediaLabelAction.KEEP;
|
|
263
|
+
} | {
|
|
264
|
+
action: MediaLabelAction.REPLACE;
|
|
265
|
+
range: IWordRange;
|
|
266
|
+
expectedTranscriptRevision: number;
|
|
267
|
+
};
|
|
268
|
+
/** DELETE /v1/media/:mediaId/labels/:mediaLabelId */
|
|
269
|
+
export interface IDeleteMediaLabelResult {
|
|
270
|
+
mediaLabelId: string;
|
|
271
|
+
}
|
|
272
|
+
/** POST /v1/media/:mediaId/comments; a reply (parentId) takes no range or mediaLabelId */
|
|
273
|
+
export interface ICreateMediaCommentBody {
|
|
274
|
+
body: string;
|
|
275
|
+
range?: IWordRange;
|
|
276
|
+
/** Required with range */
|
|
277
|
+
expectedTranscriptRevision?: number;
|
|
278
|
+
parentId?: string;
|
|
279
|
+
mediaLabelId?: string;
|
|
280
|
+
}
|
|
281
|
+
/** PATCH /v1/media/:mediaId/comments/:commentId: edit the body, or resolve or reopen the thread */
|
|
282
|
+
export type IUpdateMediaCommentBody = {
|
|
283
|
+
body: string;
|
|
284
|
+
} | {
|
|
285
|
+
isResolved: boolean;
|
|
286
|
+
};
|
|
287
|
+
/** DELETE /v1/media/:mediaId/comments/:commentId */
|
|
288
|
+
export interface IDeleteMediaCommentResult {
|
|
289
|
+
commentId: string;
|
|
290
|
+
}
|
|
291
|
+
/** The name a dashboard viewer writes as, one of IPublicAnnotationSettings.reviewers unless allowOtherReviewer; sent on every dashboard-link write */
|
|
292
|
+
export interface ILinkReviewerBody {
|
|
293
|
+
reviewerName: string;
|
|
294
|
+
}
|
|
295
|
+
/** POST /v1/embed/media/:mediaId/labels */
|
|
296
|
+
export type ILinkCreateMediaLabelBody = ICreateMediaLabelBody & ILinkReviewerBody;
|
|
297
|
+
/** PATCH /v1/embed/media/:mediaId/labels/:mediaLabelId */
|
|
298
|
+
export interface ILinkUpdateMediaLabelBody extends ILinkReviewerBody {
|
|
299
|
+
labelIds: string[];
|
|
300
|
+
}
|
|
301
|
+
/** POST /v1/embed/media/:mediaId/comments */
|
|
302
|
+
export type ILinkCreateMediaCommentBody = Omit<ICreateMediaCommentBody, 'mediaLabelId'> & ILinkReviewerBody;
|
|
303
|
+
/** PATCH /v1/embed/media/:mediaId/comments/:commentId */
|
|
304
|
+
export interface ILinkUpdateMediaCommentBody extends ILinkReviewerBody {
|
|
305
|
+
body: string;
|
|
306
|
+
}
|
|
198
307
|
//# sourceMappingURL=label.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/interfaces/label.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/interfaces/label.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,10 @@ export interface ISentenceSentiment {
|
|
|
36
36
|
endInSec: number;
|
|
37
37
|
}[];
|
|
38
38
|
}
|
|
39
|
+
/** Revision of the transcript a payload was read at; it increases on every transcript write and is 0 for media saved before revisions existed */
|
|
40
|
+
export interface IMediaTranscriptMeta {
|
|
41
|
+
transcriptRevision: number;
|
|
42
|
+
}
|
|
39
43
|
export interface IMedia {
|
|
40
44
|
_id: string;
|
|
41
45
|
mediaId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/interfaces/media.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/interfaces/media.ts"],"names":[],"mappings":"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"}
|
|
@@ -16349,9 +16349,9 @@ declare const widgetSchemaRaw: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
16349
16349
|
type: z.ZodLiteral<"team-activity">;
|
|
16350
16350
|
config: z.ZodObject<{
|
|
16351
16351
|
metrics: z.ZodArray<z.ZodEnum<{
|
|
16352
|
+
meetings: "meetings";
|
|
16352
16353
|
uploads: "uploads";
|
|
16353
16354
|
minutes: "minutes";
|
|
16354
|
-
meetings: "meetings";
|
|
16355
16355
|
chatUsage: "chatUsage";
|
|
16356
16356
|
lastActive: "lastActive";
|
|
16357
16357
|
}>>;
|
|
@@ -27500,9 +27500,9 @@ declare const dashboardSpecBaseSchema: z.ZodObject<{
|
|
|
27500
27500
|
type: z.ZodLiteral<"team-activity">;
|
|
27501
27501
|
config: z.ZodObject<{
|
|
27502
27502
|
metrics: z.ZodArray<z.ZodEnum<{
|
|
27503
|
+
meetings: "meetings";
|
|
27503
27504
|
uploads: "uploads";
|
|
27504
27505
|
minutes: "minutes";
|
|
27505
|
-
meetings: "meetings";
|
|
27506
27506
|
chatUsage: "chatUsage";
|
|
27507
27507
|
lastActive: "lastActive";
|
|
27508
27508
|
}>>;
|
|
@@ -44115,9 +44115,9 @@ export declare const widgetSchema: z.ZodPreprocess<z.ZodDiscriminatedUnion<[z.Zo
|
|
|
44115
44115
|
type: z.ZodLiteral<"team-activity">;
|
|
44116
44116
|
config: z.ZodObject<{
|
|
44117
44117
|
metrics: z.ZodArray<z.ZodEnum<{
|
|
44118
|
+
meetings: "meetings";
|
|
44118
44119
|
uploads: "uploads";
|
|
44119
44120
|
minutes: "minutes";
|
|
44120
|
-
meetings: "meetings";
|
|
44121
44121
|
chatUsage: "chatUsage";
|
|
44122
44122
|
lastActive: "lastActive";
|
|
44123
44123
|
}>>;
|
|
@@ -55334,9 +55334,9 @@ export declare function buildDashboardSpecSchema(fieldTypes?: FieldTypeMap, fiel
|
|
|
55334
55334
|
type: z.ZodLiteral<"team-activity">;
|
|
55335
55335
|
config: z.ZodObject<{
|
|
55336
55336
|
metrics: z.ZodArray<z.ZodEnum<{
|
|
55337
|
+
meetings: "meetings";
|
|
55337
55338
|
uploads: "uploads";
|
|
55338
55339
|
minutes: "minutes";
|
|
55339
|
-
meetings: "meetings";
|
|
55340
55340
|
chatUsage: "chatUsage";
|
|
55341
55341
|
lastActive: "lastActive";
|
|
55342
55342
|
}>>;
|
|
@@ -66463,9 +66463,9 @@ export declare const dashboardSpecSchema: z.ZodPreprocess<z.ZodObject<{
|
|
|
66463
66463
|
type: z.ZodLiteral<"team-activity">;
|
|
66464
66464
|
config: z.ZodObject<{
|
|
66465
66465
|
metrics: z.ZodArray<z.ZodEnum<{
|
|
66466
|
+
meetings: "meetings";
|
|
66466
66467
|
uploads: "uploads";
|
|
66467
66468
|
minutes: "minutes";
|
|
66468
|
-
meetings: "meetings";
|
|
66469
66469
|
chatUsage: "chatUsage";
|
|
66470
66470
|
lastActive: "lastActive";
|
|
66471
66471
|
}>>;
|
package/dist/utils/anchor.d.ts
CHANGED
|
@@ -7,6 +7,17 @@ import type { IAnchor, IFlatWord, IWordRange } from '../interfaces/label.js';
|
|
|
7
7
|
* punctuation removed. Inner apostrophes and hyphens are kept ("don't", "e-mail").
|
|
8
8
|
*/
|
|
9
9
|
export declare function normalizeWord(word: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Split text into the words flattenWords() counts, so a quote or search lines up with anchor word positions.
|
|
12
|
+
*
|
|
13
|
+
* @param options.keepPunctuation - Also return bare punctuation tokens, with an empty norm, for callers that render every token
|
|
14
|
+
*/
|
|
15
|
+
export declare function tokenizeWords(text: string | undefined | null, options?: {
|
|
16
|
+
keepPunctuation?: boolean;
|
|
17
|
+
}): Array<{
|
|
18
|
+
text: string;
|
|
19
|
+
norm: string;
|
|
20
|
+
}>;
|
|
10
21
|
/**
|
|
11
22
|
* Flatten a transcript into one array of words, in transcript order.
|
|
12
23
|
*
|
|
@@ -18,6 +29,8 @@ export declare function normalizeWord(word: string): string;
|
|
|
18
29
|
* - Segments without entities split their text on whitespace, with times
|
|
19
30
|
* spread evenly across the segment.
|
|
20
31
|
* - Tokens that are empty after normalizeWord() (bare punctuation) are skipped.
|
|
32
|
+
* - confidence comes from the entity when the segment has entities, otherwise
|
|
33
|
+
* from the segment; it is left out when not measured.
|
|
21
34
|
* - Segments are identified by array position; segment ids repeat in live and
|
|
22
35
|
* split transcripts.
|
|
23
36
|
*
|
|
@@ -36,4 +49,24 @@ export declare function flattenWords(transcript: ITranscriptSegment[]): IFlatWor
|
|
|
36
49
|
export declare function buildAnchor(transcript: ITranscriptSegment[], range: IWordRange, transcriptRevision: number): IAnchor;
|
|
37
50
|
/** buildAnchor() for callers that already hold flattenWords() output, to avoid re-flattening. */
|
|
38
51
|
export declare function buildAnchorFromWords(words: IFlatWord[], range: IWordRange, transcriptRevision: number): IAnchor;
|
|
52
|
+
/**
|
|
53
|
+
* Whether an anchor was taken from this transcript revision, so its word positions still apply.
|
|
54
|
+
*
|
|
55
|
+
* @param anchor - The anchor, or anything carrying its transcriptRevision
|
|
56
|
+
* @param transcriptRevision - Revision of the transcript on screen; undefined while it loads
|
|
57
|
+
* @param wordCount - flattenWords() length; when given, the anchor's word range must also fit inside it
|
|
58
|
+
*/
|
|
59
|
+
export declare function isAnchorOnRevision<T extends Pick<IAnchor, 'transcriptRevision'> & Partial<Pick<IAnchor, 'startWord' | 'endWord'>>>(anchor: T | null | undefined, transcriptRevision: number | undefined, wordCount?: number): anchor is T;
|
|
60
|
+
/**
|
|
61
|
+
* Delays between refetches while labels or comments lag the transcript; re-anchoring runs on the
|
|
62
|
+
* server after a transcript save, so anchors briefly carry the older revision.
|
|
63
|
+
*/
|
|
64
|
+
export declare const STALE_ANCHOR_RETRY_DELAYS_MS: readonly number[];
|
|
65
|
+
/**
|
|
66
|
+
* Whether any anchor was taken from a transcript revision older than this one, so it is still being re-anchored.
|
|
67
|
+
*
|
|
68
|
+
* @param anchors - Anchors of the labels and comments on screen; null for a whole-file comment
|
|
69
|
+
* @param transcriptRevision - Revision to compare against
|
|
70
|
+
*/
|
|
71
|
+
export declare function hasAnchorsBehind(anchors: ReadonlyArray<Pick<IAnchor, 'transcriptRevision'> | null | undefined>, transcriptRevision: number): boolean;
|
|
39
72
|
//# sourceMappingURL=anchor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../src/utils/anchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAuB,MAAM,6BAA6B,CAAC;AAC3F,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAQ7E;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED
|
|
1
|
+
{"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../src/utils/anchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAuB,MAAM,6BAA6B,CAAC;AAC3F,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAQ7E;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC/B,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAMvC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAAE,CA4C1E;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,kBAAkB,EAAE,EAChC,KAAK,EAAE,UAAU,EACjB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAET;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,UAAU,EACjB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAoBT;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC,EAChI,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAC5B,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,IAAI,CAAC,CAIb;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAA6B,CAAC;AAExF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAC9E,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAET"}
|
package/dist/utils/anchor.js
CHANGED
|
@@ -16,6 +16,18 @@ export function normalizeWord(word) {
|
|
|
16
16
|
.replace(CURLY_APOSTROPHE, "'")
|
|
17
17
|
.replace(EDGE_PUNCTUATION, '');
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Split text into the words flattenWords() counts, so a quote or search lines up with anchor word positions.
|
|
21
|
+
*
|
|
22
|
+
* @param options.keepPunctuation - Also return bare punctuation tokens, with an empty norm, for callers that render every token
|
|
23
|
+
*/
|
|
24
|
+
export function tokenizeWords(text, options = {}) {
|
|
25
|
+
return (text ?? '')
|
|
26
|
+
.split(WHITESPACE)
|
|
27
|
+
.filter((token) => token !== '')
|
|
28
|
+
.map((token) => ({ text: token, norm: normalizeWord(token) }))
|
|
29
|
+
.filter((token) => options.keepPunctuation || token.norm !== '');
|
|
30
|
+
}
|
|
19
31
|
/**
|
|
20
32
|
* Flatten a transcript into one array of words, in transcript order.
|
|
21
33
|
*
|
|
@@ -27,6 +39,8 @@ export function normalizeWord(word) {
|
|
|
27
39
|
* - Segments without entities split their text on whitespace, with times
|
|
28
40
|
* spread evenly across the segment.
|
|
29
41
|
* - Tokens that are empty after normalizeWord() (bare punctuation) are skipped.
|
|
42
|
+
* - confidence comes from the entity when the segment has entities, otherwise
|
|
43
|
+
* from the segment; it is left out when not measured.
|
|
30
44
|
* - Segments are identified by array position; segment ids repeat in live and
|
|
31
45
|
* split transcripts.
|
|
32
46
|
*
|
|
@@ -43,11 +57,8 @@ export function flattenWords(transcript) {
|
|
|
43
57
|
const segmentStart = instanceTime(segment.instances?.[0], 'start') ?? previousEnd;
|
|
44
58
|
const segmentEnd = instanceTime(segment.instances?.[0], 'end') ?? segmentStart;
|
|
45
59
|
let wordIndex = 0;
|
|
46
|
-
const pushTokens = (text, start, end) => {
|
|
47
|
-
const tokens = (text
|
|
48
|
-
.split(WHITESPACE)
|
|
49
|
-
.map((token) => ({ text: token, norm: normalizeWord(token) }))
|
|
50
|
-
.filter((token) => token.norm !== '');
|
|
60
|
+
const pushTokens = (text, start, end, confidence) => {
|
|
61
|
+
const tokens = tokenizeWords(text);
|
|
51
62
|
tokens.forEach((token, i) => {
|
|
52
63
|
words.push({
|
|
53
64
|
text: token.text,
|
|
@@ -57,12 +68,13 @@ export function flattenWords(transcript) {
|
|
|
57
68
|
segmentIndex,
|
|
58
69
|
wordIndex: wordIndex++,
|
|
59
70
|
speakerId,
|
|
71
|
+
...(confidence === undefined ? {} : { confidence }),
|
|
60
72
|
});
|
|
61
73
|
});
|
|
62
74
|
};
|
|
63
75
|
const entities = segment.entities ?? [];
|
|
64
76
|
if (entities.length === 0) {
|
|
65
|
-
pushTokens(segment.text, segmentStart, segmentEnd);
|
|
77
|
+
pushTokens(segment.text, segmentStart, segmentEnd, finiteOrUndefined(segment.confidence));
|
|
66
78
|
return;
|
|
67
79
|
}
|
|
68
80
|
let cursor = segmentStart;
|
|
@@ -70,7 +82,7 @@ export function flattenWords(transcript) {
|
|
|
70
82
|
// Entities without timings continue from the previous word so times never go backwards
|
|
71
83
|
const start = finiteOrUndefined(entity.instances?.startInSec) ?? cursor;
|
|
72
84
|
const end = finiteOrUndefined(entity.instances?.endInSec) ?? start;
|
|
73
|
-
pushTokens(entity.text, start, end);
|
|
85
|
+
pushTokens(entity.text, start, end, finiteOrUndefined(entity.confidence));
|
|
74
86
|
cursor = end;
|
|
75
87
|
}
|
|
76
88
|
});
|
|
@@ -107,12 +119,44 @@ export function buildAnchorFromWords(words, range, transcriptRevision) {
|
|
|
107
119
|
transcriptRevision,
|
|
108
120
|
};
|
|
109
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Whether an anchor was taken from this transcript revision, so its word positions still apply.
|
|
124
|
+
*
|
|
125
|
+
* @param anchor - The anchor, or anything carrying its transcriptRevision
|
|
126
|
+
* @param transcriptRevision - Revision of the transcript on screen; undefined while it loads
|
|
127
|
+
* @param wordCount - flattenWords() length; when given, the anchor's word range must also fit inside it
|
|
128
|
+
*/
|
|
129
|
+
export function isAnchorOnRevision(anchor, transcriptRevision, wordCount) {
|
|
130
|
+
if (!anchor || transcriptRevision === undefined || anchor.transcriptRevision !== transcriptRevision)
|
|
131
|
+
return false;
|
|
132
|
+
if (wordCount === undefined)
|
|
133
|
+
return true;
|
|
134
|
+
return isRangeInside(wordCount, { start: anchor.startWord, end: anchor.endWord });
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Delays between refetches while labels or comments lag the transcript; re-anchoring runs on the
|
|
138
|
+
* server after a transcript save, so anchors briefly carry the older revision.
|
|
139
|
+
*/
|
|
140
|
+
export const STALE_ANCHOR_RETRY_DELAYS_MS = [1000, 2000, 4000, 8000];
|
|
141
|
+
/**
|
|
142
|
+
* Whether any anchor was taken from a transcript revision older than this one, so it is still being re-anchored.
|
|
143
|
+
*
|
|
144
|
+
* @param anchors - Anchors of the labels and comments on screen; null for a whole-file comment
|
|
145
|
+
* @param transcriptRevision - Revision to compare against
|
|
146
|
+
*/
|
|
147
|
+
export function hasAnchorsBehind(anchors, transcriptRevision) {
|
|
148
|
+
return anchors.some((anchor) => !!anchor && anchor.transcriptRevision < transcriptRevision);
|
|
149
|
+
}
|
|
150
|
+
function isRangeInside(wordCount, range) {
|
|
151
|
+
const { start, end } = range;
|
|
152
|
+
return Number.isInteger(start) && Number.isInteger(end) && start >= 0 && end >= start && end < wordCount;
|
|
153
|
+
}
|
|
110
154
|
function assertValidRange(words, range) {
|
|
111
155
|
const { start, end } = range ?? {};
|
|
112
156
|
if (!Number.isInteger(start) || !Number.isInteger(end)) {
|
|
113
157
|
throw new RangeError(`Word range must use integer indices, got ${start}..${end}`);
|
|
114
158
|
}
|
|
115
|
-
if (
|
|
159
|
+
if (!isRangeInside(words.length, range)) {
|
|
116
160
|
throw new RangeError(`Word range ${start}..${end} is outside 0..${words.length - 1}`);
|
|
117
161
|
}
|
|
118
162
|
}
|
package/dist/utils/anchor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor.js","sourceRoot":"","sources":["../../src/utils/anchor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAClC,MAAM,UAAU,GAAG,KAAK,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI;SACR,SAAS,CAAC,KAAK,CAAC;SAChB,WAAW,EAAE;SACb,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"anchor.js","sourceRoot":"","sources":["../../src/utils/anchor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { CommentListFilter, SpeakLabelSet, UserRole } from '../enums/index.js';
|
|
2
|
+
import type { IMediaComment } from '../interfaces/label.js';
|
|
3
|
+
import type { IUserPermission } from '../interfaces/user.js';
|
|
4
|
+
export declare const LABEL_NAME_MAX = 80;
|
|
5
|
+
export declare const LABEL_DESCRIPTION_MAX = 500;
|
|
6
|
+
export declare const LABEL_SORT_ORDER_MAX = 1000000;
|
|
7
|
+
export declare const MAX_LABELS_PER_SPAN = 20;
|
|
8
|
+
export declare const MEDIA_COMMENT_BODY_MAX = 5000;
|
|
9
|
+
export declare const MAX_DASHBOARD_LABEL_GROUPS = 100;
|
|
10
|
+
/** labelId, mediaLabelId and commentId; also keeps the id safe inside a query filter */
|
|
11
|
+
export declare const PUBLIC_ID_PATTERN: RegExp;
|
|
12
|
+
/** #rrggbb, any case; stored lowercase */
|
|
13
|
+
export declare const LABEL_COLOR_PATTERN: RegExp;
|
|
14
|
+
/** Colours the label colour picker offers, in order */
|
|
15
|
+
export declare const LABEL_COLOR_PRESETS: readonly ["#0d9488", "#d97706", "#e11d48", "#0284c7", "#7c3aed", "#65a30d", "#ea580c", "#db2777", "#4f46e5", "#0891b2", "#475569", "#92400e"];
|
|
16
|
+
/** Colour a label gets when it is created without one */
|
|
17
|
+
export declare const DEFAULT_LABEL_COLOR: "#0d9488";
|
|
18
|
+
export interface ISpeakLabelSetDefinition {
|
|
19
|
+
/** Name of the label group the set creates */
|
|
20
|
+
name: string;
|
|
21
|
+
labels: ReadonlyArray<{
|
|
22
|
+
name: string;
|
|
23
|
+
color: string;
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
26
|
+
/** Ready-made label groups POST /v1/labels/speak-sets creates; colours are presets so the picker shows them as selected */
|
|
27
|
+
export declare const SPEAK_LABEL_SETS: Readonly<Record<SpeakLabelSet, ISpeakLabelSetDefinition>>;
|
|
28
|
+
export type ILabelPermissionDefaults = Required<Pick<IUserPermission, 'labels' | 'comments'>>;
|
|
29
|
+
/** Labels and comments permissions a user gets by role; also the fallback for users saved before these groups existed */
|
|
30
|
+
export declare const LABEL_PERMISSION_DEFAULTS: Readonly<Record<UserRole, ILabelPermissionDefaults>>;
|
|
31
|
+
/** A label name as stored: trimmed, with runs of whitespace collapsed to one space */
|
|
32
|
+
export declare function normalizeLabelName(name: string): string;
|
|
33
|
+
/** The key two label names are compared by when checking for a duplicate; the server stores it as nameLower */
|
|
34
|
+
export declare function labelNameKey(name: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* The key two dashboard reviewer names are compared by: compatibility forms folded (NFKC), so a
|
|
37
|
+
* look-alike width or space cannot pass for another name, then trimmed, spaces collapsed, lowercased.
|
|
38
|
+
* The server stores it as reviewerKey and matches own entries on it.
|
|
39
|
+
*/
|
|
40
|
+
export declare function reviewerNameKey(name: string): string;
|
|
41
|
+
/** Whether a comment thread belongs under a comments filter, by its starter; ALL matches every thread */
|
|
42
|
+
export declare function matchesCommentFilter(thread: Pick<IMediaComment, 'isResolved'> & {
|
|
43
|
+
anchor?: IMediaComment['anchor'];
|
|
44
|
+
}, filter: CommentListFilter): boolean;
|
|
45
|
+
//# sourceMappingURL=label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/utils/label.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,oBAAoB,UAAY,CAAC;AAC9C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,QAA0B,CAAC;AACzD,0CAA0C;AAC1C,eAAO,MAAM,mBAAmB,QAAoB,CAAC;AAErD,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,+IAatB,CAAC;AAEX,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,WAAyB,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED,2HAA2H;AAC3H,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAuCtF,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC;AAQ9F,yHAAyH;AACzH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAO1F,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,+GAA+G;AAC/G,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,yGAAyG;AACzG,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;CAAE,EAChF,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAKT"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { CommentListFilter, SpeakLabelSet, UserRole } from '../enums/index.js';
|
|
2
|
+
// Limits the server enforces on labels and comments; front ends and the MCP read the same values.
|
|
3
|
+
export const LABEL_NAME_MAX = 80;
|
|
4
|
+
export const LABEL_DESCRIPTION_MAX = 500;
|
|
5
|
+
export const LABEL_SORT_ORDER_MAX = 1_000_000;
|
|
6
|
+
export const MAX_LABELS_PER_SPAN = 20;
|
|
7
|
+
export const MEDIA_COMMENT_BODY_MAX = 5000;
|
|
8
|
+
export const MAX_DASHBOARD_LABEL_GROUPS = 100;
|
|
9
|
+
/** labelId, mediaLabelId and commentId; also keeps the id safe inside a query filter */
|
|
10
|
+
export const PUBLIC_ID_PATTERN = /^[A-Za-z0-9_-]{1,64}$/;
|
|
11
|
+
/** #rrggbb, any case; stored lowercase */
|
|
12
|
+
export const LABEL_COLOR_PATTERN = /^#[0-9a-f]{6}$/i;
|
|
13
|
+
/** Colours the label colour picker offers, in order */
|
|
14
|
+
export const LABEL_COLOR_PRESETS = [
|
|
15
|
+
'#0d9488',
|
|
16
|
+
'#d97706',
|
|
17
|
+
'#e11d48',
|
|
18
|
+
'#0284c7',
|
|
19
|
+
'#7c3aed',
|
|
20
|
+
'#65a30d',
|
|
21
|
+
'#ea580c',
|
|
22
|
+
'#db2777',
|
|
23
|
+
'#4f46e5',
|
|
24
|
+
'#0891b2',
|
|
25
|
+
'#475569',
|
|
26
|
+
'#92400e',
|
|
27
|
+
];
|
|
28
|
+
/** Colour a label gets when it is created without one */
|
|
29
|
+
export const DEFAULT_LABEL_COLOR = LABEL_COLOR_PRESETS[0];
|
|
30
|
+
/** Ready-made label groups POST /v1/labels/speak-sets creates; colours are presets so the picker shows them as selected */
|
|
31
|
+
export const SPEAK_LABEL_SETS = {
|
|
32
|
+
[SpeakLabelSet.SALES_QA]: {
|
|
33
|
+
name: 'Sales QA',
|
|
34
|
+
labels: [
|
|
35
|
+
{ name: 'Unprofessional', color: '#ea580c' },
|
|
36
|
+
{ name: 'Slang', color: '#d97706' },
|
|
37
|
+
{ name: 'Objection', color: '#7c3aed' },
|
|
38
|
+
{ name: 'Great moment', color: '#65a30d' },
|
|
39
|
+
{ name: 'Compliance risk', color: '#e11d48' },
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
[SpeakLabelSet.RESEARCH]: {
|
|
43
|
+
name: 'Research',
|
|
44
|
+
labels: [
|
|
45
|
+
{ name: 'Pain point', color: '#e11d48' },
|
|
46
|
+
{ name: 'Motivation', color: '#65a30d' },
|
|
47
|
+
{ name: 'Quote for report', color: '#4f46e5' },
|
|
48
|
+
{ name: 'Surprise', color: '#db2777' },
|
|
49
|
+
{ name: 'Follow-up', color: '#0284c7' },
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
[SpeakLabelSet.MEETINGS]: {
|
|
53
|
+
name: 'Meetings',
|
|
54
|
+
labels: [
|
|
55
|
+
{ name: 'Decision', color: '#65a30d' },
|
|
56
|
+
{ name: 'Action item', color: '#4f46e5' },
|
|
57
|
+
{ name: 'Risk', color: '#e11d48' },
|
|
58
|
+
{ name: 'Open question', color: '#d97706' },
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
[SpeakLabelSet.TRANSCRIPT_FEEDBACK]: {
|
|
62
|
+
name: 'Transcript feedback',
|
|
63
|
+
labels: [
|
|
64
|
+
{ name: 'Wrong split', color: '#ea580c' },
|
|
65
|
+
{ name: 'Misheard word', color: '#e11d48' },
|
|
66
|
+
{ name: 'Wrong speaker', color: '#7c3aed' },
|
|
67
|
+
{ name: 'Bad translation', color: '#0284c7' },
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
// Frozen because owner and admin share this one object
|
|
72
|
+
const ALL_LABEL_PERMISSIONS = Object.freeze({
|
|
73
|
+
labels: Object.freeze({ create: true, update: true, delete: true, assign: true }),
|
|
74
|
+
comments: Object.freeze({ create: true, update: true, delete: true }),
|
|
75
|
+
});
|
|
76
|
+
/** Labels and comments permissions a user gets by role; also the fallback for users saved before these groups existed */
|
|
77
|
+
export const LABEL_PERMISSION_DEFAULTS = {
|
|
78
|
+
[UserRole.OWNER]: ALL_LABEL_PERMISSIONS,
|
|
79
|
+
[UserRole.ADMIN]: ALL_LABEL_PERMISSIONS,
|
|
80
|
+
[UserRole.MEMBER]: {
|
|
81
|
+
labels: { create: false, update: false, delete: false, assign: true },
|
|
82
|
+
comments: { create: true, update: true, delete: false },
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
/** A label name as stored: trimmed, with runs of whitespace collapsed to one space */
|
|
86
|
+
export function normalizeLabelName(name) {
|
|
87
|
+
return name.trim().replace(/\s+/g, ' ');
|
|
88
|
+
}
|
|
89
|
+
/** The key two label names are compared by when checking for a duplicate; the server stores it as nameLower */
|
|
90
|
+
export function labelNameKey(name) {
|
|
91
|
+
return normalizeLabelName(name).toLowerCase();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The key two dashboard reviewer names are compared by: compatibility forms folded (NFKC), so a
|
|
95
|
+
* look-alike width or space cannot pass for another name, then trimmed, spaces collapsed, lowercased.
|
|
96
|
+
* The server stores it as reviewerKey and matches own entries on it.
|
|
97
|
+
*/
|
|
98
|
+
export function reviewerNameKey(name) {
|
|
99
|
+
return labelNameKey(name.normalize("NFKC"));
|
|
100
|
+
}
|
|
101
|
+
/** Whether a comment thread belongs under a comments filter, by its starter; ALL matches every thread */
|
|
102
|
+
export function matchesCommentFilter(thread, filter) {
|
|
103
|
+
if (filter === CommentListFilter.OPEN)
|
|
104
|
+
return !thread.isResolved;
|
|
105
|
+
if (filter === CommentListFilter.RESOLVED)
|
|
106
|
+
return thread.isResolved;
|
|
107
|
+
if (filter === CommentListFilter.FILE)
|
|
108
|
+
return !thread.anchor;
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/utils/label.ts"],"names":[],"mappings":"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"}
|