@memori.ai/memori-react 8.2.0 → 8.4.0-rc.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 (146) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/components/Chat/Chat.js +8 -1
  3. package/dist/components/Chat/Chat.js.map +1 -1
  4. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +160 -0
  5. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +4 -0
  6. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +166 -0
  7. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -0
  8. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +877 -0
  9. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +3 -0
  10. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +115 -0
  11. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -0
  12. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +238 -0
  13. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.d.ts +4 -0
  14. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +104 -0
  15. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -0
  16. package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.css +319 -0
  17. package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.d.ts +4 -0
  18. package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js +50 -0
  19. package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js.map +1 -0
  20. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +343 -0
  21. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +4 -0
  22. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +78 -0
  23. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -0
  24. package/dist/components/MemoriArtifactSystem/context/ArtifactSystemContext.d.ts +12 -0
  25. package/dist/components/MemoriArtifactSystem/context/ArtifactSystemContext.js +22 -0
  26. package/dist/components/MemoriArtifactSystem/context/ArtifactSystemContext.js.map +1 -0
  27. package/dist/components/MemoriArtifactSystem/hooks/useArtifactSystem.d.ts +12 -0
  28. package/dist/components/MemoriArtifactSystem/hooks/useArtifactSystem.js +288 -0
  29. package/dist/components/MemoriArtifactSystem/hooks/useArtifactSystem.js.map +1 -0
  30. package/dist/components/MemoriArtifactSystem/index.d.ts +9 -0
  31. package/dist/components/MemoriArtifactSystem/index.js +28 -0
  32. package/dist/components/MemoriArtifactSystem/index.js.map +1 -0
  33. package/dist/components/MemoriArtifactSystem/types/artifact.types.d.ts +108 -0
  34. package/dist/components/MemoriArtifactSystem/types/artifact.types.js +31 -0
  35. package/dist/components/MemoriArtifactSystem/types/artifact.types.js.map +1 -0
  36. package/dist/components/icons/Print.d.ts +6 -0
  37. package/dist/components/icons/Print.js +6 -0
  38. package/dist/components/icons/Print.js.map +1 -0
  39. package/dist/components/layouts/Chat.js +29 -1
  40. package/dist/components/layouts/Chat.js.map +1 -1
  41. package/dist/components/layouts/FullPage.js +33 -1
  42. package/dist/components/layouts/FullPage.js.map +1 -1
  43. package/dist/components/layouts/ZoomedFullBody.js +29 -2
  44. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  45. package/dist/components/layouts/chat.css +335 -13
  46. package/dist/components/layouts/zoomed-full-body.css +1 -3
  47. package/dist/helpers/message.js +1 -0
  48. package/dist/helpers/message.js.map +1 -1
  49. package/dist/helpers/stt/useSTT.js +76 -9
  50. package/dist/helpers/stt/useSTT.js.map +1 -1
  51. package/dist/index.js +58 -15
  52. package/dist/index.js.map +1 -1
  53. package/dist/styles.css +5 -0
  54. package/esm/components/Chat/Chat.js +8 -1
  55. package/esm/components/Chat/Chat.js.map +1 -1
  56. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +160 -0
  57. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +4 -0
  58. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +163 -0
  59. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -0
  60. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +877 -0
  61. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +3 -0
  62. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +112 -0
  63. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -0
  64. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +238 -0
  65. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.d.ts +4 -0
  66. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +101 -0
  67. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -0
  68. package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.css +319 -0
  69. package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.d.ts +4 -0
  70. package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js +47 -0
  71. package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js.map +1 -0
  72. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +343 -0
  73. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +4 -0
  74. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +75 -0
  75. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -0
  76. package/esm/components/MemoriArtifactSystem/context/ArtifactSystemContext.d.ts +12 -0
  77. package/esm/components/MemoriArtifactSystem/context/ArtifactSystemContext.js +17 -0
  78. package/esm/components/MemoriArtifactSystem/context/ArtifactSystemContext.js.map +1 -0
  79. package/esm/components/MemoriArtifactSystem/hooks/useArtifactSystem.d.ts +12 -0
  80. package/esm/components/MemoriArtifactSystem/hooks/useArtifactSystem.js +281 -0
  81. package/esm/components/MemoriArtifactSystem/hooks/useArtifactSystem.js.map +1 -0
  82. package/esm/components/MemoriArtifactSystem/index.d.ts +9 -0
  83. package/esm/components/MemoriArtifactSystem/index.js +9 -0
  84. package/esm/components/MemoriArtifactSystem/index.js.map +1 -0
  85. package/esm/components/MemoriArtifactSystem/types/artifact.types.d.ts +108 -0
  86. package/esm/components/MemoriArtifactSystem/types/artifact.types.js +28 -0
  87. package/esm/components/MemoriArtifactSystem/types/artifact.types.js.map +1 -0
  88. package/esm/components/icons/Print.d.ts +6 -0
  89. package/esm/components/icons/Print.js +4 -0
  90. package/esm/components/icons/Print.js.map +1 -0
  91. package/esm/components/layouts/Chat.js +29 -1
  92. package/esm/components/layouts/Chat.js.map +1 -1
  93. package/esm/components/layouts/FullPage.js +33 -1
  94. package/esm/components/layouts/FullPage.js.map +1 -1
  95. package/esm/components/layouts/ZoomedFullBody.js +30 -3
  96. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  97. package/esm/components/layouts/chat.css +335 -13
  98. package/esm/components/layouts/zoomed-full-body.css +1 -3
  99. package/esm/helpers/message.js +1 -0
  100. package/esm/helpers/message.js.map +1 -1
  101. package/esm/helpers/stt/useSTT.js +76 -9
  102. package/esm/helpers/stt/useSTT.js.map +1 -1
  103. package/esm/index.js +58 -15
  104. package/esm/index.js.map +1 -1
  105. package/esm/styles.css +5 -0
  106. package/package.json +1 -1
  107. package/src/components/Avatar/Avatar.test.tsx +13 -0
  108. package/src/components/Chat/Chat.stories.tsx +33 -2
  109. package/src/components/Chat/Chat.test.tsx +340 -213
  110. package/src/components/Chat/Chat.tsx +27 -4
  111. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +160 -0
  112. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +278 -0
  113. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +877 -0
  114. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +308 -0
  115. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +238 -0
  116. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +282 -0
  117. package/src/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.css +319 -0
  118. package/src/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.tsx +178 -0
  119. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +343 -0
  120. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +190 -0
  121. package/src/components/MemoriArtifactSystem/context/ArtifactSystemContext.tsx +57 -0
  122. package/src/components/MemoriArtifactSystem/hooks/useArtifactSystem.ts +419 -0
  123. package/src/components/MemoriArtifactSystem/index.ts +45 -0
  124. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +180 -0
  125. package/src/components/icons/Print.tsx +34 -0
  126. package/src/components/layouts/Chat.test.tsx +13 -0
  127. package/src/components/layouts/Chat.tsx +80 -25
  128. package/src/components/layouts/FullPage.test.tsx +40 -11
  129. package/src/components/layouts/FullPage.tsx +92 -24
  130. package/src/components/layouts/HiddenChat.test.tsx +13 -0
  131. package/src/components/layouts/Totem.test.tsx +13 -0
  132. package/src/components/layouts/WebsiteAssistant.test.tsx +13 -0
  133. package/src/components/layouts/ZoomedFullBody.test.tsx +13 -0
  134. package/src/components/layouts/ZoomedFullBody.tsx +78 -14
  135. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +252 -248
  136. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +504 -496
  137. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +252 -248
  138. package/src/components/layouts/chat.css +335 -13
  139. package/src/components/layouts/layouts.stories.tsx +13 -2
  140. package/src/components/layouts/zoomed-full-body.css +1 -3
  141. package/src/helpers/message.ts +1 -0
  142. package/src/helpers/stt/useSTT.ts +101 -16
  143. package/src/index.stories.tsx +26 -22
  144. package/src/index.tsx +46 -0
  145. package/src/mocks/data.ts +258 -0
  146. package/src/styles.css +5 -0
