@stack-spot/ai-chat-widget 1.24.3 → 1.25.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 (108) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/app-metadata.json +3 -3
  3. package/dist/chat-interceptors/send-message.js +3 -3
  4. package/dist/chat-interceptors/send-message.js.map +1 -1
  5. package/dist/components/FileDescription.d.ts +10 -0
  6. package/dist/components/FileDescription.d.ts.map +1 -0
  7. package/dist/components/FileDescription.js +85 -0
  8. package/dist/components/FileDescription.js.map +1 -0
  9. package/dist/state/ChatEntry.d.ts +9 -0
  10. package/dist/state/ChatEntry.d.ts.map +1 -1
  11. package/dist/state/ChatEntry.js.map +1 -1
  12. package/dist/state/ChatState.d.ts +5 -0
  13. package/dist/state/ChatState.d.ts.map +1 -1
  14. package/dist/state/ChatState.js +6 -0
  15. package/dist/state/ChatState.js.map +1 -1
  16. package/dist/state/constants.d.ts +5 -0
  17. package/dist/state/constants.d.ts.map +1 -0
  18. package/dist/state/constants.js +9 -0
  19. package/dist/state/constants.js.map +1 -0
  20. package/dist/state/types.d.ts +4 -0
  21. package/dist/state/types.d.ts.map +1 -1
  22. package/dist/utils/chat.d.ts +2 -1
  23. package/dist/utils/chat.d.ts.map +1 -1
  24. package/dist/utils/chat.js +2 -1
  25. package/dist/utils/chat.js.map +1 -1
  26. package/dist/utils/upload/FileUpload.d.ts +21 -0
  27. package/dist/utils/upload/FileUpload.d.ts.map +1 -0
  28. package/dist/utils/upload/FileUpload.js +55 -0
  29. package/dist/utils/upload/FileUpload.js.map +1 -0
  30. package/dist/utils/upload/UploadManager.d.ts +40 -0
  31. package/dist/utils/upload/UploadManager.d.ts.map +1 -0
  32. package/dist/utils/upload/UploadManager.js +131 -0
  33. package/dist/utils/upload/UploadManager.js.map +1 -0
  34. package/dist/utils/upload/context.d.ts +15 -0
  35. package/dist/utils/upload/context.d.ts.map +1 -0
  36. package/dist/utils/upload/context.js +37 -0
  37. package/dist/utils/upload/context.js.map +1 -0
  38. package/dist/utils/upload/errors.d.ts +17 -0
  39. package/dist/utils/upload/errors.d.ts.map +1 -0
  40. package/dist/utils/upload/errors.js +27 -0
  41. package/dist/utils/upload/errors.js.map +1 -0
  42. package/dist/utils/upload/types.d.ts +7 -0
  43. package/dist/utils/upload/types.d.ts.map +1 -0
  44. package/dist/utils/upload/types.js +2 -0
  45. package/dist/utils/upload/types.js.map +1 -0
  46. package/dist/utils/upload/utils.d.ts +4 -0
  47. package/dist/utils/upload/utils.d.ts.map +1 -0
  48. package/dist/utils/upload/utils.js +10 -0
  49. package/dist/utils/upload/utils.js.map +1 -0
  50. package/dist/views/Chat/AgentInfo.d.ts +2 -1
  51. package/dist/views/Chat/AgentInfo.d.ts.map +1 -1
  52. package/dist/views/Chat/AgentInfo.js +2 -2
  53. package/dist/views/Chat/AgentInfo.js.map +1 -1
  54. package/dist/views/Chat/ChatMessage.d.ts +1 -1
  55. package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
  56. package/dist/views/Chat/ChatMessage.js +26 -7
  57. package/dist/views/Chat/ChatMessage.js.map +1 -1
  58. package/dist/views/Chat/styled.d.ts.map +1 -1
  59. package/dist/views/Chat/styled.js +23 -1
  60. package/dist/views/Chat/styled.js.map +1 -1
  61. package/dist/views/MessageInput/{InfoBar.d.ts → ContextBar.d.ts} +2 -2
  62. package/dist/views/MessageInput/ContextBar.d.ts.map +1 -0
  63. package/dist/views/MessageInput/{InfoBar.js → ContextBar.js} +5 -5
  64. package/dist/views/MessageInput/ContextBar.js.map +1 -0
  65. package/dist/views/MessageInput/SelectContent.d.ts.map +1 -1
  66. package/dist/views/MessageInput/SelectContent.js +14 -17
  67. package/dist/views/MessageInput/SelectContent.js.map +1 -1
  68. package/dist/views/MessageInput/UploadBar.d.ts +2 -0
  69. package/dist/views/MessageInput/UploadBar.d.ts.map +1 -0
  70. package/dist/views/MessageInput/UploadBar.js +47 -0
  71. package/dist/views/MessageInput/UploadBar.js.map +1 -0
  72. package/dist/views/MessageInput/dictionary.d.ts +1 -1
  73. package/dist/views/MessageInput/dictionary.d.ts.map +1 -1
  74. package/dist/views/MessageInput/dictionary.js +18 -4
  75. package/dist/views/MessageInput/dictionary.js.map +1 -1
  76. package/dist/views/MessageInput/index.d.ts.map +1 -1
  77. package/dist/views/MessageInput/index.js +46 -5
  78. package/dist/views/MessageInput/index.js.map +1 -1
  79. package/dist/views/MessageInput/styled.d.ts.map +1 -1
  80. package/dist/views/MessageInput/styled.js +56 -27
  81. package/dist/views/MessageInput/styled.js.map +1 -1
  82. package/dist/views/Steps/dictionary.d.ts +1 -1
  83. package/package.json +2 -2
  84. package/src/app-metadata.json +3 -3
  85. package/src/chat-interceptors/send-message.ts +3 -3
  86. package/src/components/FileDescription.tsx +114 -0
  87. package/src/state/ChatEntry.ts +10 -0
  88. package/src/state/ChatState.ts +6 -0
  89. package/src/state/constants.ts +12 -0
  90. package/src/state/types.ts +5 -0
  91. package/src/utils/chat.ts +3 -1
  92. package/src/utils/upload/FileUpload.ts +64 -0
  93. package/src/utils/upload/UploadManager.ts +147 -0
  94. package/src/utils/upload/context.tsx +44 -0
  95. package/src/utils/upload/errors.ts +34 -0
  96. package/src/utils/upload/types.ts +7 -0
  97. package/src/utils/upload/utils.ts +12 -0
  98. package/src/views/Chat/AgentInfo.tsx +3 -2
  99. package/src/views/Chat/ChatMessage.tsx +139 -113
  100. package/src/views/Chat/styled.ts +23 -1
  101. package/src/views/MessageInput/{InfoBar.tsx → ContextBar.tsx} +9 -9
  102. package/src/views/MessageInput/SelectContent.tsx +17 -21
  103. package/src/views/MessageInput/UploadBar.tsx +69 -0
  104. package/src/views/MessageInput/dictionary.ts +18 -4
  105. package/src/views/MessageInput/index.tsx +77 -32
  106. package/src/views/MessageInput/styled.ts +56 -27
  107. package/dist/views/MessageInput/InfoBar.d.ts.map +0 -1
  108. package/dist/views/MessageInput/InfoBar.js.map +0 -1
