@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.
@@ -9,12 +9,37 @@ export declare enum AnchorStatus {
9
9
  }
10
10
  export declare enum DashboardLabelsMode {
11
11
  VIEW = "view",
12
- /** Reviewers chosen on the dashboard may also apply and remove labels */
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
- /** Reviewers chosen on the dashboard may also comment and reply */
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,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,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"}
@@ -12,13 +12,42 @@ export var AnchorStatus;
12
12
  export var DashboardLabelsMode;
13
13
  (function (DashboardLabelsMode) {
14
14
  DashboardLabelsMode["VIEW"] = "view";
15
- /** Reviewers chosen on the dashboard may also apply and remove labels */
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
- /** Reviewers chosen on the dashboard may also comment and reply */
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
@@ -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,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;CAClC;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;CACpB"}
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,gBA4BX;AA5BD,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;AACnC,CAAC,EA5BW,gBAAgB,KAAhB,gBAAgB,QA4B3B;AAED,MAAM,CAAN,IAAY,kBAcX;AAdD,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;AACrB,CAAC,EAdW,kBAAkB,KAAlB,kBAAkB,QAc7B"}
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';
@@ -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: string;
71
- /** The author's display name; absent when they are no longer a member of the company */
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 reviewer applied the label from a dashboard */
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: string;
88
- /** The author's display name; absent when they are no longer a member of the company */
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 reviewer commented from a dashboard */
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
- /** Empty unless a write mode is on */
170
- reviewers: ILinkMember[];
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' | 'userId' | 'dashboardId' | 'createdAt' | 'updatedAt'> & {
174
- /** The author's display name, or "Team member" when they have none or left the company */
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' | 'userId' | 'dashboardId' | 'createdAt' | 'updatedAt'> & {
186
- /** The author's display name, or "Team member" when they have none or left the company */
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":"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"}
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
  }>>;
@@ -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;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAAE,CA8C1E;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"}
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"}
@@ -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 (start < 0 || end < start || end >= words.length) {
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"anchor.js","sourceRoot":"","sources":["../../src/utils/anchor.ts"],"names":[],"mappings":"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"}
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":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI/E,kGAAkG;AAClG,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,wFAAwF;AACxF,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AACzD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAErD,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACD,CAAC;AAEX,yDAAyD;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAQ1D,2HAA2H;AAC3H,MAAM,CAAC,MAAM,gBAAgB,GAA8D;IACzF,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACxB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE;YAC5C,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;YACvC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE;YAC1C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE;SAC9C;KACF;IACD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACxB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;YACxC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;YACxC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;YAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;SACxC;KACF;IACD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACxB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE;SAC5C;KACF;IACD,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE;QACnC,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE;YACzC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE;YAC3C,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE;YAC3C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE;SAC9C;KACF;CACF,CAAC;AAIF,uDAAuD;AACvD,MAAM,qBAAqB,GAA6B,MAAM,CAAC,MAAM,CAAC;IACpE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACjF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CACtE,CAAC,CAAC;AAEH,yHAAyH;AACzH,MAAM,CAAC,MAAM,yBAAyB,GAAyD;IAC7F,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB;IACvC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB;IACvC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACjB,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QACrE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;KACxD;CACF,CAAC;AAEF,sFAAsF;AACtF,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,oBAAoB,CAClC,MAAgF,EAChF,MAAyB;IAEzB,IAAI,MAAM,KAAK,iBAAiB,CAAC,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;IACjE,IAAI,MAAM,KAAK,iBAAiB,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC;IACpE,IAAI,MAAM,KAAK,iBAAiB,CAAC,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@speakai/shared",
3
- "version": "2.1.38",
3
+ "version": "2.1.40",
4
4
  "description": "Shared types, enums and interfaces for Speak AI platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",