stream-chat-react-native-core 9.13.0 → 9.14.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 (262) hide show
  1. package/ai-components/conversation/package.json +6 -0
  2. package/lib/commonjs/a2ui/A2UISurface.js +38 -13
  3. package/lib/commonjs/a2ui/A2UISurface.js.map +1 -1
  4. package/lib/commonjs/ai-components/README.md +10 -1
  5. package/lib/commonjs/ai-components/conversation/AIConversation.js +17 -9
  6. package/lib/commonjs/ai-components/conversation/AIConversation.js.map +1 -1
  7. package/lib/commonjs/ai-components/conversation/index.js +0 -33
  8. package/lib/commonjs/ai-components/conversation/index.js.map +1 -1
  9. package/lib/commonjs/ai-components/conversation/list/useKeyboardOverlap.js +3 -4
  10. package/lib/commonjs/ai-components/conversation/list/useKeyboardOverlap.js.map +1 -1
  11. package/lib/commonjs/ai-components/conversation/useConversationRows.js.map +1 -1
  12. package/lib/commonjs/ai-components/conversation-state/controller/AIAgentError.js.map +1 -0
  13. package/lib/{module/ai-components/conversation → commonjs/ai-components/conversation-state}/controller/AIConversationController.js +7 -1
  14. package/lib/commonjs/ai-components/conversation-state/controller/AIConversationController.js.map +1 -0
  15. package/lib/commonjs/ai-components/conversation-state/controller/AIConversationExchange.js.map +1 -0
  16. package/lib/commonjs/ai-components/conversation-state/controller/index.js.map +1 -0
  17. package/lib/commonjs/ai-components/{conversation → conversation-state}/controller/offers.js +10 -4
  18. package/lib/commonjs/ai-components/conversation-state/controller/offers.js.map +1 -0
  19. package/lib/commonjs/ai-components/conversation-state/controller/types.js.map +1 -0
  20. package/lib/commonjs/ai-components/conversation-state/controller/useAIConversationState.js.map +1 -0
  21. package/lib/commonjs/ai-components/{conversation → conversation-state}/fromStreamMessage.js +1 -0
  22. package/lib/commonjs/ai-components/conversation-state/fromStreamMessage.js.map +1 -0
  23. package/lib/commonjs/ai-components/conversation-state/index.js +37 -0
  24. package/lib/commonjs/ai-components/conversation-state/index.js.map +1 -0
  25. package/lib/commonjs/ai-components/conversation-state/types.js.map +1 -0
  26. package/lib/commonjs/ai-components/generative-ui/AIUIEntrance.js +9 -5
  27. package/lib/commonjs/ai-components/generative-ui/AIUIEntrance.js.map +1 -1
  28. package/lib/commonjs/ai-components/index.js +4 -4
  29. package/lib/commonjs/ai-components/index.js.map +1 -1
  30. package/lib/commonjs/ai-components/internal/keyboard.js +40 -0
  31. package/lib/commonjs/ai-components/internal/keyboard.js.map +1 -0
  32. package/lib/commonjs/ai-components/message/AIAssistantMessage.js +1 -0
  33. package/lib/commonjs/ai-components/message/AIAssistantMessage.js.map +1 -1
  34. package/lib/commonjs/ai-components/message-composer/ActionButton.js +2 -1
  35. package/lib/commonjs/ai-components/message-composer/ActionButton.js.map +1 -1
  36. package/lib/commonjs/ai-components/message-composer/AttachmentButton.js +2 -2
  37. package/lib/commonjs/ai-components/message-composer/AttachmentButton.js.map +1 -1
  38. package/lib/commonjs/ai-components/message-composer/ComposerView.js +20 -10
  39. package/lib/commonjs/ai-components/message-composer/ComposerView.js.map +1 -1
  40. package/lib/commonjs/ai-components/message-composer/EditingMessageChip.js +9 -8
  41. package/lib/commonjs/ai-components/message-composer/EditingMessageChip.js.map +1 -1
  42. package/lib/commonjs/ai-components/message-parts/AIMessageParts.js +25 -2
  43. package/lib/commonjs/ai-components/message-parts/AIMessageParts.js.map +1 -1
  44. package/lib/commonjs/i18n/ar.json +1 -0
  45. package/lib/commonjs/i18n/en.json +1 -0
  46. package/lib/commonjs/i18n/es.json +1 -0
  47. package/lib/commonjs/i18n/fr.json +1 -0
  48. package/lib/commonjs/i18n/he.json +1 -0
  49. package/lib/commonjs/i18n/hi.json +1 -0
  50. package/lib/commonjs/i18n/it.json +1 -0
  51. package/lib/commonjs/i18n/ja.json +1 -0
  52. package/lib/commonjs/i18n/ko.json +1 -0
  53. package/lib/commonjs/i18n/nl.json +1 -0
  54. package/lib/commonjs/i18n/pt-br.json +1 -0
  55. package/lib/commonjs/i18n/ru.json +1 -0
  56. package/lib/commonjs/i18n/tr.json +1 -0
  57. package/lib/commonjs/version.json +1 -1
  58. package/lib/module/a2ui/A2UISurface.js +38 -13
  59. package/lib/module/a2ui/A2UISurface.js.map +1 -1
  60. package/lib/module/ai-components/README.md +10 -1
  61. package/lib/module/ai-components/conversation/AIConversation.js +17 -9
  62. package/lib/module/ai-components/conversation/AIConversation.js.map +1 -1
  63. package/lib/module/ai-components/conversation/index.js +0 -33
  64. package/lib/module/ai-components/conversation/index.js.map +1 -1
  65. package/lib/module/ai-components/conversation/list/useKeyboardOverlap.js +3 -4
  66. package/lib/module/ai-components/conversation/list/useKeyboardOverlap.js.map +1 -1
  67. package/lib/module/ai-components/conversation/useConversationRows.js.map +1 -1
  68. package/lib/module/ai-components/conversation-state/controller/AIAgentError.js.map +1 -0
  69. package/lib/{commonjs/ai-components/conversation → module/ai-components/conversation-state}/controller/AIConversationController.js +7 -1
  70. package/lib/module/ai-components/conversation-state/controller/AIConversationController.js.map +1 -0
  71. package/lib/module/ai-components/conversation-state/controller/AIConversationExchange.js.map +1 -0
  72. package/lib/module/ai-components/conversation-state/controller/index.js.map +1 -0
  73. package/lib/module/ai-components/{conversation → conversation-state}/controller/offers.js +10 -4
  74. package/lib/module/ai-components/conversation-state/controller/offers.js.map +1 -0
  75. package/lib/module/ai-components/conversation-state/controller/types.js.map +1 -0
  76. package/lib/module/ai-components/conversation-state/controller/useAIConversationState.js.map +1 -0
  77. package/lib/module/ai-components/{conversation → conversation-state}/fromStreamMessage.js +1 -0
  78. package/lib/module/ai-components/conversation-state/fromStreamMessage.js.map +1 -0
  79. package/lib/module/ai-components/conversation-state/index.js +37 -0
  80. package/lib/module/ai-components/conversation-state/index.js.map +1 -0
  81. package/lib/module/ai-components/conversation-state/types.js.map +1 -0
  82. package/lib/module/ai-components/generative-ui/AIUIEntrance.js +9 -5
  83. package/lib/module/ai-components/generative-ui/AIUIEntrance.js.map +1 -1
  84. package/lib/module/ai-components/index.js +4 -4
  85. package/lib/module/ai-components/index.js.map +1 -1
  86. package/lib/module/ai-components/internal/keyboard.js +40 -0
  87. package/lib/module/ai-components/internal/keyboard.js.map +1 -0
  88. package/lib/module/ai-components/message/AIAssistantMessage.js +1 -0
  89. package/lib/module/ai-components/message/AIAssistantMessage.js.map +1 -1
  90. package/lib/module/ai-components/message-composer/ActionButton.js +2 -1
  91. package/lib/module/ai-components/message-composer/ActionButton.js.map +1 -1
  92. package/lib/module/ai-components/message-composer/AttachmentButton.js +2 -2
  93. package/lib/module/ai-components/message-composer/AttachmentButton.js.map +1 -1
  94. package/lib/module/ai-components/message-composer/ComposerView.js +20 -10
  95. package/lib/module/ai-components/message-composer/ComposerView.js.map +1 -1
  96. package/lib/module/ai-components/message-composer/EditingMessageChip.js +9 -8
  97. package/lib/module/ai-components/message-composer/EditingMessageChip.js.map +1 -1
  98. package/lib/module/ai-components/message-parts/AIMessageParts.js +25 -2
  99. package/lib/module/ai-components/message-parts/AIMessageParts.js.map +1 -1
  100. package/lib/module/i18n/ar.json +1 -0
  101. package/lib/module/i18n/en.json +1 -0
  102. package/lib/module/i18n/es.json +1 -0
  103. package/lib/module/i18n/fr.json +1 -0
  104. package/lib/module/i18n/he.json +1 -0
  105. package/lib/module/i18n/hi.json +1 -0
  106. package/lib/module/i18n/it.json +1 -0
  107. package/lib/module/i18n/ja.json +1 -0
  108. package/lib/module/i18n/ko.json +1 -0
  109. package/lib/module/i18n/nl.json +1 -0
  110. package/lib/module/i18n/pt-br.json +1 -0
  111. package/lib/module/i18n/ru.json +1 -0
  112. package/lib/module/i18n/tr.json +1 -0
  113. package/lib/module/version.json +1 -1
  114. package/lib/typescript/a2ui/A2UISurface.d.ts.map +1 -1
  115. package/lib/typescript/ai-components/conversation/AIConversation.d.ts +7 -4
  116. package/lib/typescript/ai-components/conversation/AIConversation.d.ts.map +1 -1
  117. package/lib/typescript/ai-components/conversation/entries.d.ts +1 -1
  118. package/lib/typescript/ai-components/conversation/entries.d.ts.map +1 -1
  119. package/lib/typescript/ai-components/conversation/index.d.ts +0 -3
  120. package/lib/typescript/ai-components/conversation/index.d.ts.map +1 -1
  121. package/lib/typescript/ai-components/conversation/list/useKeyboardOverlap.d.ts.map +1 -1
  122. package/lib/typescript/ai-components/conversation/useConversationRows.d.ts +1 -1
  123. package/lib/typescript/ai-components/conversation/useConversationRows.d.ts.map +1 -1
  124. package/lib/typescript/ai-components/conversation-state/controller/AIAgentError.d.ts.map +1 -0
  125. package/lib/typescript/ai-components/conversation-state/controller/AIConversationController.d.ts.map +1 -0
  126. package/lib/typescript/ai-components/conversation-state/controller/AIConversationExchange.d.ts.map +1 -0
  127. package/lib/typescript/ai-components/conversation-state/controller/index.d.ts.map +1 -0
  128. package/lib/typescript/ai-components/{conversation → conversation-state}/controller/offers.d.ts +4 -2
  129. package/lib/typescript/ai-components/conversation-state/controller/offers.d.ts.map +1 -0
  130. package/lib/typescript/ai-components/conversation-state/controller/types.d.ts.map +1 -0
  131. package/lib/typescript/ai-components/conversation-state/controller/useAIConversationState.d.ts.map +1 -0
  132. package/lib/typescript/ai-components/conversation-state/fromStreamMessage.d.ts.map +1 -0
  133. package/lib/typescript/ai-components/conversation-state/index.d.ts +4 -0
  134. package/lib/typescript/ai-components/conversation-state/index.d.ts.map +1 -0
  135. package/lib/typescript/ai-components/conversation-state/types.d.ts.map +1 -0
  136. package/lib/typescript/ai-components/generative-ui/AIUIEntrance.d.ts +4 -3
  137. package/lib/typescript/ai-components/generative-ui/AIUIEntrance.d.ts.map +1 -1
  138. package/lib/typescript/ai-components/generative-ui/AIUIHost.d.ts +1 -1
  139. package/lib/typescript/ai-components/generative-ui/AIUIHost.d.ts.map +1 -1
  140. package/lib/typescript/ai-components/index.d.ts +1 -1
  141. package/lib/typescript/ai-components/index.d.ts.map +1 -1
  142. package/lib/typescript/ai-components/internal/keyboard.d.ts +9 -0
  143. package/lib/typescript/ai-components/internal/keyboard.d.ts.map +1 -0
  144. package/lib/typescript/ai-components/message/AIAssistantMessage.d.ts.map +1 -1
  145. package/lib/typescript/ai-components/message-composer/ActionButton.d.ts +1 -1
  146. package/lib/typescript/ai-components/message-composer/ActionButton.d.ts.map +1 -1
  147. package/lib/typescript/ai-components/message-composer/ComposerView.d.ts +10 -5
  148. package/lib/typescript/ai-components/message-composer/ComposerView.d.ts.map +1 -1
  149. package/lib/typescript/ai-components/message-parts/AIMessageParts.d.ts +3 -1
  150. package/lib/typescript/ai-components/message-parts/AIMessageParts.d.ts.map +1 -1
  151. package/lib/typescript/i18n/ar.json +1 -0
  152. package/lib/typescript/i18n/en.json +1 -0
  153. package/lib/typescript/i18n/es.json +1 -0
  154. package/lib/typescript/i18n/fr.json +1 -0
  155. package/lib/typescript/i18n/he.json +1 -0
  156. package/lib/typescript/i18n/hi.json +1 -0
  157. package/lib/typescript/i18n/it.json +1 -0
  158. package/lib/typescript/i18n/ja.json +1 -0
  159. package/lib/typescript/i18n/ko.json +1 -0
  160. package/lib/typescript/i18n/nl.json +1 -0
  161. package/lib/typescript/i18n/pt-br.json +1 -0
  162. package/lib/typescript/i18n/ru.json +1 -0
  163. package/lib/typescript/i18n/tr.json +1 -0
  164. package/lib/typescript/utils/i18n/Streami18n.d.ts +1 -0
  165. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  166. package/package.json +1 -1
  167. package/src/a2ui/A2UISurface.tsx +36 -7
  168. package/src/a2ui/__tests__/A2UIRenderer.test.tsx +45 -0
  169. package/src/ai-components/README.md +10 -1
  170. package/src/ai-components/__tests__/ComposerView.test.tsx +21 -1
  171. package/src/ai-components/__tests__/conversation.test.tsx +85 -3
  172. package/src/ai-components/__tests__/conversationExchange.test.ts +1 -1
  173. package/src/ai-components/__tests__/conversationRows.test.ts +1 -1
  174. package/src/ai-components/__tests__/conversationUI.test.tsx +21 -1
  175. package/src/ai-components/__tests__/messagePartViews.test.tsx +42 -0
  176. package/src/ai-components/__tests__/withoutKeyboardController.test.tsx +60 -0
  177. package/src/ai-components/conversation/AIConversation.tsx +37 -15
  178. package/src/ai-components/conversation/entries.ts +1 -1
  179. package/src/ai-components/conversation/index.ts +0 -3
  180. package/src/ai-components/conversation/list/useKeyboardOverlap.ts +3 -2
  181. package/src/ai-components/conversation/useConversationRows.ts +2 -1
  182. package/src/ai-components/{conversation → conversation-state}/controller/AIConversationController.ts +7 -2
  183. package/src/ai-components/{conversation → conversation-state}/controller/offers.ts +13 -3
  184. package/src/ai-components/{conversation → conversation-state}/fromStreamMessage.ts +3 -1
  185. package/src/ai-components/conversation-state/index.ts +3 -0
  186. package/src/ai-components/generative-ui/AIUIEntrance.tsx +11 -5
  187. package/src/ai-components/generative-ui/AIUIHost.ts +1 -1
  188. package/src/ai-components/index.ts +1 -1
  189. package/src/ai-components/internal/keyboard.tsx +34 -0
  190. package/src/ai-components/message/AIAssistantMessage.tsx +1 -0
  191. package/src/ai-components/message-composer/ActionButton.tsx +5 -4
  192. package/src/ai-components/message-composer/AttachmentButton.tsx +2 -2
  193. package/src/ai-components/message-composer/ComposerView.tsx +25 -11
  194. package/src/ai-components/message-composer/EditingMessageChip.tsx +8 -7
  195. package/src/ai-components/message-parts/AIMessageParts.tsx +28 -3
  196. package/src/i18n/ar.json +1 -0
  197. package/src/i18n/en.json +1 -0
  198. package/src/i18n/es.json +1 -0
  199. package/src/i18n/fr.json +1 -0
  200. package/src/i18n/he.json +1 -0
  201. package/src/i18n/hi.json +1 -0
  202. package/src/i18n/it.json +1 -0
  203. package/src/i18n/ja.json +1 -0
  204. package/src/i18n/ko.json +1 -0
  205. package/src/i18n/nl.json +1 -0
  206. package/src/i18n/pt-br.json +1 -0
  207. package/src/i18n/ru.json +1 -0
  208. package/src/i18n/tr.json +1 -0
  209. package/src/version.json +1 -1
  210. package/lib/commonjs/ai-components/conversation/controller/AIAgentError.js.map +0 -1
  211. package/lib/commonjs/ai-components/conversation/controller/AIConversationController.js.map +0 -1
  212. package/lib/commonjs/ai-components/conversation/controller/AIConversationExchange.js.map +0 -1
  213. package/lib/commonjs/ai-components/conversation/controller/index.js.map +0 -1
  214. package/lib/commonjs/ai-components/conversation/controller/offers.js.map +0 -1
  215. package/lib/commonjs/ai-components/conversation/controller/types.js.map +0 -1
  216. package/lib/commonjs/ai-components/conversation/controller/useAIConversationState.js.map +0 -1
  217. package/lib/commonjs/ai-components/conversation/fromStreamMessage.js.map +0 -1
  218. package/lib/commonjs/ai-components/conversation/types.js.map +0 -1
  219. package/lib/module/ai-components/conversation/controller/AIAgentError.js.map +0 -1
  220. package/lib/module/ai-components/conversation/controller/AIConversationController.js.map +0 -1
  221. package/lib/module/ai-components/conversation/controller/AIConversationExchange.js.map +0 -1
  222. package/lib/module/ai-components/conversation/controller/index.js.map +0 -1
  223. package/lib/module/ai-components/conversation/controller/offers.js.map +0 -1
  224. package/lib/module/ai-components/conversation/controller/types.js.map +0 -1
  225. package/lib/module/ai-components/conversation/controller/useAIConversationState.js.map +0 -1
  226. package/lib/module/ai-components/conversation/fromStreamMessage.js.map +0 -1
  227. package/lib/module/ai-components/conversation/types.js.map +0 -1
  228. package/lib/typescript/ai-components/conversation/controller/AIAgentError.d.ts.map +0 -1
  229. package/lib/typescript/ai-components/conversation/controller/AIConversationController.d.ts.map +0 -1
  230. package/lib/typescript/ai-components/conversation/controller/AIConversationExchange.d.ts.map +0 -1
  231. package/lib/typescript/ai-components/conversation/controller/index.d.ts.map +0 -1
  232. package/lib/typescript/ai-components/conversation/controller/offers.d.ts.map +0 -1
  233. package/lib/typescript/ai-components/conversation/controller/types.d.ts.map +0 -1
  234. package/lib/typescript/ai-components/conversation/controller/useAIConversationState.d.ts.map +0 -1
  235. package/lib/typescript/ai-components/conversation/fromStreamMessage.d.ts.map +0 -1
  236. package/lib/typescript/ai-components/conversation/types.d.ts.map +0 -1
  237. /package/lib/commonjs/ai-components/{conversation → conversation-state}/controller/AIAgentError.js +0 -0
  238. /package/lib/commonjs/ai-components/{conversation → conversation-state}/controller/AIConversationExchange.js +0 -0
  239. /package/lib/commonjs/ai-components/{conversation → conversation-state}/controller/index.js +0 -0
  240. /package/lib/commonjs/ai-components/{conversation → conversation-state}/controller/types.js +0 -0
  241. /package/lib/commonjs/ai-components/{conversation → conversation-state}/controller/useAIConversationState.js +0 -0
  242. /package/lib/commonjs/ai-components/{conversation → conversation-state}/types.js +0 -0
  243. /package/lib/module/ai-components/{conversation → conversation-state}/controller/AIAgentError.js +0 -0
  244. /package/lib/module/ai-components/{conversation → conversation-state}/controller/AIConversationExchange.js +0 -0
  245. /package/lib/module/ai-components/{conversation → conversation-state}/controller/index.js +0 -0
  246. /package/lib/module/ai-components/{conversation → conversation-state}/controller/types.js +0 -0
  247. /package/lib/module/ai-components/{conversation → conversation-state}/controller/useAIConversationState.js +0 -0
  248. /package/lib/module/ai-components/{conversation → conversation-state}/types.js +0 -0
  249. /package/lib/typescript/ai-components/{conversation → conversation-state}/controller/AIAgentError.d.ts +0 -0
  250. /package/lib/typescript/ai-components/{conversation → conversation-state}/controller/AIConversationController.d.ts +0 -0
  251. /package/lib/typescript/ai-components/{conversation → conversation-state}/controller/AIConversationExchange.d.ts +0 -0
  252. /package/lib/typescript/ai-components/{conversation → conversation-state}/controller/index.d.ts +0 -0
  253. /package/lib/typescript/ai-components/{conversation → conversation-state}/controller/types.d.ts +0 -0
  254. /package/lib/typescript/ai-components/{conversation → conversation-state}/controller/useAIConversationState.d.ts +0 -0
  255. /package/lib/typescript/ai-components/{conversation → conversation-state}/fromStreamMessage.d.ts +0 -0
  256. /package/lib/typescript/ai-components/{conversation → conversation-state}/types.d.ts +0 -0
  257. /package/src/ai-components/{conversation → conversation-state}/controller/AIAgentError.ts +0 -0
  258. /package/src/ai-components/{conversation → conversation-state}/controller/AIConversationExchange.ts +0 -0
  259. /package/src/ai-components/{conversation → conversation-state}/controller/index.ts +0 -0
  260. /package/src/ai-components/{conversation → conversation-state}/controller/types.ts +0 -0
  261. /package/src/ai-components/{conversation → conversation-state}/controller/useAIConversationState.ts +0 -0
  262. /package/src/ai-components/{conversation → conversation-state}/types.ts +0 -0
