@lilaquadrat/interfaces 1.49.0 → 1.51.0

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/CHANGELOG.md CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [1.51.0](https://github.com/lilaquadrat/interfaces/compare/v1.50.1...v1.51.0) (2026-09-30)
6
+
7
+
8
+ ### Features
9
+
10
+ * **conversations:** add original support customer identity ([48caec1](https://github.com/lilaquadrat/interfaces/commit/48caec1a86469dbbd8227551fec585acb765e39e))
11
+
12
+ ### [1.50.1](https://github.com/lilaquadrat/interfaces/compare/v1.50.0...v1.50.1) (2026-09-25)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **SupportAvailability:** added missing file ([4e5864e](https://github.com/lilaquadrat/interfaces/commit/4e5864ee38e0312a834a7d48cbae18af56670f35))
18
+
19
+ ## [1.50.0](https://github.com/lilaquadrat/interfaces/compare/v1.49.0...v1.50.0) (2026-09-25)
20
+
21
+
22
+ ### Features
23
+
24
+ * **conversations:** added supportAvailability ([340f1e3](https://github.com/lilaquadrat/interfaces/commit/340f1e3e0b6fbc9f3526845a8492e86fef103ce1))
25
+
5
26
  ## [1.49.0](https://github.com/lilaquadrat/interfaces/compare/v1.48.0...v1.49.0) (2026-09-14)
6
27
 
7
28
 
@@ -1,11 +1,14 @@
1
1
  import { ObjectId } from 'mongodb';
2
2
  import type { ConversationSla } from './ConversationSla';
3
+ import type { SupportAvailability } from './SupportAvailability';
3
4
  export type SupportStatus = 'awaiting_agent' | 'awaiting_customer' | 'resolved';
4
5
  export interface Conversation {
5
6
  _id?: ObjectId;
6
7
  name?: string;
7
8
  participantsHash?: string;
8
9
  participants?: string[];
10
+ /** Original support customer; remains fixed even when participants change. */
11
+ supportCustomer?: string;
9
12
  blocked?: string[];
10
13
  messagesCount?: number;
11
14
  messagesCountSystem?: number;
@@ -18,5 +21,11 @@ export interface Conversation {
18
21
  supportStatusVersion?: number;
19
22
  /** Current support SLA projection, joined at read time rather than stored on the conversation. */
20
23
  sla?: ConversationSla | null;
24
+ /**
25
+ * Customer-facing support-hours summary (derived from the Sla config + server time), attached
26
+ * at read time for support conversations. Absent for non-support conversations and when no
27
+ * Sla configuration exists. Never carries the raw Sla fields.
28
+ */
29
+ supportAvailability?: SupportAvailability | null;
21
30
  new?: boolean;
22
31
  }
@@ -0,0 +1,13 @@
1
+ import type { SupportDay } from './SupportDay';
2
+ /**
3
+ * Customer-facing support-hours schedule.
4
+ *
5
+ * Only the derived schedule is exposed (`supportDays`, `timeZone`, `responseTimeHours`), never the
6
+ * raw Sla config. Whether support is open right now is derived by the client from the schedule
7
+ * and its own clock.
8
+ */
9
+ export interface SupportAvailability {
10
+ responseTimeHours: number;
11
+ timeZone: string;
12
+ supportDays: SupportDay[];
13
+ }
@@ -227,6 +227,7 @@ export * from './Stored';
227
227
  export * from './StoryModule';
228
228
  export * from './Structure';
229
229
  export * from './StudioIframeMessage';
230
+ export * from './SupportAvailability';
230
231
  export * from './SupportDay';
231
232
  export * from './SystemDomain';
232
233
  export * from './TextModule';
@@ -1,11 +1,14 @@
1
1
  import { ObjectId } from 'mongodb';
2
2
  import type { ConversationSla } from './ConversationSla';
3
+ import type { SupportAvailability } from './SupportAvailability';
3
4
  export type SupportStatus = 'awaiting_agent' | 'awaiting_customer' | 'resolved';
4
5
  export interface Conversation {
5
6
  _id?: ObjectId;
6
7
  name?: string;
7
8
  participantsHash?: string;
8
9
  participants?: string[];
10
+ /** Original support customer; remains fixed even when participants change. */
11
+ supportCustomer?: string;
9
12
  blocked?: string[];
10
13
  messagesCount?: number;
11
14
  messagesCountSystem?: number;
@@ -18,5 +21,11 @@ export interface Conversation {
18
21
  supportStatusVersion?: number;
19
22
  /** Current support SLA projection, joined at read time rather than stored on the conversation. */
20
23
  sla?: ConversationSla | null;
24
+ /**
25
+ * Customer-facing support-hours summary (derived from the Sla config + server time), attached
26
+ * at read time for support conversations. Absent for non-support conversations and when no
27
+ * Sla configuration exists. Never carries the raw Sla fields.
28
+ */
29
+ supportAvailability?: SupportAvailability | null;
21
30
  new?: boolean;
22
31
  }
@@ -0,0 +1,13 @@
1
+ import type { SupportDay } from './SupportDay';
2
+ /**
3
+ * Customer-facing support-hours schedule.
4
+ *
5
+ * Only the derived schedule is exposed (`supportDays`, `timeZone`, `responseTimeHours`), never the
6
+ * raw Sla config. Whether support is open right now is derived by the client from the schedule
7
+ * and its own clock.
8
+ */
9
+ export interface SupportAvailability {
10
+ responseTimeHours: number;
11
+ timeZone: string;
12
+ supportDays: SupportDay[];
13
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SupportAvailability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupportAvailability.js","sourceRoot":"","sources":["../../src/SupportAvailability.ts"],"names":[],"mappings":""}
@@ -227,6 +227,7 @@ export * from './Stored';
227
227
  export * from './StoryModule';
228
228
  export * from './Structure';
229
229
  export * from './StudioIframeMessage';
230
+ export * from './SupportAvailability';
230
231
  export * from './SupportDay';
231
232
  export * from './SystemDomain';
232
233
  export * from './TextModule';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lilaquadrat/interfaces",
3
- "version": "1.49.0",
3
+ "version": "1.51.0",
4
4
  "description": "interfaces in context of lilaquadrat STUDIO",
5
5
  "author": {
6
6
  "email": "m.schuebel@lila2.de",
@@ -1,5 +1,6 @@
1
1
  import { ObjectId } from 'mongodb';
2
2
  import type { ConversationSla } from './ConversationSla';
3
+ import type { SupportAvailability } from './SupportAvailability';
3
4
 
4
5
  export type SupportStatus = 'awaiting_agent' | 'awaiting_customer' | 'resolved';
5
6
 
@@ -8,6 +9,8 @@ export interface Conversation {
8
9
  name?: string;
9
10
  participantsHash?: string;
10
11
  participants?: string[];
12
+ /** Original support customer; remains fixed even when participants change. */
13
+ supportCustomer?: string;
11
14
  blocked?: string[];
12
15
  messagesCount?: number;
13
16
  messagesCountSystem?: number;
@@ -20,5 +23,11 @@ export interface Conversation {
20
23
  supportStatusVersion?: number;
21
24
  /** Current support SLA projection, joined at read time rather than stored on the conversation. */
22
25
  sla?: ConversationSla | null;
26
+ /**
27
+ * Customer-facing support-hours summary (derived from the Sla config + server time), attached
28
+ * at read time for support conversations. Absent for non-support conversations and when no
29
+ * Sla configuration exists. Never carries the raw Sla fields.
30
+ */
31
+ supportAvailability?: SupportAvailability | null;
23
32
  new?: boolean;
24
33
  }
@@ -0,0 +1,14 @@
1
+ import type { SupportDay } from './SupportDay';
2
+
3
+ /**
4
+ * Customer-facing support-hours schedule.
5
+ *
6
+ * Only the derived schedule is exposed (`supportDays`, `timeZone`, `responseTimeHours`), never the
7
+ * raw Sla config. Whether support is open right now is derived by the client from the schedule
8
+ * and its own clock.
9
+ */
10
+ export interface SupportAvailability {
11
+ responseTimeHours: number;
12
+ timeZone: string;
13
+ supportDays: SupportDay[];
14
+ }