@@ -10,6 +10,7 @@ import {
10
10
  dialogState as dialogStateWithHints,
11
11
  } from '../../mocks/data';
12
12
  import memoriApiClient from '@memori.ai/memori-api-client';
13
+ import { ArtifactSystemProvider } from '../MemoriArtifactSystem';
13
14
 
14
15
  const client = memoriApiClient();
15
16
 
@@ -31,267 +32,393 @@ beforeEach(() => {
31
32
 
32
33
  it('renders Chat unchanged', () => {
33
34
  const { container } = render(
34
- <Chat
35
- memori={memori}
36
- tenant={tenant}
37
- dialogState={dialogState}
38
- layout="DEFAULT"
39
- client={client}
40
- history={history}
41
- pushMessage={jest.fn()}
42
- sessionID={sessionID}
43
- simulateUserPrompt={jest.fn()}
44
- setAttachmentsMenuOpen={jest.fn()}
45
- setSendOnEnter={jest.fn()}
46
- userMessage=""
47
- onChangeUserMessage={jest.fn()}
48
- sendMessage={jest.fn()}
49
- isPlayingAudio={false}
50
- stopAudio={jest.fn()}
51
- showMicrophone={false}
52
- listening={false}
53
- startListening={jest.fn()}
54
- stopListening={jest.fn()}
55
- setEnableFocusChatInput={jest.fn()}
56
- />
35
+ <ArtifactSystemProvider
36
+ config={{
37
+ supportedMimeTypes: {
38
+ html: {
39
+ name: 'HTML',
40
+ icon: '🌐',
41
+ hasPreview: true,
42
+ language: 'html',
43
+ mimeType: 'text/html',
44
+ },
45
+ },
46
+ }}
47
+ >
48
+ <Chat
49
+ memori={memori}
50
+ tenant={tenant}
51
+ dialogState={dialogState}
52
+ layout="DEFAULT"
53
+ client={client}
54
+ history={history}
55
+ pushMessage={jest.fn()}
56
+ sessionID={sessionID}
57
+ simulateUserPrompt={jest.fn()}
58
+ setAttachmentsMenuOpen={jest.fn()}
59
+ setSendOnEnter={jest.fn()}
60
+ userMessage=""
61
+ onChangeUserMessage={jest.fn()}
62
+ sendMessage={jest.fn()}
63
+ isPlayingAudio={false}
64
+ stopAudio={jest.fn()}
65
+ showMicrophone={false}
66
+ listening={false}
67
+ startListening={jest.fn()}
68
+ stopListening={jest.fn()}
69
+ setEnableFocusChatInput={jest.fn()}
70
+ />
71
+ </ArtifactSystemProvider>
57
72
  );
58
73
  expect(container).toMatchSnapshot();
59
74
  });
60
75
 
61
76
  it('renders Chat with memori typing unchanged', () => {
62
77
  const { container } = render(
63
- <Chat
64
- memori={memori}
65
- tenant={tenant}
66
- dialogState={dialogState}
67
- client={client}
68
- history={history}
69
- layout="DEFAULT"
70
- pushMessage={jest.fn()}
71
- sessionID={sessionID}
72
- simulateUserPrompt={jest.fn()}
73
- setAttachmentsMenuOpen={jest.fn()}
74
- setSendOnEnter={jest.fn()}
75
- userMessage=""
76
- onChangeUserMessage={jest.fn()}
77
- sendMessage={jest.fn()}
78
- stopListening={jest.fn()}
79
- isPlayingAudio={false}
80
- stopAudio={jest.fn()}
81
- showMicrophone={false}
82
- listening={false}
83
- startListening={jest.fn()}
84
- setEnableFocusChatInput={jest.fn()}
85
- memoriTyping
86
- />
78
+ <ArtifactSystemProvider
79
+ config={{
80
+ supportedMimeTypes: {
81
+ html: {
82
+ name: 'HTML',
83
+ icon: '🌐',
84
+ hasPreview: true,
85
+ language: 'html',
86
+ mimeType: 'text/html',
87
+ },
88
+ },
89
+ }}
90
+ >
91
+ <Chat
92
+ memori={memori}
93
+ tenant={tenant}
94
+ dialogState={dialogState}
95
+ client={client}
96
+ history={history}
97
+ layout="DEFAULT"
98
+ pushMessage={jest.fn()}
99
+ sessionID={sessionID}
100
+ simulateUserPrompt={jest.fn()}
101
+ setAttachmentsMenuOpen={jest.fn()}
102
+ setSendOnEnter={jest.fn()}
103
+ userMessage=""
104
+ onChangeUserMessage={jest.fn()}
105
+ sendMessage={jest.fn()}
106
+ stopListening={jest.fn()}
107
+ isPlayingAudio={false}
108
+ stopAudio={jest.fn()}
109
+ showMicrophone={false}
110
+ listening={false}
111
+ startListening={jest.fn()}
112
+ setEnableFocusChatInput={jest.fn()}
113
+ memoriTyping
114
+ />
115
+ </ArtifactSystemProvider>
87
116
  );
88
117
  expect(container).toMatchSnapshot();
89
118
  });
90
119
 
91
120
  it('renders Chat with hints unchanged', () => {
92
121
  const { container } = render(
93
- <Chat
94
- memori={memori}
95
- tenant={tenant}
96
- dialogState={dialogStateWithHints}
97
- client={client}
98
- history={history}
99
- layout="DEFAULT"
100
- pushMessage={jest.fn()}
101
- sessionID={sessionID}
102
- simulateUserPrompt={jest.fn()}
103
- setAttachmentsMenuOpen={jest.fn()}
104
- setSendOnEnter={jest.fn()}
105
- userMessage=""
106
- onChangeUserMessage={jest.fn()}
107
- sendMessage={jest.fn()}
108
- stopListening={jest.fn()}
109
- isPlayingAudio={false}
110
- stopAudio={jest.fn()}
111
- showMicrophone={false}
112
- listening={false}
113
- startListening={jest.fn()}
114
- setEnableFocusChatInput={jest.fn()}
115
- />
122
+ <ArtifactSystemProvider
123
+ config={{
124
+ supportedMimeTypes: {
125
+ html: {
126
+ name: 'HTML',
127
+ icon: '🌐',
128
+ hasPreview: true,
129
+ language: 'html',
130
+ mimeType: 'text/html',
131
+ },
132
+ },
133
+ }}
134
+ >
135
+ <Chat
136
+ memori={memori}
137
+ tenant={tenant}
138
+ dialogState={dialogStateWithHints}
139
+ client={client}
140
+ history={history}
141
+ layout="DEFAULT"
142
+ pushMessage={jest.fn()}
143
+ sessionID={sessionID}
144
+ simulateUserPrompt={jest.fn()}
145
+ setAttachmentsMenuOpen={jest.fn()}
146
+ setSendOnEnter={jest.fn()}
147
+ userMessage=""
148
+ onChangeUserMessage={jest.fn()}
149
+ sendMessage={jest.fn()}
150
+ stopListening={jest.fn()}
151
+ isPlayingAudio={false}
152
+ stopAudio={jest.fn()}
153
+ showMicrophone={false}
154
+ listening={false}
155
+ startListening={jest.fn()}
156
+ setEnableFocusChatInput={jest.fn()}
157
+ />
158
+ </ArtifactSystemProvider>
116
159
  );
117
160
  expect(container).toMatchSnapshot();
118
161
  });
119
162
 
120
163
  it('renders Chat with media unchanged', () => {
121
164
  const { container } = render(
122
- <Chat
123
- memori={memori}
124
- tenant={tenant}
125
- dialogState={dialogState}
126
- client={client}
127
- history={historyWithMedia}
128
- layout="DEFAULT"
129
- pushMessage={jest.fn()}
130
- sessionID={sessionID}
131
- simulateUserPrompt={jest.fn()}
132
- setAttachmentsMenuOpen={jest.fn()}
133
- setSendOnEnter={jest.fn()}
134
- userMessage=""
135
- onChangeUserMessage={jest.fn()}
136
- sendMessage={jest.fn()}
137
- stopListening={jest.fn()}
138
- isPlayingAudio={false}
139
- stopAudio={jest.fn()}
140
- showMicrophone={false}
141
- listening={false}
142
- startListening={jest.fn()}
143
- setEnableFocusChatInput={jest.fn()}
144
- />
165
+ <ArtifactSystemProvider
166
+ config={{
167
+ supportedMimeTypes: {
168
+ html: {
169
+ name: 'HTML',
170
+ icon: '🌐',
171
+ hasPreview: true,
172
+ language: 'html',
173
+ mimeType: 'text/html',
174
+ },
175
+ },
176
+ }}
177
+ >
178
+ <Chat
179
+ memori={memori}
180
+ tenant={tenant}
181
+ dialogState={dialogState}
182
+ client={client}
183
+ history={historyWithMedia}
184
+ layout="DEFAULT"
185
+ pushMessage={jest.fn()}
186
+ sessionID={sessionID}
187
+ simulateUserPrompt={jest.fn()}
188
+ setAttachmentsMenuOpen={jest.fn()}
189
+ setSendOnEnter={jest.fn()}
190
+ userMessage=""
191
+ onChangeUserMessage={jest.fn()}
192
+ sendMessage={jest.fn()}
193
+ stopListening={jest.fn()}
194
+ isPlayingAudio={false}
195
+ stopAudio={jest.fn()}
196
+ showMicrophone={false}
197
+ listening={false}
198
+ startListening={jest.fn()}
199
+ setEnableFocusChatInput={jest.fn()}
200
+ />
201
+ </ArtifactSystemProvider>
145
202
  );
146
203
  expect(container).toMatchSnapshot();
147
204
  });
148
205
 
149
206
  it('renders Chat with dates unchanged', () => {
150
207
  const { container } = render(
151
- <Chat
152
- memori={memori}
153
- tenant={tenant}
154
- dialogState={dialogState}
155
- client={client}
156
- history={history}
157
- layout="DEFAULT"
158
- pushMessage={jest.fn()}
159
- sessionID={sessionID}
160
- simulateUserPrompt={jest.fn()}
161
- setAttachmentsMenuOpen={jest.fn()}
162
- setSendOnEnter={jest.fn()}
163
- userMessage=""
164
- onChangeUserMessage={jest.fn()}
165
- sendMessage={jest.fn()}
166
- stopListening={jest.fn()}
167
- isPlayingAudio={false}
168
- stopAudio={jest.fn()}
169
- showMicrophone={false}
170
- listening={false}
171
- startListening={jest.fn()}
172
- showDates
173
- setEnableFocusChatInput={jest.fn()}
174
- />
208
+ <ArtifactSystemProvider
209
+ config={{
210
+ supportedMimeTypes: {
211
+ html: {
212
+ name: 'HTML',
213
+ icon: '🌐',
214
+ hasPreview: true,
215
+ language: 'html',
216
+ mimeType: 'text/html',
217
+ },
218
+ },
219
+ }}
220
+ >
221
+ <Chat
222
+ memori={memori}
223
+ tenant={tenant}
224
+ dialogState={dialogState}
225
+ client={client}
226
+ history={history}
227
+ layout="DEFAULT"
228
+ pushMessage={jest.fn()}
229
+ sessionID={sessionID}
230
+ simulateUserPrompt={jest.fn()}
231
+ setAttachmentsMenuOpen={jest.fn()}
232
+ setSendOnEnter={jest.fn()}
233
+ userMessage=""
234
+ onChangeUserMessage={jest.fn()}
235
+ sendMessage={jest.fn()}
236
+ stopListening={jest.fn()}
237
+ isPlayingAudio={false}
238
+ stopAudio={jest.fn()}
239
+ showMicrophone={false}
240
+ listening={false}
241
+ startListening={jest.fn()}
242
+ showDates
243
+ setEnableFocusChatInput={jest.fn()}
244
+ />
245
+ </ArtifactSystemProvider>
175
246
  );
176
247
  expect(container).toMatchSnapshot();
177
248
  });
178
249
 
179
250
  it('renders Chat with context vars unchanged', () => {
180
251
  const { container } = render(
181
- <Chat
182
- memori={memori}
183
- tenant={tenant}
184
- dialogState={dialogState}
185
- client={client}
186
- history={history}
187
- layout="DEFAULT"
188
- pushMessage={jest.fn()}
189
- sessionID={sessionID}
190
- simulateUserPrompt={jest.fn()}
191
- setAttachmentsMenuOpen={jest.fn()}
192
- setSendOnEnter={jest.fn()}
193
- userMessage=""
194
- onChangeUserMessage={jest.fn()}
195
- sendMessage={jest.fn()}
196
- stopListening={jest.fn()}
197
- isPlayingAudio={false}
198
- stopAudio={jest.fn()}
199
- showMicrophone={false}
200
- listening={false}
201
- startListening={jest.fn()}
202
- setEnableFocusChatInput={jest.fn()}
203
- showContextPerLine
204
- />
252
+ <ArtifactSystemProvider
253
+ config={{
254
+ supportedMimeTypes: {
255
+ html: {
256
+ name: 'HTML',
257
+ icon: '🌐',
258
+ hasPreview: true,
259
+ language: 'html',
260
+ mimeType: 'text/html',
261
+ },
262
+ },
263
+ }}
264
+ >
265
+ <Chat
266
+ memori={memori}
267
+ tenant={tenant}
268
+ dialogState={dialogState}
269
+ client={client}
270
+ history={history}
271
+ layout="DEFAULT"
272
+ pushMessage={jest.fn()}
273
+ sessionID={sessionID}
274
+ simulateUserPrompt={jest.fn()}
275
+ setAttachmentsMenuOpen={jest.fn()}
276
+ setSendOnEnter={jest.fn()}
277
+ userMessage=""
278
+ onChangeUserMessage={jest.fn()}
279
+ sendMessage={jest.fn()}
280
+ stopListening={jest.fn()}
281
+ isPlayingAudio={false}
282
+ stopAudio={jest.fn()}
283
+ showMicrophone={false}
284
+ listening={false}
285
+ startListening={jest.fn()}
286
+ setEnableFocusChatInput={jest.fn()}
287
+ showContextPerLine
288
+ />
289
+ </ArtifactSystemProvider>
205
290
  );
206
291
  expect(container).toMatchSnapshot();
207
292
  });
208
293
 
209
294
  it('renders Chat with user unchanged', () => {
210
295
  const { container } = render(
211
- <Chat
212
- user={{ avatarURL: 'https://picsum.photos/200' }}
213
- memori={memori}
214
- tenant={tenant}
215
- dialogState={dialogState}
216
- layout="DEFAULT"
217
- client={client}
218
- history={history}
219
- pushMessage={jest.fn()}
220
- sessionID={sessionID}
221
- simulateUserPrompt={jest.fn()}
222
- setAttachmentsMenuOpen={jest.fn()}
223
- setSendOnEnter={jest.fn()}
224
- userMessage=""
225
- onChangeUserMessage={jest.fn()}
226
- sendMessage={jest.fn()}
227
- isPlayingAudio={false}
228
- stopAudio={jest.fn()}
229
- showMicrophone={false}
230
- listening={false}
231
- startListening={jest.fn()}
232
- stopListening={jest.fn()}
233
- setEnableFocusChatInput={jest.fn()}
234
- />
296
+ <ArtifactSystemProvider
297
+ config={{
298
+ supportedMimeTypes: {
299
+ html: {
300
+ name: 'HTML',
301
+ icon: '🌐',
302
+ hasPreview: true,
303
+ language: 'html',
304
+ mimeType: 'text/html',
305
+ },
306
+ },
307
+ }}
308
+ >
309
+ <Chat
310
+ user={{ avatarURL: 'https://picsum.photos/200' }}
311
+ memori={memori}
312
+ tenant={tenant}
313
+ dialogState={dialogState}
314
+ layout="DEFAULT"
315
+ client={client}
316
+ history={history}
317
+ pushMessage={jest.fn()}
318
+ sessionID={sessionID}
319
+ simulateUserPrompt={jest.fn()}
320
+ setAttachmentsMenuOpen={jest.fn()}
321
+ setSendOnEnter={jest.fn()}
322
+ userMessage=""
323
+ onChangeUserMessage={jest.fn()}
324
+ sendMessage={jest.fn()}
325
+ isPlayingAudio={false}
326
+ stopAudio={jest.fn()}
327
+ showMicrophone={false}
328
+ listening={false}
329
+ startListening={jest.fn()}
330
+ stopListening={jest.fn()}
331
+ setEnableFocusChatInput={jest.fn()}
332
+ />
333
+ </ArtifactSystemProvider>
235
334
  );
236
335
  expect(container).toMatchSnapshot();
237
336
  });
238
337
 
239
338
  it('renders Chat with custom user avatar unchanged', () => {
240
339
  const { container } = render(
241
- <Chat
242
- userAvatar="https://picsum.photos/200"
243
- memori={memori}
244
- tenant={tenant}
245
- dialogState={dialogState}
246
- layout="DEFAULT"
247
- client={client}
248
- history={history}
249
- pushMessage={jest.fn()}
250
- sessionID={sessionID}
251
- simulateUserPrompt={jest.fn()}
252
- setAttachmentsMenuOpen={jest.fn()}
253
- setSendOnEnter={jest.fn()}
254
- userMessage=""
255
- onChangeUserMessage={jest.fn()}
256
- sendMessage={jest.fn()}
257
- isPlayingAudio={false}
258
- stopAudio={jest.fn()}
259
- showMicrophone={false}
260
- listening={false}
261
- startListening={jest.fn()}
262
- stopListening={jest.fn()}
263
- setEnableFocusChatInput={jest.fn()}
264
- />
340
+ <ArtifactSystemProvider
341
+ config={{
342
+ supportedMimeTypes: {
343
+ html: {
344
+ name: 'HTML',
345
+ icon: '🌐',
346
+ hasPreview: true,
347
+ language: 'html',
348
+ mimeType: 'text/html',
349
+ },
350
+ },
351
+ }}
352
+ >
353
+ <Chat
354
+ userAvatar="https://picsum.photos/200"
355
+ memori={memori}
356
+ tenant={tenant}
357
+ dialogState={dialogState}
358
+ layout="DEFAULT"
359
+ client={client}
360
+ history={history}
361
+ pushMessage={jest.fn()}
362
+ sessionID={sessionID}
363
+ simulateUserPrompt={jest.fn()}
364
+ setAttachmentsMenuOpen={jest.fn()}
365
+ setSendOnEnter={jest.fn()}
366
+ userMessage=""
367
+ onChangeUserMessage={jest.fn()}
368
+ sendMessage={jest.fn()}
369
+ isPlayingAudio={false}
370
+ stopAudio={jest.fn()}
371
+ showMicrophone={false}
372
+ listening={false}
373
+ startListening={jest.fn()}
374
+ stopListening={jest.fn()}
375
+ setEnableFocusChatInput={jest.fn()}
376
+ />
377
+ </ArtifactSystemProvider>
265
378
  );
266
379
  expect(container).toMatchSnapshot();
267
380
  });
268
381
 
269
382
  it('renders Chat with custom user avatar as react element unchanged', () => {
270
383
  const { container } = render(
271
- <Chat
272
- userAvatar={<span>USER</span>}
273
- memori={memori}
274
- tenant={tenant}
275
- dialogState={dialogState}
276
- layout="DEFAULT"
277
- client={client}
278
- history={history}
279
- pushMessage={jest.fn()}
280
- sessionID={sessionID}
281
- simulateUserPrompt={jest.fn()}
282
- setAttachmentsMenuOpen={jest.fn()}
283
- setSendOnEnter={jest.fn()}
284
- userMessage=""
285
- onChangeUserMessage={jest.fn()}
286
- sendMessage={jest.fn()}
287
- isPlayingAudio={false}
288
- stopAudio={jest.fn()}
289
- showMicrophone={false}
290
- listening={false}
291
- startListening={jest.fn()}
292
- stopListening={jest.fn()}
293
- setEnableFocusChatInput={jest.fn()}
294
- />
384
+ <ArtifactSystemProvider
385
+ config={{
386
+ supportedMimeTypes: {
387
+ html: {
388
+ name: 'HTML',
389
+ icon: '🌐',
390
+ hasPreview: true,
391
+ language: 'html',
392
+ mimeType: 'text/html',
393
+ },
394
+ },
395
+ }}
396
+ >
397
+ <Chat
398
+ userAvatar={<span>USER</span>}
399
+ memori={memori}
400
+ tenant={tenant}
401
+ dialogState={dialogState}
402
+ layout="DEFAULT"
403
+ client={client}
404
+ history={history}
405
+ pushMessage={jest.fn()}
406
+ sessionID={sessionID}
407
+ simulateUserPrompt={jest.fn()}
408
+ setAttachmentsMenuOpen={jest.fn()}
409
+ setSendOnEnter={jest.fn()}
410
+ userMessage=""
411
+ onChangeUserMessage={jest.fn()}
412
+ sendMessage={jest.fn()}
413
+ isPlayingAudio={false}
414
+ stopAudio={jest.fn()}
415
+ showMicrophone={false}
416
+ listening={false}
417
+ startListening={jest.fn()}
418
+ stopListening={jest.fn()}
419
+ setEnableFocusChatInput={jest.fn()}
420
+ />
421
+ </ArtifactSystemProvider>
295
422
  );
296
423
  expect(container).toMatchSnapshot();
297
424
  });