@speakai/shared 2.1.37 → 2.1.39
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 +25 -0
- package/dist/enums/label.d.ts.map +1 -1
- package/dist/enums/label.js +29 -0
- package/dist/enums/label.js.map +1 -1
- package/dist/enums/notification.d.ts +12 -2
- package/dist/enums/notification.d.ts.map +1 -1
- package/dist/enums/notification.js +10 -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 +117 -9
- 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 +42 -0
- package/dist/utils/label.d.ts.map +1 -0
- package/dist/utils/label.js +106 -0
- package/dist/utils/label.js.map +1 -0
- package/package.json +1 -1
package/dist/enums/label.d.ts
CHANGED
|
@@ -17,4 +17,29 @@ export declare enum DashboardCommentsMode {
|
|
|
17
17
|
/** Reviewers chosen on the dashboard may also comment and reply */
|
|
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,yEAAyE;IACzE,KAAK,UAAU;CAChB;AAED,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,mEAAmE;IACnE,KAAK,UAAU;CAChB"}
|
|
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,yEAAyE;IACzE,KAAK,UAAU;CAChB;AAED,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,mEAAmE;IACnE,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
|
@@ -21,4 +21,33 @@ export var DashboardCommentsMode;
|
|
|
21
21
|
/** Reviewers chosen on the dashboard may also comment and reply */
|
|
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,yEAAyE;IACzE,sCAAe,CAAA;AACjB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,sCAAa,CAAA;IACb,mEAAmE;IACnE,wCAAe,CAAA;AACjB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC"}
|
|
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,yEAAyE;IACzE,sCAAe,CAAA;AACjB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,sCAAa,CAAA;IACb,mEAAmE;IACnE,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",
|
|
@@ -39,6 +43,12 @@ export declare enum NotificationAction {
|
|
|
39
43
|
UPLOADED = "uploaded",
|
|
40
44
|
ERROR = "error",
|
|
41
45
|
FAILED = "failed",
|
|
42
|
-
CLONED = "cloned"
|
|
46
|
+
CLONED = "cloned",
|
|
47
|
+
REPLIED = "replied",
|
|
48
|
+
ARCHIVED = "archived",
|
|
49
|
+
RESTORED = "restored",
|
|
50
|
+
MERGED = "merged",
|
|
51
|
+
RESOLVED = "resolved",
|
|
52
|
+
REOPENED = "reopened"
|
|
43
53
|
}
|
|
44
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) {
|
|
@@ -42,5 +46,11 @@ export var NotificationAction;
|
|
|
42
46
|
NotificationAction["ERROR"] = "error";
|
|
43
47
|
NotificationAction["FAILED"] = "failed";
|
|
44
48
|
NotificationAction["CLONED"] = "cloned";
|
|
49
|
+
NotificationAction["REPLIED"] = "replied";
|
|
50
|
+
NotificationAction["ARCHIVED"] = "archived";
|
|
51
|
+
NotificationAction["RESTORED"] = "restored";
|
|
52
|
+
NotificationAction["MERGED"] = "merged";
|
|
53
|
+
NotificationAction["RESOLVED"] = "resolved";
|
|
54
|
+
NotificationAction["REOPENED"] = "reopened";
|
|
45
55
|
})(NotificationAction || (NotificationAction = {}));
|
|
46
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
|
}
|
|
@@ -70,6 +75,8 @@ export interface IMediaLabel {
|
|
|
70
75
|
userId: string;
|
|
71
76
|
/** The author's display name; absent when they are no longer a member of the company */
|
|
72
77
|
authorName?: string;
|
|
78
|
+
/** The author's profile picture as a viewable URL; absent when they have none, are inactive or left the company */
|
|
79
|
+
authorImage?: string;
|
|
73
80
|
mediaId: string;
|
|
74
81
|
labelIds: string[];
|
|
75
82
|
anchor: IAnchor;
|
|
@@ -87,6 +94,8 @@ export interface IMediaComment {
|
|
|
87
94
|
userId: string;
|
|
88
95
|
/** The author's display name; absent when they are no longer a member of the company */
|
|
89
96
|
authorName?: string;
|
|
97
|
+
/** The author's profile picture as a viewable URL; absent when they have none, are inactive or left the company */
|
|
98
|
+
authorImage?: string;
|
|
90
99
|
mediaId: string;
|
|
91
100
|
/** Null means the comment is on the whole file */
|
|
92
101
|
anchor: IAnchor | null;
|
|
@@ -111,13 +120,11 @@ export interface IMediaCommentThread extends IMediaComment {
|
|
|
111
120
|
replies: IMediaComment[];
|
|
112
121
|
}
|
|
113
122
|
/** GET /v1/media/:mediaId/labels */
|
|
114
|
-
export interface IMediaLabelsResponse {
|
|
115
|
-
transcriptRevision: number;
|
|
123
|
+
export interface IMediaLabelsResponse extends IMediaTranscriptMeta {
|
|
116
124
|
mediaLabels: IMediaLabel[];
|
|
117
125
|
}
|
|
118
126
|
/** GET /v1/media/:mediaId/comments */
|
|
119
|
-
export interface IMediaCommentsResponse {
|
|
120
|
-
transcriptRevision: number;
|
|
127
|
+
export interface IMediaCommentsResponse extends IMediaTranscriptMeta {
|
|
121
128
|
threads: IMediaCommentThread[];
|
|
122
129
|
}
|
|
123
130
|
/** Off and view-only unless the owner saved otherwise */
|
|
@@ -175,8 +182,7 @@ export type ILinkMediaLabel = Pick<IMediaLabel, 'mediaLabelId' | 'mediaId' | 'la
|
|
|
175
182
|
authorName: string;
|
|
176
183
|
};
|
|
177
184
|
/** GET /v1/embed/media/:mediaId/labels */
|
|
178
|
-
export interface ILinkMediaLabelsResponse {
|
|
179
|
-
transcriptRevision: number;
|
|
185
|
+
export interface ILinkMediaLabelsResponse extends IMediaTranscriptMeta {
|
|
180
186
|
/** Only the labels used on this media */
|
|
181
187
|
labels: ILinkLabel[];
|
|
182
188
|
mediaLabels: ILinkMediaLabel[];
|
|
@@ -191,8 +197,110 @@ export interface ILinkCommentThread extends ILinkComment {
|
|
|
191
197
|
replies: ILinkComment[];
|
|
192
198
|
}
|
|
193
199
|
/** GET /v1/embed/media/:mediaId/comments */
|
|
194
|
-
export interface ILinkMediaCommentsResponse {
|
|
195
|
-
transcriptRevision: number;
|
|
200
|
+
export interface ILinkMediaCommentsResponse extends IMediaTranscriptMeta {
|
|
196
201
|
threads: ILinkCommentThread[];
|
|
197
202
|
}
|
|
203
|
+
/** POST /v1/labels */
|
|
204
|
+
export interface ICreateLabelBody {
|
|
205
|
+
name: string;
|
|
206
|
+
/** A group holds labels; it takes no color or parentId */
|
|
207
|
+
isGroup?: boolean;
|
|
208
|
+
description?: string;
|
|
209
|
+
color?: string;
|
|
210
|
+
parentId?: string | null;
|
|
211
|
+
sortOrder?: number;
|
|
212
|
+
}
|
|
213
|
+
/** PUT /v1/labels/:labelId; at least one key */
|
|
214
|
+
export type IUpdateLabelBody = Partial<Omit<ICreateLabelBody, 'isGroup'>>;
|
|
215
|
+
/** GET /v1/labels */
|
|
216
|
+
export interface ILabelListResponse {
|
|
217
|
+
labels: ILabelListItem[];
|
|
218
|
+
}
|
|
219
|
+
/** POST /v1/labels/:labelId/archive; a group archives its labels too */
|
|
220
|
+
export interface ILabelArchiveResult {
|
|
221
|
+
labelId: string;
|
|
222
|
+
archivedCount: number;
|
|
223
|
+
}
|
|
224
|
+
/** POST /v1/labels/:labelId/restore */
|
|
225
|
+
export interface ILabelRestoreResult {
|
|
226
|
+
labelId: string;
|
|
227
|
+
restoredCount: number;
|
|
228
|
+
/** Group labels left archived because an active label already uses the name */
|
|
229
|
+
skippedCount: number;
|
|
230
|
+
}
|
|
231
|
+
/** POST /v1/labels/:labelId/merge */
|
|
232
|
+
export interface IMergeLabelBody {
|
|
233
|
+
targetLabelId: string;
|
|
234
|
+
}
|
|
235
|
+
export interface ILabelMergeResult {
|
|
236
|
+
labelId: string;
|
|
237
|
+
mergedInto: string;
|
|
238
|
+
/** Labelled spans moved to the target */
|
|
239
|
+
movedCount: number;
|
|
240
|
+
}
|
|
241
|
+
/** POST /v1/labels/speak-sets */
|
|
242
|
+
export interface IAddSpeakLabelSetsBody {
|
|
243
|
+
sets: SpeakLabelSet[];
|
|
244
|
+
}
|
|
245
|
+
export interface ISpeakLabelSetsResult {
|
|
246
|
+
groups: ILabelListItem[];
|
|
247
|
+
createdCount: number;
|
|
248
|
+
/** Sets already added, so nothing was created for them */
|
|
249
|
+
skippedSets: SpeakLabelSet[];
|
|
250
|
+
}
|
|
251
|
+
/** POST /v1/media/:mediaId/labels */
|
|
252
|
+
export interface ICreateMediaLabelBody {
|
|
253
|
+
range: IWordRange;
|
|
254
|
+
labelIds: string[];
|
|
255
|
+
expectedTranscriptRevision: number;
|
|
256
|
+
}
|
|
257
|
+
/** PATCH /v1/media/:mediaId/labels/:mediaLabelId: change the labels, or review a passage that moved */
|
|
258
|
+
export type IUpdateMediaLabelBody = {
|
|
259
|
+
labelIds: string[];
|
|
260
|
+
} | {
|
|
261
|
+
action: MediaLabelAction.KEEP;
|
|
262
|
+
} | {
|
|
263
|
+
action: MediaLabelAction.REPLACE;
|
|
264
|
+
range: IWordRange;
|
|
265
|
+
expectedTranscriptRevision: number;
|
|
266
|
+
};
|
|
267
|
+
/** DELETE /v1/media/:mediaId/labels/:mediaLabelId */
|
|
268
|
+
export interface IDeleteMediaLabelResult {
|
|
269
|
+
mediaLabelId: string;
|
|
270
|
+
}
|
|
271
|
+
/** POST /v1/media/:mediaId/comments; a reply (parentId) takes no range or mediaLabelId */
|
|
272
|
+
export interface ICreateMediaCommentBody {
|
|
273
|
+
body: string;
|
|
274
|
+
range?: IWordRange;
|
|
275
|
+
/** Required with range */
|
|
276
|
+
expectedTranscriptRevision?: number;
|
|
277
|
+
parentId?: string;
|
|
278
|
+
mediaLabelId?: string;
|
|
279
|
+
}
|
|
280
|
+
/** PATCH /v1/media/:mediaId/comments/:commentId: edit the body, or resolve or reopen the thread */
|
|
281
|
+
export type IUpdateMediaCommentBody = {
|
|
282
|
+
body: string;
|
|
283
|
+
} | {
|
|
284
|
+
isResolved: boolean;
|
|
285
|
+
};
|
|
286
|
+
/** DELETE /v1/media/:mediaId/comments/:commentId */
|
|
287
|
+
export interface IDeleteMediaCommentResult {
|
|
288
|
+
commentId: string;
|
|
289
|
+
}
|
|
290
|
+
/** The team member a dashboard viewer writes as; sent on every dashboard-link write */
|
|
291
|
+
export interface ILinkReviewerBody {
|
|
292
|
+
reviewerUserId: string;
|
|
293
|
+
}
|
|
294
|
+
/** POST /v1/embed/media/:mediaId/labels */
|
|
295
|
+
export type ILinkCreateMediaLabelBody = ICreateMediaLabelBody & ILinkReviewerBody;
|
|
296
|
+
/** PATCH /v1/embed/media/:mediaId/labels/:mediaLabelId */
|
|
297
|
+
export interface ILinkUpdateMediaLabelBody extends ILinkReviewerBody {
|
|
298
|
+
labelIds: string[];
|
|
299
|
+
}
|
|
300
|
+
/** POST /v1/embed/media/:mediaId/comments */
|
|
301
|
+
export type ILinkCreateMediaCommentBody = Omit<ICreateMediaCommentBody, 'mediaLabelId'> & ILinkReviewerBody;
|
|
302
|
+
/** PATCH /v1/embed/media/:mediaId/comments/:commentId */
|
|
303
|
+
export interface ILinkUpdateMediaCommentBody extends ILinkReviewerBody {
|
|
304
|
+
body: string;
|
|
305
|
+
}
|
|
198
306
|
//# 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,42 @@
|
|
|
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_REVIEWERS = 200;
|
|
10
|
+
export declare const MAX_DASHBOARD_LABEL_GROUPS = 100;
|
|
11
|
+
/** labelId, mediaLabelId and commentId; also keeps the id safe inside a query filter */
|
|
12
|
+
export declare const PUBLIC_ID_PATTERN: RegExp;
|
|
13
|
+
/** #rrggbb, any case; stored lowercase */
|
|
14
|
+
export declare const LABEL_COLOR_PATTERN: RegExp;
|
|
15
|
+
/** A user's 24-character hex ObjectId, such as a dashboard reviewerUserId */
|
|
16
|
+
export declare const USER_ID_PATTERN: RegExp;
|
|
17
|
+
/** Colours the label colour picker offers, in order */
|
|
18
|
+
export declare const LABEL_COLOR_PRESETS: readonly ["#0d9488", "#d97706", "#e11d48", "#0284c7", "#7c3aed", "#65a30d", "#ea580c", "#db2777", "#4f46e5", "#0891b2", "#475569", "#92400e"];
|
|
19
|
+
/** Colour a label gets when it is created without one */
|
|
20
|
+
export declare const DEFAULT_LABEL_COLOR: "#0d9488";
|
|
21
|
+
export interface ISpeakLabelSetDefinition {
|
|
22
|
+
/** Name of the label group the set creates */
|
|
23
|
+
name: string;
|
|
24
|
+
labels: ReadonlyArray<{
|
|
25
|
+
name: string;
|
|
26
|
+
color: string;
|
|
27
|
+
}>;
|
|
28
|
+
}
|
|
29
|
+
/** Ready-made label groups POST /v1/labels/speak-sets creates; colours are presets so the picker shows them as selected */
|
|
30
|
+
export declare const SPEAK_LABEL_SETS: Readonly<Record<SpeakLabelSet, ISpeakLabelSetDefinition>>;
|
|
31
|
+
export type ILabelPermissionDefaults = Required<Pick<IUserPermission, 'labels' | 'comments'>>;
|
|
32
|
+
/** Labels and comments permissions a user gets by role; also the fallback for users saved before these groups existed */
|
|
33
|
+
export declare const LABEL_PERMISSION_DEFAULTS: Readonly<Record<UserRole, ILabelPermissionDefaults>>;
|
|
34
|
+
/** A label name as stored: trimmed, with runs of whitespace collapsed to one space */
|
|
35
|
+
export declare function normalizeLabelName(name: string): string;
|
|
36
|
+
/** The key two label names are compared by when checking for a duplicate; the server stores it as nameLower */
|
|
37
|
+
export declare function labelNameKey(name: string): string;
|
|
38
|
+
/** Whether a comment thread belongs under a comments filter, by its starter; ALL matches every thread */
|
|
39
|
+
export declare function matchesCommentFilter(thread: Pick<IMediaComment, 'isResolved'> & {
|
|
40
|
+
anchor?: IMediaComment['anchor'];
|
|
41
|
+
}, filter: CommentListFilter): boolean;
|
|
42
|
+
//# 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,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,QAA0B,CAAC;AACzD,0CAA0C;AAC1C,eAAO,MAAM,mBAAmB,QAAoB,CAAC;AACrD,6EAA6E;AAC7E,eAAO,MAAM,eAAe,QAAoB,CAAC;AAEjD,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,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,106 @@
|
|
|
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_REVIEWERS = 200;
|
|
9
|
+
export const MAX_DASHBOARD_LABEL_GROUPS = 100;
|
|
10
|
+
/** labelId, mediaLabelId and commentId; also keeps the id safe inside a query filter */
|
|
11
|
+
export const PUBLIC_ID_PATTERN = /^[A-Za-z0-9_-]{1,64}$/;
|
|
12
|
+
/** #rrggbb, any case; stored lowercase */
|
|
13
|
+
export const LABEL_COLOR_PATTERN = /^#[0-9a-f]{6}$/i;
|
|
14
|
+
/** A user's 24-character hex ObjectId, such as a dashboard reviewerUserId */
|
|
15
|
+
export const USER_ID_PATTERN = /^[0-9a-f]{24}$/i;
|
|
16
|
+
/** Colours the label colour picker offers, in order */
|
|
17
|
+
export const LABEL_COLOR_PRESETS = [
|
|
18
|
+
'#0d9488',
|
|
19
|
+
'#d97706',
|
|
20
|
+
'#e11d48',
|
|
21
|
+
'#0284c7',
|
|
22
|
+
'#7c3aed',
|
|
23
|
+
'#65a30d',
|
|
24
|
+
'#ea580c',
|
|
25
|
+
'#db2777',
|
|
26
|
+
'#4f46e5',
|
|
27
|
+
'#0891b2',
|
|
28
|
+
'#475569',
|
|
29
|
+
'#92400e',
|
|
30
|
+
];
|
|
31
|
+
/** Colour a label gets when it is created without one */
|
|
32
|
+
export const DEFAULT_LABEL_COLOR = LABEL_COLOR_PRESETS[0];
|
|
33
|
+
/** Ready-made label groups POST /v1/labels/speak-sets creates; colours are presets so the picker shows them as selected */
|
|
34
|
+
export const SPEAK_LABEL_SETS = {
|
|
35
|
+
[SpeakLabelSet.SALES_QA]: {
|
|
36
|
+
name: 'Sales QA',
|
|
37
|
+
labels: [
|
|
38
|
+
{ name: 'Unprofessional', color: '#ea580c' },
|
|
39
|
+
{ name: 'Slang', color: '#d97706' },
|
|
40
|
+
{ name: 'Objection', color: '#7c3aed' },
|
|
41
|
+
{ name: 'Great moment', color: '#65a30d' },
|
|
42
|
+
{ name: 'Compliance risk', color: '#e11d48' },
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
[SpeakLabelSet.RESEARCH]: {
|
|
46
|
+
name: 'Research',
|
|
47
|
+
labels: [
|
|
48
|
+
{ name: 'Pain point', color: '#e11d48' },
|
|
49
|
+
{ name: 'Motivation', color: '#65a30d' },
|
|
50
|
+
{ name: 'Quote for report', color: '#4f46e5' },
|
|
51
|
+
{ name: 'Surprise', color: '#db2777' },
|
|
52
|
+
{ name: 'Follow-up', color: '#0284c7' },
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
[SpeakLabelSet.MEETINGS]: {
|
|
56
|
+
name: 'Meetings',
|
|
57
|
+
labels: [
|
|
58
|
+
{ name: 'Decision', color: '#65a30d' },
|
|
59
|
+
{ name: 'Action item', color: '#4f46e5' },
|
|
60
|
+
{ name: 'Risk', color: '#e11d48' },
|
|
61
|
+
{ name: 'Open question', color: '#d97706' },
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
[SpeakLabelSet.TRANSCRIPT_FEEDBACK]: {
|
|
65
|
+
name: 'Transcript feedback',
|
|
66
|
+
labels: [
|
|
67
|
+
{ name: 'Wrong split', color: '#ea580c' },
|
|
68
|
+
{ name: 'Misheard word', color: '#e11d48' },
|
|
69
|
+
{ name: 'Wrong speaker', color: '#7c3aed' },
|
|
70
|
+
{ name: 'Bad translation', color: '#0284c7' },
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
// Frozen because owner and admin share this one object
|
|
75
|
+
const ALL_LABEL_PERMISSIONS = Object.freeze({
|
|
76
|
+
labels: Object.freeze({ create: true, update: true, delete: true, assign: true }),
|
|
77
|
+
comments: Object.freeze({ create: true, update: true, delete: true }),
|
|
78
|
+
});
|
|
79
|
+
/** Labels and comments permissions a user gets by role; also the fallback for users saved before these groups existed */
|
|
80
|
+
export const LABEL_PERMISSION_DEFAULTS = {
|
|
81
|
+
[UserRole.OWNER]: ALL_LABEL_PERMISSIONS,
|
|
82
|
+
[UserRole.ADMIN]: ALL_LABEL_PERMISSIONS,
|
|
83
|
+
[UserRole.MEMBER]: {
|
|
84
|
+
labels: { create: false, update: false, delete: false, assign: true },
|
|
85
|
+
comments: { create: true, update: true, delete: false },
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
/** A label name as stored: trimmed, with runs of whitespace collapsed to one space */
|
|
89
|
+
export function normalizeLabelName(name) {
|
|
90
|
+
return name.trim().replace(/\s+/g, ' ');
|
|
91
|
+
}
|
|
92
|
+
/** The key two label names are compared by when checking for a duplicate; the server stores it as nameLower */
|
|
93
|
+
export function labelNameKey(name) {
|
|
94
|
+
return normalizeLabelName(name).toLowerCase();
|
|
95
|
+
}
|
|
96
|
+
/** Whether a comment thread belongs under a comments filter, by its starter; ALL matches every thread */
|
|
97
|
+
export function matchesCommentFilter(thread, filter) {
|
|
98
|
+
if (filter === CommentListFilter.OPEN)
|
|
99
|
+
return !thread.isResolved;
|
|
100
|
+
if (filter === CommentListFilter.RESOLVED)
|
|
101
|
+
return thread.isResolved;
|
|
102
|
+
if (filter === CommentListFilter.FILE)
|
|
103
|
+
return !thread.anchor;
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
//# 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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"}
|