@@ -0,0 +1,131 @@
1
+ import { pull } from 'lodash';
2
+ import { FileAlreadyExists, FileIsTooLarge, MaxFilesReached } from './errors.js';
3
+ import { FileUpload } from './FileUpload.js';
4
+ import { getFileId, unitPower } from './utils.js';
5
+ export class UploadManager {
6
+ changeListeners = [];
7
+ statusListeners = [];
8
+ errorListeners = [];
9
+ input = null;
10
+ value = [];
11
+ maxSize;
12
+ maxItems;
13
+ accept;
14
+ onDestroy = () => { };
15
+ status = 'idle';
16
+ constructor(options) {
17
+ this.maxSize = options?.maxSize;
18
+ this.accept = options?.accept ?? [];
19
+ this.maxItems = options?.maxItems ?? 0;
20
+ }
21
+ runChangeListeners() {
22
+ this.changeListeners.forEach(l => l(this.value));
23
+ }
24
+ runStatusListeners() {
25
+ const status = this.computeStatus();
26
+ if (status === this.status)
27
+ return;
28
+ this.status = status;
29
+ this.statusListeners.forEach(l => l(status));
30
+ }
31
+ hasEquivalentFile(file) {
32
+ const id = getFileId(file);
33
+ return this.value.some(f => id === f.id);
34
+ }
35
+ attachEventListeners() {
36
+ const handleChange = () => {
37
+ const newFiles = [];
38
+ const errors = [];
39
+ for (const f of this.input?.files ?? []) {
40
+ if (this.maxSize && f.size > this.maxSize.value * Math.pow(1024, unitPower[this.maxSize?.unit])) {
41
+ errors.push(new FileIsTooLarge(f.name, this.maxSize));
42
+ }
43
+ else if (this.maxItems && this.value.length + newFiles.length === this.maxItems) {
44
+ errors.push(new MaxFilesReached(f.name, this.maxItems));
45
+ }
46
+ else if (this.hasEquivalentFile(f)) {
47
+ errors.push(new FileAlreadyExists(f.name));
48
+ }
49
+ else {
50
+ const upload = new FileUpload(f);
51
+ newFiles.push(upload);
52
+ upload.onChange(() => this.runStatusListeners());
53
+ }
54
+ }
55
+ if (newFiles.length) {
56
+ this.value = [...this.value, ...newFiles];
57
+ this.runChangeListeners();
58
+ this.runStatusListeners();
59
+ }
60
+ if (errors.length) {
61
+ this.errorListeners.forEach(l => l(errors));
62
+ }
63
+ this.destroy();
64
+ };
65
+ this.onDestroy = () => this.input?.removeEventListener('change', handleChange);
66
+ this.input?.addEventListener('change', handleChange);
67
+ }
68
+ createInput() {
69
+ this.input = document.createElement('input');
70
+ this.input.setAttribute('type', 'file');
71
+ this.input.setAttribute('multiple', '');
72
+ this.input.setAttribute('style', 'display: none');
73
+ this.input.setAttribute('accept', `.${this.accept.join(',.')}`);
74
+ document.body.append(this.input);
75
+ this.attachEventListeners();
76
+ }
77
+ computeStatus() {
78
+ let uploading = false;
79
+ for (const f of this.value) {
80
+ if (f.status === 'error')
81
+ return 'error';
82
+ if (f.status === 'pending')
83
+ uploading = true;
84
+ }
85
+ return uploading ? 'uploading' : 'idle';
86
+ }
87
+ open() {
88
+ this.createInput();
89
+ this.input?.click();
90
+ }
91
+ get() {
92
+ return this.value;
93
+ }
94
+ reset() {
95
+ this.value.forEach(f => f.destroy());
96
+ this.value = [];
97
+ this.runChangeListeners();
98
+ }
99
+ remove(file) {
100
+ file.destroy();
101
+ this.value = this.value.filter(f => f !== file);
102
+ this.runChangeListeners();
103
+ this.runStatusListeners();
104
+ }
105
+ onChange(listener) {
106
+ this.changeListeners.push(listener);
107
+ return () => {
108
+ pull(this.changeListeners, listener);
109
+ };
110
+ }
111
+ onChangeStatus(listener) {
112
+ this.statusListeners.push(listener);
113
+ return () => {
114
+ pull(this.statusListeners, listener);
115
+ };
116
+ }
117
+ onError(listener) {
118
+ this.errorListeners.push(listener);
119
+ return () => {
120
+ pull(this.errorListeners, listener);
121
+ };
122
+ }
123
+ isFull() {
124
+ return !!this.maxItems && this.value.length === this.maxItems;
125
+ }
126
+ destroy() {
127
+ this.onDestroy();
128
+ this.input?.remove();
129
+ }
130
+ }
131
+ //# sourceMappingURL=UploadManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadManager.js","sourceRoot":"","sources":["../../../src/utils/upload/UploadManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ import { UploadError } from './errors.js';
3
+ import { FileUpload } from './FileUpload.js';
4
+ import { FileUploadStatus } from './types.js';
5
+ import { UploadManager, UploadManagerStatus } from './UploadManager.js';
6
+ export declare const UploadProvider: ({ value, children }: {
7
+ value: UploadManager;
8
+ children: ReactNode;
9
+ }) => import("react/jsx-runtime").JSX.Element;
10
+ export declare function useUploadManager(): UploadManager;
11
+ export declare function useUploads(): FileUpload[];
12
+ export declare function useUploadErrorEffect(effect: (errors: UploadError[]) => void): void;
13
+ export declare function useUploadManagerStatus(): UploadManagerStatus;
14
+ export declare function useUploadStatus(file: FileUpload): FileUploadStatus;
15
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/utils/upload/context.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,SAAS,EAAmC,MAAM,OAAO,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAIpE,eAAO,MAAM,cAAc,wBAA+C;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,4CAGtH,CAAA;AAED,wBAAgB,gBAAgB,kBAI/B;AAED,wBAAgB,UAAU,IAAI,UAAU,EAAE,CAKzC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,QAG3E;AAED,wBAAgB,sBAAsB,wBAKrC;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,oBAI/C"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffectOnce } from '@stack-spot/portal-components';
3
+ import { createContext, useContext, useEffect, useState } from 'react';
4
+ import { UploadManager } from './UploadManager.js';
5
+ const context = createContext(undefined);
6
+ export const UploadProvider = ({ value = new UploadManager(), children }) => {
7
+ useEffectOnce(() => () => value.destroy());
8
+ return _jsx(context.Provider, { value: value, children: children });
9
+ };
10
+ export function useUploadManager() {
11
+ const manager = useContext(context);
12
+ if (!manager)
13
+ throw new Error('"useUploadManager()" must be used only within the context of an <UploadProvider>.');
14
+ return manager;
15
+ }
16
+ export function useUploads() {
17
+ const manager = useUploadManager();
18
+ const [files, setFiles] = useState([]);
19
+ useEffect(() => manager.onChange(setFiles));
20
+ return files;
21
+ }
22
+ export function useUploadErrorEffect(effect) {
23
+ const manager = useUploadManager();
24
+ useEffect(() => manager.onError(effect));
25
+ }
26
+ export function useUploadManagerStatus() {
27
+ const manager = useUploadManager();
28
+ const [status, setStatus] = useState(manager.status);
29
+ useEffect(() => manager.onChangeStatus(setStatus));
30
+ return status;
31
+ }
32
+ export function useUploadStatus(file) {
33
+ const [status, setStatus] = useState(file.status);
34
+ useEffect(() => file.onChange(setStatus));
35
+ return status;
36
+ }
37
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/utils/upload/context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAa,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAIjF,OAAO,EAAE,aAAa,EAAuB,MAAM,iBAAiB,CAAA;AAEpE,MAAM,OAAO,GAAG,aAAa,CAA4B,SAAS,CAAC,CAAA;AAEnE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,aAAa,EAAE,EAAE,QAAQ,EAAiD,EAAE,EAAE;IACzH,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1C,OAAO,KAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAoB,CAAA;AACtE,CAAC,CAAA;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACnC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAA;IAClH,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;IAClC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAA;IACpD,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3C,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAuC;IAC1E,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;IAClC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;IAClC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAsB,OAAO,CAAC,MAAM,CAAC,CAAA;IACzE,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAA;IAClD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAgB;IAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,MAAM,CAAC,CAAA;IACnE,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IACzC,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { FileSize } from '../../state/types.js';
2
+ export declare class UploadError extends Error {
3
+ readonly fileName: string;
4
+ constructor(fileName: string, message?: string);
5
+ }
6
+ export declare class FileIsTooLarge extends UploadError {
7
+ readonly maxSize: FileSize;
8
+ constructor(fileName: string, maxSize: FileSize);
9
+ }
10
+ export declare class FileAlreadyExists extends UploadError {
11
+ constructor(fileName: string);
12
+ }
13
+ export declare class MaxFilesReached extends UploadError {
14
+ readonly maxFiles: number;
15
+ constructor(fileName: string, maxFiles: number);
16
+ }
17
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/utils/upload/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;gBAEb,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAI/C;AAED,qBAAa,cAAe,SAAQ,WAAW;IAC7C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;gBAEd,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;CAIhD;AAED,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,QAAQ,EAAE,MAAM;CAG7B;AAED,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;gBAEb,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAI/C"}
@@ -0,0 +1,27 @@
1
+ export class UploadError extends Error {
2
+ fileName;
3
+ constructor(fileName, message) {
4
+ super(message || `There was an error while uploading ${fileName}`);
5
+ this.fileName = fileName;
6
+ }
7
+ }
8
+ export class FileIsTooLarge extends UploadError {
9
+ maxSize;
10
+ constructor(fileName, maxSize) {
11
+ super(fileName, `Can't upload ${fileName} because it exceeds the maximum file size of ${maxSize.value} ${maxSize.unit}.`);
12
+ this.maxSize = maxSize;
13
+ }
14
+ }
15
+ export class FileAlreadyExists extends UploadError {
16
+ constructor(fileName) {
17
+ super(fileName, `Can't upload ${fileName} because it is already on the list.`);
18
+ }
19
+ }
20
+ export class MaxFilesReached extends UploadError {
21
+ maxFiles;
22
+ constructor(fileName, maxFiles) {
23
+ super(fileName, `Can't upload ${fileName} because the maximum number of files (${maxFiles}) has been reached.`);
24
+ this.maxFiles = maxFiles;
25
+ }
26
+ }
27
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/upload/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,QAAQ,CAAQ;IAEzB,YAAY,QAAgB,EAAE,OAAgB;QAC5C,KAAK,CAAC,OAAO,IAAI,sCAAsC,QAAQ,EAAE,CAAC,CAAA;QAClE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,WAAW;IACpC,OAAO,CAAU;IAE1B,YAAY,QAAgB,EAAE,OAAiB;QAC7C,KAAK,CAAC,QAAQ,EAAE,gBAAgB,QAAQ,gDAAgD,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;QACzH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,YAAY,QAAgB;QAC1B,KAAK,CAAC,QAAQ,EAAE,gBAAgB,QAAQ,qCAAqC,CAAC,CAAA;IAChF,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,WAAW;IACrC,QAAQ,CAAQ;IAEzB,YAAY,QAAgB,EAAE,QAAgB;QAC5C,KAAK,CAAC,QAAQ,EAAE,gBAAgB,QAAQ,yCAAyC,QAAQ,qBAAqB,CAAC,CAAA;QAC/G,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ export interface FileDescription {
2
+ id: string;
3
+ name: string;
4
+ extension: string;
5
+ }
6
+ export type FileUploadStatus = 'pending' | 'success' | 'error';
7
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/upload/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/upload/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { FileSize } from '../../state/types.js';
2
+ export declare function getFileId(file: File): string;
3
+ export declare const unitPower: Record<FileSize['unit'], number>;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/upload/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,UAEnC;AAED,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAKtD,CAAA"}
@@ -0,0 +1,10 @@
1
+ export function getFileId(file) {
2
+ return `${file.name}|${file.lastModified}|${file.size}`;
3
+ }
4
+ export const unitPower = {
5
+ B: 0,
6
+ KB: 1,
7
+ MB: 2,
8
+ GB: 3,
9
+ };
10
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/upload/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,IAAU;IAClC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAqC;IACzD,CAAC,EAAE,CAAC;IACJ,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;CACN,CAAA"}
@@ -1,10 +1,11 @@
1
1
  import { LabeledWithImage } from '../../state/types.js';
