@lilaquadrat/interfaces 1.48.0 → 1.49.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.
Files changed (43) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/lib/cjs/Category.d.ts +8 -0
  3. package/lib/cjs/ChatMessage.d.ts +11 -0
  4. package/lib/cjs/ChatMessageAttachment.d.ts +5 -0
  5. package/lib/cjs/ChatMessageMetadata.d.ts +4 -0
  6. package/lib/cjs/ChatSupportContext.d.ts +27 -0
  7. package/lib/cjs/Content.d.ts +2 -0
  8. package/lib/cjs/License.d.ts +17 -0
  9. package/lib/cjs/Storage.d.ts +2 -1
  10. package/lib/cjs/Upload.d.ts +1 -0
  11. package/lib/cjs/index.d.ts +6 -0
  12. package/lib/esm/Category.d.ts +8 -0
  13. package/lib/esm/Category.js +2 -0
  14. package/lib/esm/Category.js.map +1 -0
  15. package/lib/esm/ChatMessage.d.ts +11 -0
  16. package/lib/esm/ChatMessage.js +2 -0
  17. package/lib/esm/ChatMessage.js.map +1 -0
  18. package/lib/esm/ChatMessageAttachment.d.ts +5 -0
  19. package/lib/esm/ChatMessageAttachment.js +2 -0
  20. package/lib/esm/ChatMessageAttachment.js.map +1 -0
  21. package/lib/esm/ChatMessageMetadata.d.ts +4 -0
  22. package/lib/esm/ChatMessageMetadata.js +2 -0
  23. package/lib/esm/ChatMessageMetadata.js.map +1 -0
  24. package/lib/esm/ChatSupportContext.d.ts +27 -0
  25. package/lib/esm/ChatSupportContext.js +2 -0
  26. package/lib/esm/ChatSupportContext.js.map +1 -0
  27. package/lib/esm/Content.d.ts +2 -0
  28. package/lib/esm/License.d.ts +17 -0
  29. package/lib/esm/License.js +2 -0
  30. package/lib/esm/License.js.map +1 -0
  31. package/lib/esm/Storage.d.ts +2 -1
  32. package/lib/esm/Upload.d.ts +1 -0
  33. package/lib/esm/index.d.ts +6 -0
  34. package/package.json +1 -1
  35. package/src/Category.ts +9 -0
  36. package/src/ChatMessage.ts +12 -0
  37. package/src/ChatMessageAttachment.ts +6 -0
  38. package/src/ChatMessageMetadata.ts +5 -0
  39. package/src/ChatSupportContext.ts +27 -0
  40. package/src/Content.ts +2 -0
  41. package/src/License.ts +26 -0
  42. package/src/Storage.ts +4 -2
  43. package/src/Upload.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
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.49.0](https://github.com/lilaquadrat/interfaces/compare/v1.48.0...v1.49.0) (2026-09-14)
6
+
7
+
8
+ ### Features
9
+
10
+ * **chat:** add conversation message and attachment contracts ([3554030](https://github.com/lilaquadrat/interfaces/commit/35540305e7c99a654af23d0147ce2096e81c0a0d))
11
+
5
12
  ## [1.48.0](https://github.com/lilaquadrat/interfaces/compare/v1.47.0...v1.48.0) (2026-08-28)
6
13
 
7
14
 
@@ -0,0 +1,8 @@
1
+ import { AccessRule } from "./AccessRule";
2
+ export interface Category {
3
+ company: string;
4
+ project: string;
5
+ key: string;
6
+ label: string;
7
+ read: AccessRule[];
8
+ }
@@ -0,0 +1,11 @@
1
+ import { ObjectIdString } from './ObjectIdString';
2
+ import { ChatMessageAttachment } from './ChatMessageAttachment';
3
+ import { ChatMessageMetadata } from './ChatMessageMetadata';
4
+ export interface ChatMessage {
5
+ type: 'message:add';
6
+ conversation: ObjectIdString;
7
+ message: string;
8
+ clientMessageId?: string;
9
+ metadata?: ChatMessageMetadata;
10
+ attachments?: ChatMessageAttachment[];
11
+ }
@@ -0,0 +1,5 @@
1
+ import { ObjectIdString } from './ObjectIdString';
2
+ export interface ChatMessageAttachment {
3
+ uploadId: ObjectIdString;
4
+ name: string;
5
+ }
@@ -0,0 +1,4 @@
1
+ import { ChatSupportContext } from './ChatSupportContext';
2
+ export interface ChatMessageMetadata {
3
+ supportContext?: ChatSupportContext;
4
+ }
@@ -0,0 +1,27 @@
1
+ export interface ChatSupportContext {
2
+ company?: string;
3
+ project?: string;
4
+ url?: string;
5
+ pageTitle?: string;
6
+ appVersion?: string;
7
+ browser?: {
8
+ name?: string;
9
+ version?: string;
10
+ };
11
+ os?: {
12
+ name?: string;
13
+ version?: string;
14
+ };
15
+ screen?: {
16
+ width?: number;
17
+ height?: number;
18
+ pixelRatio?: number;
19
+ };
20
+ viewport?: {
21
+ width?: number;
22
+ height?: number;
23
+ };
24
+ locale?: string;
25
+ timezone?: string;
26
+ userAgent?: string;
27
+ }
@@ -1,3 +1,4 @@
1
+ import { ObjectId } from "mongodb";
1
2
  import { ChildData } from "./ChildData";
2
3
  import { CompatibleModule } from "./CompatibleModule";
3
4
  import { GenericData } from "./GenericData";
@@ -8,6 +9,7 @@ export interface Content {
8
9
  project: string;
9
10
  modules: CompatibleModule[];
10
11
  tags?: string[];
12
+ categories?: ObjectId[];
11
13
  /**
12
14
  * a description of the content which will be used as context for AI text generation
13
15
  */
@@ -0,0 +1,17 @@
1
+ export interface License {
2
+ id: string;
3
+ name: string;
4
+ description?: string;
5
+ monthlyCost: number;
6
+ oneTimeCost?: number;
7
+ minimumContractMonths: number;
8
+ cancellationPeriodDays: number;
9
+ includesSupport: boolean;
10
+ supportSla?: string;
11
+ active: boolean;
12
+ autoExtend: boolean;
13
+ /** app ids that are included in this license */
14
+ includedApps: string[];
15
+ /** per-app usage limits, e.g. { editor: { pages: 10 }, media: { storageMb: 500 } } */
16
+ limits?: Record<string, Record<string, number>>;
17
+ }
@@ -1,7 +1,7 @@
1
1
  import { ObjectId } from "mongodb";
2
2
  import { MediaMetadata } from "./MediaMetadata";
3
3
  export interface Storage {
4
- company: string;
4
+ company?: string;
5
5
  project?: string;
6
6
  /**
7
7
  * this document can be bound to a specific customer
@@ -11,6 +11,7 @@ export interface Storage {
11
11
  * this document can be bound to a specific list and customer
12
12
  */
13
13
  list?: ObjectId;
14
+ conversation?: ObjectId;
14
15
  filename: string;
15
16
  prefix?: string;
16
17
  path?: string;
@@ -8,6 +8,7 @@ export interface Upload {
8
8
  project?: string;
9
9
  customer?: ObjectIdString | ObjectId;
10
10
  list?: ObjectIdString | ObjectId;
11
+ conversation?: ObjectIdString | ObjectId;
11
12
  user?: string;
12
13
  app: string;
13
14
  assetId?: string;
@@ -24,11 +24,16 @@ export * from './CallResponse';
24
24
  export * from './CallToActionModule';
25
25
  export * from './Cart';
26
26
  export * from './CartItem';
27
+ export * from './Category';
27
28
  export * from './CategoryStructure';
28
29
  export * from './CategoryStructureWithRequired';
29
30
  export * from './Certificate';
30
31
  export * from './CertificateAction';
31
32
  export * from './CertificateActionResult';
33
+ export * from './ChatMessage';
34
+ export * from './ChatMessageAttachment';
35
+ export * from './ChatMessageMetadata';
36
+ export * from './ChatSupportContext';
32
37
  export * from './ChildData';
33
38
  export * from './Command';
34
39
  export * from './CommandNginx';
@@ -121,6 +126,7 @@ export * from './InvoiceReferences';
121
126
  export * from './InvoiceTaxBreakdown';
122
127
  export * from './InvoiceTotals';
123
128
  export * from './InvoiceWithXml';
129
+ export * from './License';
124
130
  export * from './LimiterBreach';
125
131
  export * from './LimiterPluginOptions';
126
132
  export * from './LimiterTier';
@@ -0,0 +1,8 @@
1
+ import { AccessRule } from "./AccessRule";
2
+ export interface Category {
3
+ company: string;
4
+ project: string;
5
+ key: string;
6
+ label: string;
7
+ read: AccessRule[];
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Category.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Category.js","sourceRoot":"","sources":["../../src/Category.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { ObjectIdString } from './ObjectIdString';
2
+ import { ChatMessageAttachment } from './ChatMessageAttachment';
3
+ import { ChatMessageMetadata } from './ChatMessageMetadata';
4
+ export interface ChatMessage {
5
+ type: 'message:add';
6
+ conversation: ObjectIdString;
7
+ message: string;
8
+ clientMessageId?: string;
9
+ metadata?: ChatMessageMetadata;
10
+ attachments?: ChatMessageAttachment[];
11
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ChatMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../src/ChatMessage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ObjectIdString } from './ObjectIdString';
2
+ export interface ChatMessageAttachment {
3
+ uploadId: ObjectIdString;
4
+ name: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ChatMessageAttachment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageAttachment.js","sourceRoot":"","sources":["../../src/ChatMessageAttachment.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { ChatSupportContext } from './ChatSupportContext';
2
+ export interface ChatMessageMetadata {
3
+ supportContext?: ChatSupportContext;
4
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ChatMessageMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageMetadata.js","sourceRoot":"","sources":["../../src/ChatMessageMetadata.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ export interface ChatSupportContext {
2
+ company?: string;
3
+ project?: string;
4
+ url?: string;
5
+ pageTitle?: string;
6
+ appVersion?: string;
7
+ browser?: {
8
+ name?: string;
9
+ version?: string;
10
+ };
11
+ os?: {
12
+ name?: string;
13
+ version?: string;
14
+ };
15
+ screen?: {
16
+ width?: number;
17
+ height?: number;
18
+ pixelRatio?: number;
19
+ };
20
+ viewport?: {
21
+ width?: number;
22
+ height?: number;
23
+ };
24
+ locale?: string;
25
+ timezone?: string;
26
+ userAgent?: string;
27
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ChatSupportContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatSupportContext.js","sourceRoot":"","sources":["../../src/ChatSupportContext.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ import { ObjectId } from "mongodb";
1
2
  import { ChildData } from "./ChildData";
2
3
  import { CompatibleModule } from "./CompatibleModule";
3
4
  import { GenericData } from "./GenericData";
@@ -8,6 +9,7 @@ export interface Content {
8
9
  project: string;
9
10
  modules: CompatibleModule[];
10
11
  tags?: string[];
12
+ categories?: ObjectId[];
11
13
  /**
12
14
  * a description of the content which will be used as context for AI text generation
13
15
  */
@@ -0,0 +1,17 @@
1
+ export interface License {
2
+ id: string;
3
+ name: string;
4
+ description?: string;
5
+ monthlyCost: number;
6
+ oneTimeCost?: number;
7
+ minimumContractMonths: number;
8
+ cancellationPeriodDays: number;
9
+ includesSupport: boolean;
10
+ supportSla?: string;
11
+ active: boolean;
12
+ autoExtend: boolean;
13
+ /** app ids that are included in this license */
14
+ includedApps: string[];
15
+ /** per-app usage limits, e.g. { editor: { pages: 10 }, media: { storageMb: 500 } } */
16
+ limits?: Record<string, Record<string, number>>;
17
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=License.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"License.js","sourceRoot":"","sources":["../../src/License.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  import { ObjectId } from "mongodb";
2
2
  import { MediaMetadata } from "./MediaMetadata";
3
3
  export interface Storage {
4
- company: string;
4
+ company?: string;
5
5
  project?: string;
6
6
  /**
7
7
  * this document can be bound to a specific customer
@@ -11,6 +11,7 @@ export interface Storage {
11
11
  * this document can be bound to a specific list and customer
12
12
  */
13
13
  list?: ObjectId;
14
+ conversation?: ObjectId;
14
15
  filename: string;
15
16
  prefix?: string;
16
17
  path?: string;
@@ -8,6 +8,7 @@ export interface Upload {
8
8
  project?: string;
9
9
  customer?: ObjectIdString | ObjectId;
10
10
  list?: ObjectIdString | ObjectId;
11
+ conversation?: ObjectIdString | ObjectId;
11
12
  user?: string;
12
13
  app: string;
13
14
  assetId?: string;
@@ -24,11 +24,16 @@ export * from './CallResponse';
24
24
  export * from './CallToActionModule';
25
25
  export * from './Cart';
26
26
  export * from './CartItem';
27
+ export * from './Category';
27
28
  export * from './CategoryStructure';
28
29
  export * from './CategoryStructureWithRequired';
29
30
  export * from './Certificate';
30
31
  export * from './CertificateAction';
31
32
  export * from './CertificateActionResult';
33
+ export * from './ChatMessage';
34
+ export * from './ChatMessageAttachment';
35
+ export * from './ChatMessageMetadata';
36
+ export * from './ChatSupportContext';
32
37
  export * from './ChildData';
33
38
  export * from './Command';
34
39
  export * from './CommandNginx';
@@ -121,6 +126,7 @@ export * from './InvoiceReferences';
121
126
  export * from './InvoiceTaxBreakdown';
122
127
  export * from './InvoiceTotals';
123
128
  export * from './InvoiceWithXml';
129
+ export * from './License';
124
130
  export * from './LimiterBreach';
125
131
  export * from './LimiterPluginOptions';
126
132
  export * from './LimiterTier';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lilaquadrat/interfaces",
3
- "version": "1.48.0",
3
+ "version": "1.49.0",
4
4
  "description": "interfaces in context of lilaquadrat STUDIO",
5
5
  "author": {
6
6
  "email": "m.schuebel@lila2.de",
@@ -0,0 +1,9 @@
1
+ import { AccessRule } from "./AccessRule";
2
+
3
+ export interface Category {
4
+ company: string
5
+ project: string
6
+ key: string
7
+ label: string
8
+ read: AccessRule[];
9
+ }
@@ -0,0 +1,12 @@
1
+ import { ObjectIdString } from './ObjectIdString';
2
+ import { ChatMessageAttachment } from './ChatMessageAttachment';
3
+ import { ChatMessageMetadata } from './ChatMessageMetadata';
4
+
5
+ export interface ChatMessage {
6
+ type: 'message:add';
7
+ conversation: ObjectIdString;
8
+ message: string;
9
+ clientMessageId?: string;
10
+ metadata?: ChatMessageMetadata;
11
+ attachments?: ChatMessageAttachment[];
12
+ }
@@ -0,0 +1,6 @@
1
+ import { ObjectIdString } from './ObjectIdString';
2
+
3
+ export interface ChatMessageAttachment {
4
+ uploadId: ObjectIdString;
5
+ name: string;
6
+ }
@@ -0,0 +1,5 @@
1
+ import { ChatSupportContext } from './ChatSupportContext';
2
+
3
+ export interface ChatMessageMetadata {
4
+ supportContext?: ChatSupportContext;
5
+ }
@@ -0,0 +1,27 @@
1
+ export interface ChatSupportContext {
2
+ company?: string;
3
+ project?: string;
4
+ url?: string;
5
+ pageTitle?: string;
6
+ appVersion?: string;
7
+ browser?: {
8
+ name?: string;
9
+ version?: string;
10
+ };
11
+ os?: {
12
+ name?: string;
13
+ version?: string;
14
+ };
15
+ screen?: {
16
+ width?: number;
17
+ height?: number;
18
+ pixelRatio?: number;
19
+ };
20
+ viewport?: {
21
+ width?: number;
22
+ height?: number;
23
+ };
24
+ locale?: string;
25
+ timezone?: string;
26
+ userAgent?: string;
27
+ }
package/src/Content.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { ObjectId } from "mongodb"
1
2
  import { ChildData } from "./ChildData"
2
3
  import { CompatibleModule } from "./CompatibleModule"
3
4
  import { GenericData } from "./GenericData"
@@ -9,6 +10,7 @@ export interface Content {
9
10
  project: string
10
11
  modules: CompatibleModule[]
11
12
  tags?: string[]
13
+ categories?: ObjectId[]
12
14
  /**
13
15
  * a description of the content which will be used as context for AI text generation
14
16
  */
package/src/License.ts ADDED
@@ -0,0 +1,26 @@
1
+ export interface License {
2
+
3
+ id: string;
4
+ name: string;
5
+
6
+ description?: string;
7
+
8
+ monthlyCost: number;
9
+ oneTimeCost?: number;
10
+
11
+ minimumContractMonths: number;
12
+ cancellationPeriodDays: number;
13
+
14
+ includesSupport: boolean;
15
+ supportSla?: string;
16
+
17
+ active: boolean;
18
+ autoExtend: boolean;
19
+
20
+ /** app ids that are included in this license */
21
+ includedApps: string[];
22
+
23
+ /** per-app usage limits, e.g. { editor: { pages: 10 }, media: { storageMb: 500 } } */
24
+ limits?: Record<string, Record<string, number>>;
25
+
26
+ }
package/src/Storage.ts CHANGED
@@ -2,7 +2,7 @@ import { ObjectId } from "mongodb";
2
2
  import { MediaMetadata } from "./MediaMetadata";
3
3
 
4
4
  export interface Storage {
5
- company: string
5
+ company?: string
6
6
  project?: string
7
7
 
8
8
  /**
@@ -14,6 +14,8 @@ export interface Storage {
14
14
  */
15
15
  list?: ObjectId
16
16
 
17
+ conversation?: ObjectId
18
+
17
19
  filename: string
18
20
  prefix?: string
19
21
 
@@ -32,4 +34,4 @@ export interface Storage {
32
34
  * binds the storage document to a structure asset definition
33
35
  */
34
36
  assetId?: string
35
- }
37
+ }
package/src/Upload.ts CHANGED
@@ -9,6 +9,7 @@ export interface Upload {
9
9
  project?: string;
10
10
  customer?: ObjectIdString | ObjectId;
11
11
  list?: ObjectIdString | ObjectId;
12
+ conversation?: ObjectIdString | ObjectId;
12
13
  user?: string;
13
14
  app: string;
14
15
  assetId?: string;