@@ -2,7 +2,7 @@ import { StateStore } from '@stream-io/state-store';
2
2
 
3
3
  import { AIAgentError } from './AIAgentError';
4
4
  import { AIConversationExchange, hasEmptyContent } from './AIConversationExchange';
5
- import { editActionOf, replyActionsOf } from './offers';
5
+ import { editActionOf, latestUserMessageIdOf, replyActionsOf } from './offers';
6
6
  import {
7
7
  type AIAgentActivity,
8
8
  AIAgentActivityStates,
@@ -338,7 +338,12 @@ export class AIConversationController<Message extends AIMessage = AIMessage> {
338
338
 
339
339
  /** Edits a message of the person's, when it is their latest and the agent isn't answering. */
340
340
  editAction(message: Message): (() => void) | undefined {
341
- return editActionOf(this, this.state.getLatestValue(), message);
341
+ const { messages, status } = this.state.getLatestValue();
342
+ return editActionOf(
343
+ this,
344
+ { latestUserMessageId: latestUserMessageIdOf(messages), status },
345
+ message,
346
+ );
342
347
  }
343
348
 
344
349
  // What the transport says
@@ -29,15 +29,25 @@ export const replyActionsOf = <Message extends AIMessage>(
29
29
  rating: ratings[reply.id] ?? null,
30
30
  });
31
31
 
32
+ /** The id of the person's latest message, the one they can edit. */
33
+ export const latestUserMessageIdOf = (messages: readonly AIMessage[]) => {
34
+ for (let index = messages.length - 1; index >= 0; index--) {
35
+ if (messages[index].role === 'user') return messages[index].id;
36
+ }
37
+ return undefined;
38
+ };
39
+
32
40
  // Edits a message of the person's, when it is their latest and the agent isn't answering.
33
41
  export const editActionOf = <Message extends AIMessage>(
34
42
  offerer: Offerer<Message>,
35
- { messages, status }: { messages: readonly Message[]; status: AIConversationStatus },
43
+ {
44
+ latestUserMessageId,
45
+ status,
46
+ }: { latestUserMessageId: string | undefined; status: AIConversationStatus },
36
47
  message: Message,
37
48
  ): (() => void) | undefined => {
38
49
  if (!offerer.actions.edit || message.role !== 'user' || isAIConversationAnswering(status)) {
39
50
  return undefined;
40
51
  }
41
- const latest = [...messages].reverse().find((item) => item.role === 'user');
42
- return latest?.id === message.id ? () => offerer.edit(message) : undefined;
52
+ return latestUserMessageId === message.id ? () => offerer.edit(message) : undefined;
43
53
  };
@@ -17,8 +17,10 @@ export type FromStreamMessageOptions = {
17
17
  reasoningText?: (messageId: string, stepId: string) => string | undefined;
18
18
  };
19
19
 
20
- // Images and files only: the steps (`ai_*`) are read as parts, and other kinds are the app's.
20
+ // Images and files only: the steps (`ai_*`) are read as parts, link previews Stream made from
21
+ // the text are left out, and other kinds are the app's.
21
22
  const attachmentOf = (attachment: Attachment): AIMessageAttachmentData | undefined => {
23
+ if (attachment.og_scrape_url) return undefined;
22
24
  const name = attachment.title ?? attachment.fallback ?? undefined;
23
25
  if (attachment.type === 'image') {
24
26
  const url = attachment.image_url ?? attachment.asset_url ?? attachment.thumb_url;
@@ -0,0 +1,3 @@
1
+ export * from './controller';
2
+ export * from './fromStreamMessage';
3
+ export * from './types';
@@ -152,13 +152,19 @@ export const AIUIEntranceStage = ({
152
152
  };
153
153
 
154
154
  /**
155
- * Whether a part of a reply's generated UI comes in, as it was when the part mounted: a part
156
- * that shows at once, such as one of a reply from history, can show in a plain view.
155
+ * Whether a part of a reply's generated UI comes in, as it was when the part first showed: a
156
+ * part that shows at once, such as one of a reply from history, can show in a plain view. A part
157
+ * mounted before it has anything to show passes `shows` as false until it does.
157
158
  */
158
- export const useAIUIComesIn = () => {
159
+ export const useAIUIComesIn = (shows = true) => {
159
160
  const stage = useContext(AIUIStageContext);
160
- const [comesIn] = useState(() => !!stage && !stage.isCarried);
161
- return comesIn;
161
+ const [comesIn, setComesIn] = useState<boolean | undefined>(() =>
162
+ shows ? !!stage && !stage.isCarried : undefined,
163
+ );
164
+ if (comesIn !== undefined || !shows) return comesIn ?? false;
165
+ const now = !!stage && !stage.isCarried;
166
+ setComesIn(now);
167
+ return now;
162
168
  };
163
169
 
164
170
  /**
@@ -8,7 +8,7 @@ import { type AIUIDocument, isSameAIUIDocument } from './AIUIDocument';
8
8
  import { aiUILinkScheme } from './AIUIHelpers';
9
9
  import { type AIUIEngine, type AIUIRenderer, aiUIRendererReads } from './AIUIRenderer';
10
10
 
11
- import type { AIMessage } from '../conversation/types';
11
+ import type { AIMessage } from '../conversation-state/types';
12
12
  import type { AIToolCallPart } from '../message-parts/types';
13
13
  import type { AIClientTool, AIClientToolDefinition } from '../tool-calls/AIClientToolRunner';
14
14
 
@@ -8,7 +8,7 @@ export * from './AITypingIndicatorView';
8
8
  export * from './voice-visualization';
9
9
 
10
10
  // agent replies
11
- export * from './conversation';
11
+ export * from './conversation-state';
12
12
  export * from './generative-ui';
13
13
  export * from './icons';
14
14
  export * from './message';
@@ -0,0 +1,34 @@
1
+ import React, { type ComponentType } from 'react';
2
+ import { Keyboard, View } from 'react-native';
3
+
4
+ import type { KeyboardStickyViewProps } from 'react-native-keyboard-controller';
5
+
6
+ type KeyboardControllerPackage = typeof import('react-native-keyboard-controller');
7
+
8
+ let keyboardController: KeyboardControllerPackage | undefined;
9
+
10
+ try {
11
+ keyboardController = require('react-native-keyboard-controller');
12
+ } catch (_) {
13
+ // do nothing
14
+ }
15
+
16
+ const PlainView = ({ enabled: _enabled, offset: _offset, ...props }: KeyboardStickyViewProps) => (
17
+ <View {...props} />
18
+ );
19
+
20
+ export const KeyboardStickyView: ComponentType<KeyboardStickyViewProps> =
21
+ keyboardController?.KeyboardStickyView ?? PlainView;
22
+
23
+ export const useKeyboardHandler: KeyboardControllerPackage['useKeyboardHandler'] =
24
+ keyboardController?.useKeyboardHandler ?? (() => undefined);
25
+
26
+ export const dismissKeyboard = (): Promise<void> => {
27
+ if (keyboardController) {
28
+ return keyboardController.KeyboardController.dismiss();
29
+ }
30
+ Keyboard.dismiss();
31
+ return Promise.resolve();
32
+ };
33
+
34
+ export const keyboardHeight = () => keyboardController?.KeyboardController.state()?.height ?? 0;
@@ -73,6 +73,7 @@ export const AIAssistantMessage = ({
73
73
  {parts.length > 0 ? (
74
74
  <AIMessageParts
75
75
  approver={approver}
76
+ isGenerating={isGenerating}
76
77
  messageId={id}
77
78
  parts={parts}
78
79
  reasoningText={reasoningText}
@@ -6,7 +6,7 @@ import { useStateStore } from '@stream-io/state-store/react-bindings';
6
6
 
7
7
  import type { ComposerViewProps } from './ComposerView';
8
8
 
9
- import { SpeechToTextButton } from './SpeechToTextButton';
9
+ import { SpeechToTextButton as DefaultSpeechToTextButton } from './SpeechToTextButton';
10
10
 
11
11
  import { useMessageComposerContext, useTheme } from '../contexts';
12
12
  import { CircleStop } from '../internal/icons/CircleStop';
@@ -19,8 +19,9 @@ const selector = ({ isRecording }: DictationStoreState) => ({
19
19
 
20
20
  export const ActionButton = ({
21
21
  isGenerating,
22
+ SpeechToTextButton = DefaultSpeechToTextButton,
22
23
  stopGenerating,
23
- }: Pick<ComposerViewProps, 'isGenerating' | 'stopGenerating'>) => {
24
+ }: Pick<ComposerViewProps, 'isGenerating' | 'SpeechToTextButton' | 'stopGenerating'>) => {
24
25
  const { hasText } = useComposerHasText();
25
26
  const { isRecording } = useStateStore(dictationStore, selector);
26
27
  const { sendMessage } = useMessageComposerContext();
@@ -64,9 +65,9 @@ export const ActionButton = ({
64
65
  </View>
65
66
  </Pressable>
66
67
  </Animated.View>
67
- ) : (
68
+ ) : SpeechToTextButton ? (
68
69
  <SpeechToTextButton />
69
- );
70
+ ) : null;
70
71
  };
71
72
 
72
73
  const useStyles = () => {
@@ -1,15 +1,15 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import { Pressable, StyleSheet, Text } from 'react-native';
3
- import { KeyboardController } from 'react-native-keyboard-controller';
4
3
 
5
4
  import { useTheme } from '../contexts';
5
+ import { dismissKeyboard } from '../internal/keyboard';
6
6
  import { sheetStoreApi } from '../store';
7
7
 
8
8
  // The sheet opens once the keyboard has closed. A sheet opening over the keyboard takes the focus
9
9
  // from the composer: on Android the keyboard then closes with stray events, which move the
10
10
  // conversation following it too far, and again as the sheet closes.
11
11
  const openSheet = () => {
12
- void KeyboardController.dismiss().then(sheetStoreApi.openSheet);
12
+ void dismissKeyboard().then(sheetStoreApi.openSheet);
13
13
  };
14
14
 
15
15
  export const AttachmentButton = () => {
@@ -1,7 +1,6 @@
1
- import React, { type ReactNode, useEffect, useMemo, useRef } from 'react';
1
+ import React, { type ComponentType, type ReactNode, useEffect, useMemo, useRef } from 'react';
2
2
  import { Platform, StyleSheet, TextInput, View } from 'react-native';
3
3
 
4
- import { KeyboardStickyView } from 'react-native-keyboard-controller';
5
4
  import Animated, { FadeIn, FadeOut, LinearTransition } from 'react-native-reanimated';
6
5
 
7
6
  import type { StateStore } from '@stream-io/state-store';
@@ -21,11 +20,12 @@ import { ComposerProvider, useMessageComposerContext, useTheme } from '../contex
21
20
  import type {
22
21
  AIConversationController,
23
22
  AIConversationControllerState,
24
- } from '../conversation/controller/AIConversationController';
25
- import { isAIConversationAnswering } from '../conversation/controller/types';
26
- import { useAIConversationState } from '../conversation/controller/useAIConversationState';
23
+ } from '../conversation-state/controller/AIConversationController';
24
+ import { isAIConversationAnswering } from '../conversation-state/controller/types';
25
+ import { useAIConversationState } from '../conversation-state/controller/useAIConversationState';
27
26
  import { useBottomSafeArea } from '../internal/hooks/useBottomSafeArea';
28
27
  import { useStableCallback } from '../internal/hooks/useStableCallback';
28
+ import { KeyboardStickyView } from '../internal/keyboard';
29
29
  import { primitives } from '../internal/tokens';
30
30
  import type {
31
31
  AbstractMediaPickerService,
@@ -83,14 +83,19 @@ export type ComposerViewProps = {
83
83
  /**
84
84
  * How far above the bottom of the screen the composer sits, such as above a tab bar: it rides
85
85
  * the keyboard up by as much as the keyboard rises past that. Defaults to the bottom safe area,
86
- * the same as `AIConversation`'s. Needs a `KeyboardProvider` from react-native-keyboard-controller
87
- * above it.
86
+ * the same as `AIConversation`'s. Needs react-native-keyboard-controller, with its
87
+ * `KeyboardProvider` above it; without it, the composer doesn't move with the keyboard.
88
88
  */
89
89
  keyboardOffset?: number;
90
90
  /**
91
91
  * Shown after the message box, on the same line, such as a button into voice mode.
92
92
  */
93
93
  trailing?: ReactNode;
94
+ /**
95
+ * The button that dictates into the message box while it is empty. Defaults to
96
+ * `SpeechToTextButton`; `null` shows none.
97
+ */
98
+ SpeechToTextButton?: ComponentType | null;
94
99
  isGenerating?: boolean;
95
100
  stopGenerating?: () => Promise<void>;
96
101
  bottomSheetInsets?: BottomSheetInsets;
@@ -105,6 +110,7 @@ export const ComposerViewUI = ({
105
110
  header,
106
111
  isGenerating,
107
112
  keyboardOffset,
113
+ SpeechToTextButton,
108
114
  stopGenerating,
109
115
  trailing,
110
116
  }: ComposerViewProps) => {
@@ -138,7 +144,11 @@ export const ComposerViewUI = ({
138
144
  <ChatOptionChip />
139
145
  <View style={[styles.inputPill, inputPill]}>
140
146
  <AIMessageInput />
141
- <ActionButton isGenerating={isGenerating} stopGenerating={stopGenerating} />
147
+ <ActionButton
148
+ isGenerating={isGenerating}
149
+ SpeechToTextButton={SpeechToTextButton}
150
+ stopGenerating={stopGenerating}
151
+ />
142
152
  </View>
143
153
  </Animated.View>
144
154
  {trailing ? <View style={[styles.trailing, trailingStyle]}>{trailing}</View> : null}
@@ -201,13 +211,17 @@ export const AIMessageInput = () => {
201
211
  const { text } = useComposerText();
202
212
  const { transcript } = useDictationTranscript();
203
213
  const { isEditing } = useComposerIsEditing();
204
- const { setText } = useMessageComposerContext();
214
+ const { setText, state } = useMessageComposerContext();
205
215
  const previousTranscript = useRef(transcript);
206
216
  const inputRef = useRef<React.ComponentRef<typeof TextInput>>(null);
207
217
 
208
218
  useEffect(() => {
209
- if (isEditing) inputRef.current?.focus();
210
- }, [isEditing]);
219
+ if (!isEditing) return;
220
+ if (Platform.OS === 'ios') {
221
+ inputRef.current?.setNativeProps({ text: state.getLatestValue().text });
222
+ }
223
+ inputRef.current?.focus();
224
+ }, [isEditing, state]);
211
225
 
212
226
  useEffect(() => {
213
227
  if (Platform.OS === 'ios' && text === '') {
@@ -24,10 +24,10 @@ export const EditingMessageChip = ({ onCancel }: EditingMessageChipProps) => {
24
24
  testID='ai-editing-message'
25
25
  >
26
26
  <View style={[styles.icon, theme?.chipIcon]}>
27
- <Edit color={theme?.chipText ?? colors.accent_blue} size={16} />
27
+ <Edit color={theme?.chipText ?? colors.accent_blue} size={14} />
28
28
  </View>
29
29
  <Text style={[styles.title, { color: theme?.chipText }, theme?.chipTitle]}>
30
- {t('Editing message')}
30
+ {t('Editing')}
31
31
  </Text>
32
32
  <Pressable
33
33
  accessibilityLabel={t('Cancel editing')}
@@ -36,7 +36,7 @@ export const EditingMessageChip = ({ onCancel }: EditingMessageChipProps) => {
36
36
  onPress={onCancel}
37
37
  style={[styles.removeButton, theme?.chipRemoveButton]}
38
38
  >
39
- <Close height={20} pathFill={theme?.chipText} width={20} />
39
+ <Close height={16} pathFill={theme?.chipText} width={16} />
40
40
  </Pressable>
41
41
  </View>
42
42
  );
@@ -48,14 +48,15 @@ const styles = StyleSheet.create({
48
48
  alignSelf: 'flex-start',
49
49
  borderRadius: primitives.radiusXl,
50
50
  flexDirection: 'row',
51
- gap: primitives.spacingXs,
52
- padding: primitives.spacingXs,
51
+ gap: primitives.spacingXxs,
52
+ paddingHorizontal: primitives.spacingXs,
53
+ paddingVertical: primitives.spacingXxs,
53
54
  },
54
55
  icon: { alignItems: 'center', justifyContent: 'center' },
55
56
  removeButton: { alignItems: 'center', justifyContent: 'center' },
56
57
  title: {
57
- fontSize: primitives.typographyFontSizeMd,
58
+ fontSize: primitives.typographyFontSizeXs,
58
59
  fontWeight: '600',
59
- lineHeight: primitives.typographyLineHeightNormal,
60
+ lineHeight: primitives.typographyLineHeightTight,
60
61
  },
61
62
  });
@@ -1,5 +1,6 @@
1
- import React, { type ReactNode } from 'react';
1
+ import React, { type ReactNode, useState } from 'react';
2
2
  import { StyleSheet, Text, View } from 'react-native';
3
+ import Animated, { Easing, FadeIn } from 'react-native-reanimated';
3
4
 
4
5
  import { AIToolApproval } from './AIToolApproval';
5
6
  import { AIToolAuthorization } from './AIToolAuthorization';
@@ -10,6 +11,7 @@ import { useAITranslation, useTheme } from '../contexts';
10
11
  import { useAIIcons } from '../icons';
11
12
  import { primitives } from '../internal/tokens';
12
13
  import { AIReasoning } from '../reasoning/AIReasoning';
14
+ import { useAIThinkingTurn } from '../reasoning/thinkingClock';
13
15
  import type { AIToolApprover } from '../tool-calls/AIToolApprover';
14
16
 
15
17
  export type AIMessagePartProps = {
@@ -74,12 +76,26 @@ export type AIMessagePartsProps = Omit<AIMessagePartProps, 'part' | 'stepKey'> &
74
76
  * and starts each step afresh, rather than building them again.
75
77
  */
76
78
  messageId?: string;
79
+ /** Whether the reply is being written: a step that appears meanwhile fades in. */
80
+ isGenerating?: boolean;
81
+ };
82
+
83
+ const STEP_IN = FadeIn.duration(200).easing(Easing.out(Easing.ease));
84
+
85
+ const StepView = ({ children, comesIn }: { children: ReactNode; comesIn: boolean }) => {
86
+ const [animated] = useState(comesIn);
87
+ return animated ? (
88
+ <Animated.View entering={STEP_IN}>{children}</Animated.View>
89
+ ) : (
90
+ <View>{children}</View>
91
+ );
77
92
  };
78
93
 
79
94
  /** The steps of a reply, in order. */
80
95
  export const AIMessageParts = ({
81
96
  approver,
82
97
  children,
98
+ isGenerating = false,
83
99
  messageId,
84
100
  parts,
85
101
  reasoningText,
@@ -87,6 +103,12 @@ export const AIMessageParts = ({
87
103
  const {
88
104
  theme: { messageParts },
89
105
  } = useTheme();
106
+ const turn = useAIThinkingTurn();
107
+ const takesOverThinking = (part: AIMessagePartData) =>
108
+ !!part.reasoning &&
109
+ !!turn &&
110
+ turn.firstStepId === part.id &&
111
+ turn.clock.start(turn.key) !== undefined;
90
112
  return (
91
113
  <View style={[styles.parts, messageParts?.container]} testID='ai-message-parts'>
92
114
  {parts.map((part, index) => {
@@ -94,7 +116,10 @@ export const AIMessageParts = ({
94
116
  // The default steps are kept by position and start afresh for another step themselves.
95
117
  // Steps rendered by `children` keep their state by step, which only they can reset.
96
118
  return (
97
- <View key={children ? stepKey : index}>
119
+ <StepView
120
+ comesIn={isGenerating && !takesOverThinking(part)}
121
+ key={children ? stepKey : index}
122
+ >
98
123
  {children ? (
99
124
  children(part)
100
125
  ) : (
@@ -105,7 +130,7 @@ export const AIMessageParts = ({
105
130
  stepKey={stepKey}
106
131
  />
107
132
  )}
108
- </View>
133
+ </StepView>
109
134
  );
110
135
  })}
111
136
  </View>
package/src/i18n/ar.json CHANGED
@@ -371,6 +371,7 @@
371
371
  "Copied": "تم النسخ",
372
372
  "Copy": "نسخ",
373
373
  "Edit": "تعديل",
374
+ "Editing": "جارٍ التعديل",
374
375
  "Editing message": "تعديل الرسالة",
375
376
  "Cancel editing": "إلغاء التعديل",
376
377
  "Files": "الملفات",
package/src/i18n/en.json CHANGED
@@ -400,6 +400,7 @@
400
400
  "Copied": "Copied",
401
401
  "Copy": "Copy",
402
402
  "Edit": "Edit",
403
+ "Editing": "Editing",
403
404
  "Editing message": "Editing message",
404
405
  "Cancel editing": "Cancel editing",
405
406
  "Files": "Files",
package/src/i18n/es.json CHANGED
@@ -371,6 +371,7 @@
371
371
  "Copied": "Copiado",
372
372
  "Copy": "Copiar",
373
373
  "Edit": "Editar",
374
+ "Editing": "Editando",
374
375
  "Editing message": "Editando mensaje",
375
376
  "Cancel editing": "Cancelar edición",
376
377
  "Files": "Archivos",
package/src/i18n/fr.json CHANGED
@@ -371,6 +371,7 @@
371
371
  "Copied": "Copié",
372
372
  "Copy": "Copier",
373
373
  "Edit": "Modifier",
374
+ "Editing": "Modification",
374
375
  "Editing message": "Modification du message",
375
376
  "Cancel editing": "Annuler la modification",
376
377
  "Files": "Fichiers",
package/src/i18n/he.json CHANGED
@@ -371,6 +371,7 @@
371
371
  "Copied": "הועתק",
372
372
  "Copy": "העתקה",
373
373
  "Edit": "ערוך",
374
+ "Editing": "עריכה",
374
375
  "Editing message": "עריכת הודעה",
375
376
  "Cancel editing": "ביטול עריכה",
376
377
  "Files": "קבצים",
package/src/i18n/hi.json CHANGED
@@ -371,6 +371,7 @@
371
371
  "Copied": "कॉपी हो गया",
372
372
  "Copy": "कॉपी करें",
373
373
  "Edit": "संपादित करें",
374
+ "Editing": "संपादन",
374
375
  "Editing message": "संदेश संपादित कर रहे हैं",
375
376
  "Cancel editing": "संपादन रद्द करें",
376
377
  "Files": "फ़ाइलें",
package/src/i18n/it.json CHANGED
@@ -371,6 +371,7 @@
371
371
  "Copied": "Copiato",
372
372
  "Copy": "Copia",
373
373
  "Edit": "Modifica",
374
+ "Editing": "In modifica",
374
375
  "Editing message": "Modifica del messaggio",
375
376
  "Cancel editing": "Annulla modifica",
376
377
  "Files": "File",
package/src/i18n/ja.json CHANGED
@@ -371,6 +371,7 @@
371
371
  "Copied": "コピーしました",
372
372
  "Copy": "コピー",
373
373
  "Edit": "編集",
374
+ "Editing": "編集中",
374
375
  "Editing message": "メッセージを編集中",
375
376
  "Cancel editing": "編集をキャンセル",
376
377
  "Files": "ファイル",
package/src/i18n/ko.json CHANGED
@@ -371,6 +371,7 @@
371
371
  "Copied": "복사됨",
372
372
  "Copy": "복사",
373
373
  "Edit": "편집",
374
+ "Editing": "편집 중",
374
375
  "Editing message": "메시지 편집 중",
375
376
  "Cancel editing": "편집 취소",
376
377
  "Files": "파일",
package/src/i18n/nl.json CHANGED
@@ -371,6 +371,7 @@
371
371
  "Copied": "Gekopieerd",
372
372
  "Copy": "Kopiëren",
373
373
  "Edit": "Bewerken",
374
+ "Editing": "Bewerken",
374
375
  "Editing message": "Bericht bewerken",
375
376
  "Cancel editing": "Bewerken annuleren",
376
377
  "Files": "Bestanden",
@@ -371,6 +371,7 @@
371
371
  "Copied": "Copiado",
372
372
  "Copy": "Copiar",
373
373
  "Edit": "Editar",
374
+ "Editing": "Editando",
374
375
  "Editing message": "Editando mensagem",
375
376
  "Cancel editing": "Cancelar edição",
376
377
  "Files": "Arquivos",
package/src/i18n/ru.json CHANGED
@@ -371,6 +371,7 @@
371
371
  "Copied": "Скопировано",
372
372
  "Copy": "Копировать",
373
373
  "Edit": "Изменить",
374
+ "Editing": "Редактирование",
374
375
  "Editing message": "Редактирование сообщения",
375
376
  "Cancel editing": "Отменить редактирование",
376
377
  "Files": "Файлы",
package/src/i18n/tr.json CHANGED
@@ -371,6 +371,7 @@
371
371
  "Copied": "Kopyalandı",
372
372
  "Copy": "Kopyala",
373
373
  "Edit": "Düzenle",
374
+ "Editing": "Düzenleniyor",
374
375
  "Editing message": "Mesaj düzenleniyor",
375
376
  "Cancel editing": "Düzenlemeyi iptal et",
376
377
  "Files": "Dosyalar",
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "9.13.0"
2
+ "version": "9.14.0"
3
3
  }
@@ -1 +0,0 @@
1
- {"version":3,"names":["AIAgentError","Error","constructor","agentMessage","name","undefined","exports"],"sourceRoot":"../../../../../src","sources":["ai-components/conversation/controller/AIAgentError.ts"],"mappings":";;;;AAIO,MAAMA,YAAY,SAASC,KAAK,CAAC;EAItCC,WAAWA,CAACC,YAAqB,EAAE;IACjC,KAAK,CAACA,YAAY,IAAI,uCAAuC,CAAC;IAC9D,IAAI,CAACC,IAAI,GAAG,cAAc;IAC1B,IAAI,CAACD,YAAY,GAAGA,YAAY,IAAIE,SAAS;EAC/C;AACF;AAACC,OAAA,CAAAN,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_stateStore","require","_AIAgentError","_AIConversationExchange","_offers","_types","_uuid","_store","_createForOfIteratorHelperLoose","r","e","t","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","o","done","value","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","from","test","n","DEFAULT_REPLY_TIMEOUT","MAX_TIMEOUT","ALL_ACTIONS","edit","rate","regenerate","isAbortError","error","asError","Error","String","sameItems","b","every","item","index","sameRatings","keys","Object","key","AIConversationController","disposed","received","generation","stopped","Set","ignoresActivity","hasOlderMessages","ratingChanges","Map","ratingAttempts","isLoadingOlderMessages","actions","approver","composer","replyTimeout","transport","createNewComposerStore","state","StateStore","activity","undefined","messages","pendingMessage","ratings","status","disconnect","connect","makeFeed","editingMessage","getLatestValue","isEditing","edited","dispose","_this$disconnect","clearReplyTimer","send","attachments","chatOption","custom","text","trim","editing","partialNext","start","kind","message","messageId","generateUUIDv4","stop","_this$exchange","_this","isAIConversationAnswering","id","exchange","writing","writingReply","add","refresh","stopping","_asyncToGenerator2","default","stopFailed","reply","indexOf","role","regenerateRequest","cancelEditing","retry","hasFailed","retryRequest","clearError","_this$exchange2","rating","_this$state$getLatest","_this$ratingChanges$g","_this2","current","attempt","change","get","sent","shown","earlier","sending","sendRating","set","loadOlderMessages","_this3","_unused","replyActions","isLatestReply","replyActionsOf","editAction","editActionOf","isDisposed","isConnected","updateActivity","receiveActivity","updateHasOlderMessages","updateMessages","receiveMessages","receiveReply","_this$exchange3","waitForReply","AIAgentActivityStates","agentCouldNotAnswer","AIAgentError","request","_this4","AIConversationExchange","previousStop","requestSent","requestFailed","isGenerating","hasEmptyContent","delete","answerAgainRequest","timeout","Number","isFinite","replyTimer","setTimeout","replyTimedOut","Math","max","clearTimeout","_this5","_this5$ratingChanges$","_unused2","_prompt$text","prompt","reverse","find","last","findIndex","_this$exchange4","_this$exchange5","_current$pendingMessa","replaced","size","filter","has","shownPending","nextRatings","currentRatings","currentStatus","changed","some","_iterator","_step","_iterator2","_step2","_ref5","_ref6","_slicedToArray2","_this$exchange6","exports"],"sourceRoot":"../../../../../src","sources":["ai-components/conversation/controller/AIConversationController.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_isEqual","_interopRequireDefault","require","_uuid","hasEmptyContent","message","_message$parts","_message$attachments","role","text","parts","length","attachments","exports","isRewritten","original","_message$parts2","_original$parts","_message$attachments2","_original$attachments","isGenerating","isEqual","uiDocument","attachmentOfAsset","asset","_asset$type","kind","type","startsWith","mimeType","includes","undefined","name","size","url","uri","AIConversationExchange","state","constructor","id","request","conversation","known","Set","map","target","findIndex","_request$message","replaced","Map","slice","pending","_request$message$atta","_request$message2","edited","messageId","hasFailed","shownPending","reply","last","get","rewritten","has","hasReplyStarted","hasMessageArrived","some","lastKnown","forEach","index","retryRequest","generateUUIDv4"],"sourceRoot":"../../../../../src","sources":["ai-components/conversation/controller/AIConversationExchange.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_AIAgentError","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_AIConversationController","_types","_useAIConversationState"],"sourceRoot":"../../../../../src","sources":["ai-components/conversation/controller/index.ts"],"mappings":";;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,yBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,yBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,yBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,yBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,MAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,MAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,MAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,MAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,uBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,uBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,uBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,uBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_types","require","replyActionsOf","offerer","ratings","status","reply","isLatestReply","_ratings$reply$id","onRate","actions","rate","rating","undefined","onRegenerate","regenerate","isAIConversationAnswering","id","exports","editActionOf","messages","message","edit","role","latest","reverse","find","item"],"sourceRoot":"../../../../../src","sources":["ai-components/conversation/controller/offers.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAcO,IAAMC,cAAc,GAAGA,CAC5BC,OAAyB,EACzB;EACEC,OAAO;EACPC;AACoF,CAAC,EACvFC,KAAc,EACdC,aAAsB;EAAA,IAAAC,iBAAA;EAAA,OACiB;IACvCC,MAAM,EAAEN,OAAO,CAACO,OAAO,CAACC,IAAI,GAAIC,MAAM,IAAKT,OAAO,CAACQ,IAAI,CAACL,KAAK,EAAEM,MAAM,CAAC,GAAGC,SAAS;IAClFC,YAAY,EACVX,OAAO,CAACO,OAAO,CAACK,UAAU,IAAIR,aAAa,IAAI,CAAC,IAAAS,gCAAyB,EAACX,MAAM,CAAC,GAC7E,MAAMF,OAAO,CAACY,UAAU,CAACT,KAAK,CAAC,GAC/BO,SAAS;IACfD,MAAM,GAAAJ,iBAAA,GAAEJ,OAAO,CAACE,KAAK,CAACW,EAAE,CAAC,YAAAT,iBAAA,GAAI;EAC/B,CAAC;AAAA,CAAC;AAACU,OAAA,CAAAhB,cAAA,GAAAA,cAAA;AAGI,IAAMiB,YAAY,GAAGA,CAC1BhB,OAAyB,EACzB;EAAEiB,QAAQ;EAAEf;AAAuE,CAAC,EACpFgB,OAAgB,KACa;EAC7B,IAAI,CAAClB,OAAO,CAACO,OAAO,CAACY,IAAI,IAAID,OAAO,CAACE,IAAI,KAAK,MAAM,IAAI,IAAAP,gCAAyB,EAACX,MAAM,CAAC,EAAE;IACzF,OAAOQ,SAAS;EAClB;EACA,IAAMW,MAAM,GAAG,CAAC,GAAGJ,QAAQ,CAAC,CAACK,OAAO,CAAC,CAAC,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACJ,IAAI,KAAK,MAAM,CAAC;EAC3E,OAAO,CAAAC,MAAM,oBAANA,MAAM,CAAEP,EAAE,MAAKI,OAAO,CAACJ,EAAE,GAAG,MAAMd,OAAO,CAACmB,IAAI,CAACD,OAAO,CAAC,GAAGR,SAAS;AAC5E,CAAC;AAACK,OAAA,CAAAC,YAAA,GAAAA,YAAA","ignoreList":[]}