2
2
  interface Props {
3
3
  agent?: LabeledWithImage;
4
+ icon?: React.ReactElement;
4
5
  }
5
6
  /**
6
7
  * Renders the avatar of an agent in a message.
7
8
  */
8
- export declare const AgentInfo: ({ agent }: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const AgentInfo: ({ agent, icon }: Props) => import("react/jsx-runtime").JSX.Element;
9
10
  export {};
10
11
  //# sourceMappingURL=AgentInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentInfo.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/AgentInfo.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,cAAe,KAAK,4CAQzC,CAAA"}
1
+ {"version":3,"file":"AgentInfo.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/AgentInfo.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,oBAAqB,KAAK,4CAQ/C,CAAA"}
@@ -4,7 +4,7 @@ import { Agent } from '@citric/icons';
4
4
  /**
5
5
  * Renders the avatar of an agent in a message.
6
6
  */
7
- export const AgentInfo = ({ agent }) => (_jsxs(_Fragment, { children: [agent?.image
7
+ export const AgentInfo = ({ agent, icon }) => (_jsxs(_Fragment, { children: [agent?.image
8
8
  ? _jsx("img", { src: agent.image, className: "custom-agent-image" })
9
- : _jsx(IconBox, { className: "default-image-wrapper", colorIcon: "light.700", children: _jsx(Agent, { className: "agent-image" }) }), _jsx(Text, { appearance: "body2", children: agent?.label })] }));
9
+ : _jsx(IconBox, { className: "default-image-wrapper", colorIcon: "light.700", children: icon ?? _jsx(Agent, { className: "agent-image" }) }), _jsx(Text, { appearance: "body2", children: agent?.label })] }));
10
10
  //# sourceMappingURL=AgentInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentInfo.js","sourceRoot":"","sources":["../../../src/views/Chat/AgentInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAOrC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAS,EAAE,EAAE,CAAC,CAC7C,8BACG,KAAK,EAAE,KAAK;YACX,CAAC,CAAC,cAAK,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAC,oBAAoB,GAAG;YAC1D,CAAC,CAAC,KAAC,OAAO,IAAC,SAAS,EAAC,uBAAuB,EAAC,SAAS,EAAC,WAAW,YAAC,KAAC,KAAK,IAAC,SAAS,EAAC,aAAa,GAAG,GAAU,EAEhH,KAAC,IAAI,IAAC,UAAU,EAAC,OAAO,YAAE,KAAK,EAAE,KAAK,GAAQ,IAC7C,CACJ,CAAA"}
1
+ {"version":3,"file":"AgentInfo.js","sourceRoot":"","sources":["../../../src/views/Chat/AgentInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAQrC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAS,EAAE,EAAE,CAAC,CACnD,8BACG,KAAK,EAAE,KAAK;YACX,CAAC,CAAC,cAAK,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAC,oBAAoB,GAAG;YAC1D,CAAC,CAAC,KAAC,OAAO,IAAC,SAAS,EAAC,uBAAuB,EAAC,SAAS,EAAC,WAAW,YAAE,IAAI,IAAI,KAAC,KAAK,IAAC,SAAS,EAAC,aAAa,GAAG,GAAW,EAE1H,KAAC,IAAI,IAAC,UAAU,EAAC,OAAO,YAAE,KAAK,EAAE,KAAK,GAAQ,IAC7C,CACJ,CAAA"}
@@ -32,6 +32,6 @@ interface Props extends CustomMessage {
32
32
  /**
33
33
  * Renders a message (ChatEntry) in the chat.
34
34
  */
35
- export declare const ChatMessage: ({ message, isLast, beforeMessage, afterMessage }: Props) => false | "" | import("react/jsx-runtime").JSX.Element;
35
+ export declare const ChatMessage: ({ message, isLast, beforeMessage, afterMessage }: Props) => "" | 0 | import("react/jsx-runtime").JSX.Element | undefined;
36
36
  export {};
37
37
  //# sourceMappingURL=ChatMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"AAQA,OAAO,qCAAqC,CAAA;AAI5C,OAAO,EAAE,SAAS,EAAqC,MAAM,uBAAuB,CAAA;AAQpF,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IACjD;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,UAAU,KAAM,SAAQ,aAAa;IACnC;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AA2HD;;GAEG;AACH,eAAO,MAAM,WAAW,qDAAsD,KAAK,yDAuPlF,CAAA"}
1
+ {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"AASA,OAAO,qCAAqC,CAAA;AAK5C,OAAO,EAAE,SAAS,EAAqC,MAAM,uBAAuB,CAAA;AAQpF,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IACjD;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,UAAU,KAAM,SAAQ,aAAa;IACnC;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAmID;;GAEG;AACH,eAAO,MAAM,WAAW,qDAAsD,KAAK,iEAuQlF,CAAA"}
@@ -5,9 +5,11 @@ import { Badge, IconButton, Tooltip } from '@citric/ui';
5
5
  import { agentClient } from '@stack-spot/portal-network';
6
6
  import { listToClass } from '@stack-spot/portal-theme';
7
7
  import { useTranslate } from '@stack-spot/portal-translate';
8
+ import { groupBy } from 'lodash';
8
9
  import { createElement, useCallback, useMemo, useRef, useState } from 'react';
9
10
  import { PhoneInput } from 'react-international-phone';
10
11
  import 'react-international-phone/style.css';
12
+ import { FileDescription } from '../../components/FileDescription.js';
11
13
  import { Markdown } from '../../components/Markdown.js';
12
14
  import { StackedBadge } from '../../components/StackedBadge.js';
13
15
  import { useChatEntry, useCurrentChat, useWidget } from '../../context/hooks.js';
@@ -71,6 +73,13 @@ const RenderInputsEntry = ({ isLast, entry, value, setValue, labels, setLabels }
71
73
  };
72
74
  return _jsxs(Flex, { flexDirection: "column", children: [_jsx(Text, { appearance: "body2", mb: 4, children: entry.content }), isLast && renderInputs()] });
73
75
  };
76
+ const UserInfo = ({ entry }) => {
77
+ switch (entry.agentType) {
78
+ case 'user': return;
79
+ case 'bot': return _jsx(AgentInfo, { agent: entry.agent });
80
+ case 'system': return _jsx(AgentInfo, { agent: { id: 'system', label: 'System' }, icon: _jsx(Cog, {}) });
81
+ }
82
+ };
74
83
  /**
75
84
  * Renders a message (ChatEntry) in the chat.
76
85
  */
@@ -81,7 +90,6 @@ export const ChatMessage = ({ message, isLast, beforeMessage, afterMessage }) =>
81
90
  const [labels, setLabels] = useState(message.getValue()?.initialValue ?? []);
82
91
  const entry = useChatEntry(message);
83
92
  const dateFormatter = useDateFormatter();
84
- const userInfo = entry.agentType === 'user' ? _jsx(_Fragment, {}) : _jsx(AgentInfo, { agent: entry.agent });
85
93
  const date = new Date(entry.updated ?? '');
86
94
  const shouldShowFooter = entry.updated && !isNaN(date.getTime());
87
95
  const ref = useRef(null);
@@ -139,12 +147,23 @@ export const ChatMessage = ({ message, isLast, beforeMessage, afterMessage }) =>
139
147
  setCopied(true);
140
148
  setTimeout(() => setCopied(false), 2000);
141
149
  };
150
+ const renderUploads = () => {
151
+ const groups = groupBy(entry.upload, f => f.image ? 'images' : 'documents');
152
+ const lists = [];
153
+ if (groups.images?.length) {
154
+ lists.push(_jsx("ul", { className: "image-uploads", children: groups.images.map(f => _jsx("li", { children: _jsx("img", { src: f.image }) }, f.id)) }));
155
+ }
156
+ if (groups.documents?.length) {
157
+ lists.push(_jsx("ul", { className: "document-uploads", children: groups.documents.map(f => _jsx("li", { children: _jsx(FileDescription, { fileName: f.name }) }, f.id)) }));
158
+ }
159
+ return lists;
160
+ };
142
161
  const renderContent = () => {
143
162
  if (entry.type === 'md') {
144
- return _jsxs(_Fragment, { children: [_jsx(Markdown, { onCopyCode: (code) => onCopyCode(code, entry.messageId ?? '', chat), children: entry.content }), renderActions()] });
163
+ return _jsxs(_Fragment, { children: [renderUploads(), _jsx(Markdown, { onCopyCode: (code) => onCopyCode(code, entry.messageId ?? '', chat), children: entry.content }), renderActions()] });
145
164
  }
146
165
  if (entry.type === 'text') {
147
- return _jsxs(_Fragment, { children: [_jsx("p", { className: "plain-text", children: entry.content }), renderActions()] });
166
+ return _jsxs(_Fragment, { children: [_jsx("p", { className: "plain-text", children: entry.content }), renderUploads(), renderActions()] });
148
167
  }
149
168
  return _jsxs("form", { children: [_jsx(RenderInputsEntry, { entry: entry, isLast: isLast, value: value, setValue: setValue, setLabels: setLabels, labels: labels }), _jsx(Box, { mt: "4", children: renderActions() })] });
150
169
  };
@@ -152,10 +171,10 @@ export const ChatMessage = ({ message, isLast, beforeMessage, afterMessage }) =>
152
171
  widget.set('currentMessageInPanel', { chatId: chat.id, messageId: message.id });
153
172
  widget.set('panel', 'tools');
154
173
  }
155
- return (entry.content || entry.error || !!entry.steps?.length) && (_jsxs("li", { className: entry.agentType, ref: ref, children: [_jsxs("div", { className: "chat-message", ref: chatRef, onKeyDown: handleKeyDown, tabIndex: 0, onMouseEnter: entry.agentType === 'user' ? () => setShowUserButtonCopy(true) : undefined, onMouseLeave: entry.agentType === 'user' ? () => setShowUserButtonCopy(false) : undefined, children: [_jsx("div", { className: `user-info ${entry.agentType}`, children: userInfo }), beforeMessage && createElement(beforeMessage, { message }), (entry.content || entry.steps) && _jsxs("div", { className: listToClass(['message-content', entry.card && 'card', entry.type]), children: [!!entry.badges?.length && _jsx("div", { className: "badges", children: entry.badges.map((b, index) => _jsx(Badge, { palette: b.color ?? 'cyan', appearance: "square", children: b.label }, index)) }), renderContent(), !!entry.steps?.length && _jsx(StepsList, { steps: entry.steps, chatId: chat.id, messageId: message.id })] }), entry.error && (_jsxs("div", { className: "error", children: [_jsx(IconBox, { size: "xs", children: _jsx(TimesCircle, {}) }), _jsx(Text, { appearance: "microtext1", children: entry.error })] }))] }), afterMessage && createElement(afterMessage, { message }), !!entry.tools?.length && _jsx(StackedBadge, { "aria-label": t.openToolsPanel, title: t.openToolsPanel, tabIndex: 0, role: "button", className: "tools-badge", label: t.tools, images: entry.tools.slice(0, 3).map((id) => {
156
- const tool = toolById(id, agent?.toolkits);
157
- return { key: id, name: tool?.name || id, icon: _jsx(Cog, {}), url: tool?.image };
158
- }), onClick: openToolsPanel }), !!entry.knowledgeSources?.length && _jsxs("div", { className: "ks-box", children: [_jsx(Text, { appearance: "microtext1", colorScheme: "light.700", children: "Knowledge Sources:" }), _jsx("ul", { children: entry.knowledgeSources.map((ks, index) => (_jsx("li", { children: _jsx(Button, { size: "sm", colorScheme: "light", onClick: () => detailKS(ks), children: ks.name }) }, index))) })] }), shouldShowFooter && _jsxs("div", { className: "message-footer", onMouseEnter: entry.agentType === 'user' ? () => setShowUserButtonCopy(true) : undefined, onMouseLeave: entry.agentType === 'user' ? () => setShowUserButtonCopy(false) : undefined, children: [entry.agentType === 'bot' && !entry.error && _jsxs("div", { className: "message-actions", children: [entry.type === 'md' && (copied ? (_jsx(Tooltip, { text: t.copied, position: 'right', children: _jsx(IconButton, { appearance: "square", colorBg: "light", title: t.copied, "aria-label": t.copied, onClick: handleCopy, children: _jsx(Check, {}) }) })) : (_jsx(IconButton, { appearance: "square", color: "light", title: t.copy, "aria-label": t.copy, onClick: handleCopy, children: _jsx(Copy, {}) }))), entry.messageId && (_jsxs(_Fragment, { children: [_jsx(IconButton, { appearance: "square", color: "light", title: t.like, "aria-label": t.like, onClick: like, children: liked === true ? _jsx(LikeFill, {}) : _jsx(Like, {}) }), _jsx(IconButton, { appearance: "square", color: "light", title: t.dislike, "aria-label": t.dislike, onClick: dislike, children: liked === false ? _jsx(DislikeFill, {}) : _jsx(Dislike, {}) })] }))] }), entry.agentType === 'user' && (_jsx("div", { className: "message-actions", children: copied ? (_jsx(Tooltip, { text: t.copied, position: 'left', children: _jsx(IconButton, { appearance: "square", colorBg: "light", title: t.copied, "aria-label": t.copied, size: "sm", children: _jsx(Check, {}) }) })) : (showUserButtonCopy && (_jsx("div", { className: "action-bar", children: _jsx(IconButton, { appearance: "square", color: "light", title: t.copy, "aria-label": t.copy, onClick: handleCopy, size: "sm", children: _jsx(Copy, { className: "copy-btn" }) }) }))) })), _jsx(Text, { as: "label", appearance: "microtext1", className: "chat-date", children: dateFormatter.formatForChatMessage(date) })] })] }, entry.messageId));
174
+ return (entry.content || entry.error || !!entry.steps?.length || entry.upload?.length) && (_jsx("li", { className: entry.agentType, ref: ref, children: _jsxs("div", { className: "chat-message-container", onMouseEnter: entry.agentType === 'user' ? () => setShowUserButtonCopy(true) : undefined, onMouseLeave: entry.agentType === 'user' ? () => setShowUserButtonCopy(false) : undefined, children: [_jsxs("div", { className: "chat-message", ref: chatRef, onKeyDown: handleKeyDown, tabIndex: 0, children: [_jsx("div", { className: `user-info ${entry.agentType}`, children: _jsx(UserInfo, { entry: entry }) }), beforeMessage && createElement(beforeMessage, { message }), (entry.content || entry.steps || entry.upload?.length) && (_jsxs("div", { className: listToClass(['message-content', entry.card && 'card', entry.type]), children: [!!entry.badges?.length && _jsx("div", { className: "badges", children: entry.badges.map((b, index) => _jsx(Badge, { palette: b.color ?? 'cyan', appearance: "square", children: b.label }, index)) }), renderContent(), !!entry.steps?.length && _jsx(StepsList, { steps: entry.steps, chatId: chat.id, messageId: message.id })] })), entry.error && (_jsxs("div", { className: "error", children: [_jsx(IconBox, { size: "xs", children: _jsx(TimesCircle, {}) }), _jsx(Text, { appearance: "microtext1", children: entry.error })] }))] }), afterMessage && createElement(afterMessage, { message }), !!entry.tools?.length && _jsx(StackedBadge, { "aria-label": t.openToolsPanel, title: t.openToolsPanel, tabIndex: 0, role: "button", className: "tools-badge", label: t.tools, images: entry.tools.slice(0, 3).map((id) => {
175
+ const tool = toolById(id, agent?.toolkits);
176
+ return { key: id, name: tool?.name || id, icon: _jsx(Cog, {}), url: tool?.image };
177
+ }), onClick: openToolsPanel }), !!entry.knowledgeSources?.length && _jsxs("div", { className: "ks-box", children: [_jsx(Text, { appearance: "microtext1", colorScheme: "light.700", children: "Knowledge Sources:" }), _jsx("ul", { children: entry.knowledgeSources.map((ks, index) => (_jsx("li", { children: _jsx(Button, { size: "sm", colorScheme: "light", onClick: () => detailKS(ks), children: ks.name }) }, index))) })] }), shouldShowFooter && _jsxs("div", { className: "message-footer", children: [entry.agentType === 'bot' && !entry.error && _jsxs("div", { className: "message-actions", children: [entry.type === 'md' && (copied ? (_jsx(Tooltip, { text: t.copied, position: 'right', children: _jsx(IconButton, { appearance: "square", colorBg: "light", title: t.copied, "aria-label": t.copied, onClick: handleCopy, children: _jsx(Check, {}) }) })) : (_jsx(IconButton, { appearance: "square", color: "light", title: t.copy, "aria-label": t.copy, onClick: handleCopy, children: _jsx(Copy, {}) }))), entry.messageId && (_jsxs(_Fragment, { children: [_jsx(IconButton, { appearance: "square", color: "light", title: t.like, "aria-label": t.like, onClick: like, children: liked === true ? _jsx(LikeFill, {}) : _jsx(Like, {}) }), _jsx(IconButton, { appearance: "square", color: "light", title: t.dislike, "aria-label": t.dislike, onClick: dislike, children: liked === false ? _jsx(DislikeFill, {}) : _jsx(Dislike, {}) })] }))] }), entry.agentType === 'user' && (_jsx("div", { className: "message-actions", children: copied ? (_jsx(Tooltip, { text: t.copied, position: 'left', children: _jsx(IconButton, { appearance: "square", colorBg: "light", title: t.copied, "aria-label": t.copied, size: "sm", children: _jsx(Check, {}) }) })) : (showUserButtonCopy && (_jsx("div", { className: "action-bar", children: _jsx(IconButton, { appearance: "square", color: "light", title: t.copy, "aria-label": t.copy, onClick: handleCopy, size: "sm", children: _jsx(Copy, { className: "copy-btn" }) }) }))) })), _jsx(Text, { as: "label", appearance: "microtext1", className: "chat-date", children: dateFormatter.formatForChatMessage(date) })] })] }) }, entry.messageId));
159
178
  };
160
179
  const dictionary = {
161
180
  en: {
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/styled.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAE7E,eAAO,MAAM,QAAQ,EAAE,oBAAoB,CACzC,KAAK,EACL,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAgQvF,CAAA"}
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/styled.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAE7E,eAAO,MAAM,QAAQ,EAAE,oBAAoB,CACzC,KAAK,EACL,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAsRvF,CAAA"}
@@ -33,7 +33,7 @@ export const ChatList = styled.ul `
33
33
  flex-direction: row;
34
34
  gap: 10px;
35
35
 
36
- &.bot {
36
+ &.bot, &.system {
37
37
  align-items: center;
38
38
  }
39
39
  }
@@ -57,6 +57,7 @@ export const ChatList = styled.ul `
57
57
  flex-direction: row;
58
58
  align-items: center;
59
59
  gap: 8px;
60
+ margin-top: 10px;
60
61
 
61
62
  .message-actions {
62
63
  display: flex;
@@ -132,12 +133,33 @@ export const ChatList = styled.ul `
132
133
  background: linear-gradient(180deg, ${theme.color.blue[500]} 0%, ${theme.color.indigo[500]} 100%);
133
134
  }
134
135
  }
136
+ .image-uploads, .document-uploads {
137
+ display: flex;
138
+ flex-direction: row;
139
+ flex-wrap: nowrap;
140
+ gap: 8px;
141
+ list-style: none;
142
+ margin: 0 0 4px 0;
143
+ padding: 0;
144
+
145
+ img {
146
+ max-width: 240px;
147
+ max-height: 240px;
148
+ }
149
+ }
135
150
  }
136
151
 
137
152
  &.user {
138
153
  align-items: end;
139
154
  margin-left: 40px;
140
155
 
156
+ .chat-message-container {
157
+ display: flex;
158
+ flex-direction: column;
159
+ max-width: 100%;
160
+ align-items: end;
161
+ }
162
+
141
163
  .chat-message {
142
164
  display: flex;
143
165
  flex-direction: row;
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/views/Chat/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,MAAM,CAAC,MAAM,QAAQ,GAGjB,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;wBAcW,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;aAClC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;;;;;cAK9B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA4BnB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAwCjB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;8BAItB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA2BxB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;gDAUF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;8BAmBtE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;wBAyB5B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkF7C,CAAA"}
1
+ {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/views/Chat/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,MAAM,CAAC,MAAM,QAAQ,GAGjB,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;wBAcW,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;aAClC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;;;;;cAK9B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA4BnB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAyCjB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;8BAItB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA2BxB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;gDAUF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAwCtE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;wBAyB5B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkF7C,CAAA"}
@@ -5,5 +5,5 @@
5
5
  * - which stack is being used;
6
6
  * - which knowledge sources are being used.
7
7
  */
8
- export declare const InfoBar: () => import("react/jsx-runtime").JSX.Element;
9
- //# sourceMappingURL=InfoBar.d.ts.map
8
+ export declare const ContextBar: () => import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=ContextBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextBar.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/ContextBar.tsx"],"names":[],"mappings":"AA6BA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,+CA8EtB,CAAA"}