stream-chat-react-native-core 9.12.1-beta.1 → 9.13.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 (922) hide show
  1. package/a2ui/package.json +6 -0
  2. package/lib/commonjs/a11y/a11yUtils.js.map +1 -1
  3. package/lib/commonjs/a11y/hooks/useResolvedModalAccessibilityProps.js.map +1 -1
  4. package/lib/commonjs/a2ui/A2UIContexts.js +8 -0
  5. package/lib/commonjs/a2ui/A2UIContexts.js.map +1 -0
  6. package/lib/commonjs/a2ui/A2UIInstructions.js +49 -0
  7. package/lib/commonjs/a2ui/A2UIInstructions.js.map +1 -0
  8. package/lib/commonjs/a2ui/A2UIPlaceholder.js +37 -0
  9. package/lib/commonjs/a2ui/A2UIPlaceholder.js.map +1 -0
  10. package/lib/commonjs/a2ui/A2UIRenderer.js +363 -0
  11. package/lib/commonjs/a2ui/A2UIRenderer.js.map +1 -0
  12. package/lib/commonjs/a2ui/A2UIStream.js +91 -0
  13. package/lib/commonjs/a2ui/A2UIStream.js.map +1 -0
  14. package/lib/commonjs/a2ui/A2UISurface.js +212 -0
  15. package/lib/commonjs/a2ui/A2UISurface.js.map +1 -0
  16. package/lib/commonjs/a2ui/basicCatalog.json +1206 -0
  17. package/lib/commonjs/a2ui/basicFunctions.js +398 -0
  18. package/lib/commonjs/a2ui/basicFunctions.js.map +1 -0
  19. package/lib/commonjs/a2ui/catalogDocument.js +80 -0
  20. package/lib/commonjs/a2ui/catalogDocument.js.map +1 -0
  21. package/lib/commonjs/a2ui/catalogs.js +105 -0
  22. package/lib/commonjs/a2ui/catalogs.js.map +1 -0
  23. package/lib/commonjs/a2ui/components/DateTimeInput.js +445 -0
  24. package/lib/commonjs/a2ui/components/DateTimeInput.js.map +1 -0
  25. package/lib/commonjs/a2ui/components/Media.js +316 -0
  26. package/lib/commonjs/a2ui/components/Media.js.map +1 -0
  27. package/lib/commonjs/a2ui/components/basicComponents.js +975 -0
  28. package/lib/commonjs/a2ui/components/basicComponents.js.map +1 -0
  29. package/lib/commonjs/a2ui/components/iconPaths.js +66 -0
  30. package/lib/commonjs/a2ui/components/iconPaths.js.map +1 -0
  31. package/lib/commonjs/a2ui/components/types.js +4 -0
  32. package/lib/commonjs/a2ui/components/types.js.map +1 -0
  33. package/lib/commonjs/a2ui/index.js +70 -0
  34. package/lib/commonjs/a2ui/index.js.map +1 -0
  35. package/lib/commonjs/a2ui/instructions.js +268 -0
  36. package/lib/commonjs/a2ui/instructions.js.map +1 -0
  37. package/lib/commonjs/a2ui/secrets.js +169 -0
  38. package/lib/commonjs/a2ui/secrets.js.map +1 -0
  39. package/lib/commonjs/a2ui/useReplyState.js +35 -0
  40. package/lib/commonjs/a2ui/useReplyState.js.map +1 -0
  41. package/lib/commonjs/ai-components/AITypingIndicatorView.js +8 -18
  42. package/lib/commonjs/ai-components/AITypingIndicatorView.js.map +1 -1
  43. package/lib/commonjs/ai-components/README.md +55 -3
  44. package/lib/commonjs/ai-components/StreamingMessageView.js +26 -0
  45. package/lib/commonjs/ai-components/StreamingMessageView.js.map +1 -1
  46. package/lib/commonjs/ai-components/charts/components/PieLegend.js +2 -1
  47. package/lib/commonjs/ai-components/charts/components/PieLegend.js.map +1 -1
  48. package/lib/commonjs/ai-components/charts/components/VictoryChart.js +7 -2
  49. package/lib/commonjs/ai-components/charts/components/VictoryChart.js.map +1 -1
  50. package/lib/commonjs/ai-components/charts/utils/format-time-label.js +15 -0
  51. package/lib/commonjs/ai-components/charts/utils/format-time-label.js.map +1 -0
  52. package/lib/commonjs/ai-components/charts/vega-lite/schema.js +17 -2
  53. package/lib/commonjs/ai-components/charts/vega-lite/schema.js.map +1 -1
  54. package/lib/commonjs/ai-components/contexts/composer-context.js +13 -6
  55. package/lib/commonjs/ai-components/contexts/composer-context.js.map +1 -1
  56. package/lib/commonjs/ai-components/contexts/index.js +11 -0
  57. package/lib/commonjs/ai-components/contexts/index.js.map +1 -1
  58. package/lib/commonjs/ai-components/contexts/theme-context.js +33 -2
  59. package/lib/commonjs/ai-components/contexts/theme-context.js.map +1 -1
  60. package/lib/commonjs/ai-components/contexts/translation-context.js +29 -0
  61. package/lib/commonjs/ai-components/contexts/translation-context.js.map +1 -0
  62. package/lib/commonjs/ai-components/conversation/AIConversation.js +366 -0
  63. package/lib/commonjs/ai-components/conversation/AIConversation.js.map +1 -0
  64. package/lib/commonjs/ai-components/conversation/controller/AIAgentError.js +13 -0
  65. package/lib/commonjs/ai-components/conversation/controller/AIAgentError.js.map +1 -0
  66. package/lib/commonjs/ai-components/conversation/controller/AIConversationController.js +425 -0
  67. package/lib/commonjs/ai-components/conversation/controller/AIConversationController.js.map +1 -0
  68. package/lib/commonjs/ai-components/conversation/controller/AIConversationExchange.js +89 -0
  69. package/lib/commonjs/ai-components/conversation/controller/AIConversationExchange.js.map +1 -0
  70. package/lib/commonjs/ai-components/conversation/controller/index.js +48 -0
  71. package/lib/commonjs/ai-components/conversation/controller/index.js.map +1 -0
  72. package/lib/commonjs/ai-components/conversation/controller/offers.js +29 -0
  73. package/lib/commonjs/ai-components/conversation/controller/offers.js.map +1 -0
  74. package/lib/commonjs/ai-components/conversation/controller/types.js +13 -0
  75. package/lib/commonjs/ai-components/conversation/controller/types.js.map +1 -0
  76. package/lib/commonjs/ai-components/conversation/controller/useAIConversationState.js +8 -0
  77. package/lib/commonjs/ai-components/conversation/controller/useAIConversationState.js.map +1 -0
  78. package/lib/commonjs/ai-components/conversation/entries.js +98 -0
  79. package/lib/commonjs/ai-components/conversation/entries.js.map +1 -0
  80. package/lib/commonjs/ai-components/conversation/fromStreamMessage.js +66 -0
  81. package/lib/commonjs/ai-components/conversation/fromStreamMessage.js.map +1 -0
  82. package/lib/commonjs/ai-components/conversation/index.js +48 -0
  83. package/lib/commonjs/ai-components/conversation/index.js.map +1 -0
  84. package/lib/commonjs/ai-components/conversation/list/AIChatList.js +224 -0
  85. package/lib/commonjs/ai-components/conversation/list/AIChatList.js.map +1 -0
  86. package/lib/commonjs/ai-components/conversation/list/useChatListController.js +78 -0
  87. package/lib/commonjs/ai-components/conversation/list/useChatListController.js.map +1 -0
  88. package/lib/commonjs/ai-components/conversation/list/useEndInView.js +51 -0
  89. package/lib/commonjs/ai-components/conversation/list/useEndInView.js.map +1 -0
  90. package/lib/commonjs/ai-components/conversation/list/useKeyboardOverlap.js +54 -0
  91. package/lib/commonjs/ai-components/conversation/list/useKeyboardOverlap.js.map +1 -0
  92. package/lib/commonjs/ai-components/conversation/list/useLoadOlder.js +73 -0
  93. package/lib/commonjs/ai-components/conversation/list/useLoadOlder.js.map +1 -0
  94. package/lib/commonjs/ai-components/conversation/list/usePinnedAnchor.js +84 -0
  95. package/lib/commonjs/ai-components/conversation/list/usePinnedAnchor.js.map +1 -0
  96. package/lib/commonjs/ai-components/conversation/types.js +4 -0
  97. package/lib/commonjs/ai-components/conversation/types.js.map +1 -0
  98. package/lib/commonjs/ai-components/conversation/useConversationRows.js +117 -0
  99. package/lib/commonjs/ai-components/conversation/useConversationRows.js.map +1 -0
  100. package/lib/commonjs/ai-components/generative-ui/AIUIAction.js +30 -0
  101. package/lib/commonjs/ai-components/generative-ui/AIUIAction.js.map +1 -0
  102. package/lib/commonjs/ai-components/generative-ui/AIUIArguments.js +128 -0
  103. package/lib/commonjs/ai-components/generative-ui/AIUIArguments.js.map +1 -0
  104. package/lib/commonjs/ai-components/generative-ui/AIUIComponent.js +50 -0
  105. package/lib/commonjs/ai-components/generative-ui/AIUIComponent.js.map +1 -0
  106. package/lib/commonjs/ai-components/generative-ui/AIUIComponentDefinition.js +134 -0
  107. package/lib/commonjs/ai-components/generative-ui/AIUIComponentDefinition.js.map +1 -0
  108. package/lib/commonjs/ai-components/generative-ui/AIUIDocument.js +32 -0
  109. package/lib/commonjs/ai-components/generative-ui/AIUIDocument.js.map +1 -0
  110. package/lib/commonjs/ai-components/generative-ui/AIUIEntrance.js +193 -0
  111. package/lib/commonjs/ai-components/generative-ui/AIUIEntrance.js.map +1 -0
  112. package/lib/commonjs/ai-components/generative-ui/AIUIErrorBoundary.js +30 -0
  113. package/lib/commonjs/ai-components/generative-ui/AIUIErrorBoundary.js.map +1 -0
  114. package/lib/commonjs/ai-components/generative-ui/AIUIHelpers.js +54 -0
  115. package/lib/commonjs/ai-components/generative-ui/AIUIHelpers.js.map +1 -0
  116. package/lib/commonjs/ai-components/generative-ui/AIUIHost.js +259 -0
  117. package/lib/commonjs/ai-components/generative-ui/AIUIHost.js.map +1 -0
  118. package/lib/commonjs/ai-components/generative-ui/AIUIMedia.js +24 -0
  119. package/lib/commonjs/ai-components/generative-ui/AIUIMedia.js.map +1 -0
  120. package/lib/commonjs/ai-components/generative-ui/AIUIRenderer.js +10 -0
  121. package/lib/commonjs/ai-components/generative-ui/AIUIRenderer.js.map +1 -0
  122. package/lib/commonjs/ai-components/generative-ui/AIUIView.js +57 -0
  123. package/lib/commonjs/ai-components/generative-ui/AIUIView.js.map +1 -0
  124. package/lib/commonjs/ai-components/generative-ui/index.js +181 -0
  125. package/lib/commonjs/ai-components/generative-ui/index.js.map +1 -0
  126. package/lib/commonjs/ai-components/icons.js +44 -0
  127. package/lib/commonjs/ai-components/icons.js.map +1 -0
  128. package/lib/commonjs/ai-components/index.js +96 -0
  129. package/lib/commonjs/ai-components/index.js.map +1 -1
  130. package/lib/commonjs/ai-components/internal/Shimmer.js +36 -0
  131. package/lib/commonjs/ai-components/internal/Shimmer.js.map +1 -0
  132. package/lib/commonjs/ai-components/internal/format.js +66 -0
  133. package/lib/commonjs/ai-components/internal/format.js.map +1 -0
  134. package/lib/commonjs/ai-components/internal/hooks/useBottomSafeArea.js +12 -0
  135. package/lib/commonjs/ai-components/internal/hooks/useBottomSafeArea.js.map +1 -0
  136. package/lib/commonjs/ai-components/internal/icons/AgentIcons.js +74 -0
  137. package/lib/commonjs/ai-components/internal/icons/AgentIcons.js.map +1 -0
  138. package/lib/commonjs/ai-components/internal/tokens.js +11 -0
  139. package/lib/commonjs/ai-components/internal/tokens.js.map +1 -0
  140. package/lib/commonjs/ai-components/internal/uuid.js +21 -0
  141. package/lib/commonjs/ai-components/internal/uuid.js.map +1 -0
  142. package/lib/commonjs/ai-components/markdown/components/CodeBlock.js +4 -2
  143. package/lib/commonjs/ai-components/markdown/components/CodeBlock.js.map +1 -1
  144. package/lib/commonjs/ai-components/markdown/components/InlineCode.js +1 -0
  145. package/lib/commonjs/ai-components/markdown/components/InlineCode.js.map +1 -1
  146. package/lib/commonjs/ai-components/markdown/components/Text.js +11 -2
  147. package/lib/commonjs/ai-components/markdown/components/Text.js.map +1 -1
  148. package/lib/commonjs/ai-components/markdown/styles.js +27 -29
  149. package/lib/commonjs/ai-components/markdown/styles.js.map +1 -1
  150. package/lib/commonjs/ai-components/message/AIAssistantMessage.js +63 -0
  151. package/lib/commonjs/ai-components/message/AIAssistantMessage.js.map +1 -0
  152. package/lib/commonjs/ai-components/message/AIMessageAttachment.js +189 -0
  153. package/lib/commonjs/ai-components/message/AIMessageAttachment.js.map +1 -0
  154. package/lib/commonjs/ai-components/message/AIReplyActions.js +132 -0
  155. package/lib/commonjs/ai-components/message/AIReplyActions.js.map +1 -0
  156. package/lib/commonjs/ai-components/message/AIUserMessage.js +104 -0
  157. package/lib/commonjs/ai-components/message/AIUserMessage.js.map +1 -0
  158. package/lib/commonjs/ai-components/message/UserMessageMenu.js +150 -0
  159. package/lib/commonjs/ai-components/message/UserMessageMenu.js.map +1 -0
  160. package/lib/commonjs/ai-components/message/index.js +48 -0
  161. package/lib/commonjs/ai-components/message/index.js.map +1 -0
  162. package/lib/commonjs/ai-components/message-composer/ActionButton.js +2 -1
  163. package/lib/commonjs/ai-components/message-composer/ActionButton.js.map +1 -1
  164. package/lib/commonjs/ai-components/message-composer/ActionSheet.js +22 -6
  165. package/lib/commonjs/ai-components/message-composer/ActionSheet.js.map +1 -1
  166. package/lib/commonjs/ai-components/message-composer/AttachmentButton.js +5 -1
  167. package/lib/commonjs/ai-components/message-composer/AttachmentButton.js.map +1 -1
  168. package/lib/commonjs/ai-components/message-composer/ChatOptions.js +147 -0
  169. package/lib/commonjs/ai-components/message-composer/ChatOptions.js.map +1 -0
  170. package/lib/commonjs/ai-components/message-composer/ComposerView.js +136 -20
  171. package/lib/commonjs/ai-components/message-composer/ComposerView.js.map +1 -1
  172. package/lib/commonjs/ai-components/message-composer/EditingMessageChip.js +80 -0
  173. package/lib/commonjs/ai-components/message-composer/EditingMessageChip.js.map +1 -0
  174. package/lib/commonjs/ai-components/message-composer/MediaPreviewList.js +26 -1
  175. package/lib/commonjs/ai-components/message-composer/MediaPreviewList.js.map +1 -1
  176. package/lib/commonjs/ai-components/message-composer/index.js +11 -0
  177. package/lib/commonjs/ai-components/message-composer/index.js.map +1 -1
  178. package/lib/commonjs/ai-components/message-parts/AIMessageParts.js +110 -0
  179. package/lib/commonjs/ai-components/message-parts/AIMessageParts.js.map +1 -0
  180. package/lib/commonjs/ai-components/message-parts/AIToolApproval.js +197 -0
  181. package/lib/commonjs/ai-components/message-parts/AIToolApproval.js.map +1 -0
  182. package/lib/commonjs/ai-components/message-parts/AIToolAuthorization.js +250 -0
  183. package/lib/commonjs/ai-components/message-parts/AIToolAuthorization.js.map +1 -0
  184. package/lib/commonjs/ai-components/message-parts/AIToolCall.js +159 -0
  185. package/lib/commonjs/ai-components/message-parts/AIToolCall.js.map +1 -0
  186. package/lib/commonjs/ai-components/message-parts/callStates.js +54 -0
  187. package/lib/commonjs/ai-components/message-parts/callStates.js.map +1 -0
  188. package/lib/commonjs/ai-components/message-parts/index.js +70 -0
  189. package/lib/commonjs/ai-components/message-parts/index.js.map +1 -0
  190. package/lib/commonjs/ai-components/message-parts/parseMessageParts.js +126 -0
  191. package/lib/commonjs/ai-components/message-parts/parseMessageParts.js.map +1 -0
  192. package/lib/commonjs/ai-components/message-parts/types.js +2 -0
  193. package/lib/commonjs/ai-components/message-parts/types.js.map +1 -0
  194. package/lib/commonjs/ai-components/native-specs/NativeAIAgent.js +7 -0
  195. package/lib/commonjs/ai-components/native-specs/NativeAIAgent.js.map +1 -0
  196. package/lib/commonjs/ai-components/reasoning/AIReasoning.js +401 -0
  197. package/lib/commonjs/ai-components/reasoning/AIReasoning.js.map +1 -0
  198. package/lib/commonjs/ai-components/reasoning/index.js +26 -0
  199. package/lib/commonjs/ai-components/reasoning/index.js.map +1 -0
  200. package/lib/commonjs/ai-components/reasoning/thinkingClock.js +63 -0
  201. package/lib/commonjs/ai-components/reasoning/thinkingClock.js.map +1 -0
  202. package/lib/commonjs/ai-components/services/clipboard-service/expo.js +7 -2
  203. package/lib/commonjs/ai-components/services/clipboard-service/expo.js.map +1 -1
  204. package/lib/commonjs/ai-components/store/composer/store.js.map +1 -1
  205. package/lib/commonjs/ai-components/store/composer/useComposerChatOption.js +18 -0
  206. package/lib/commonjs/ai-components/store/composer/useComposerChatOption.js.map +1 -0
  207. package/lib/commonjs/ai-components/store/composer/useComposerIsEditing.js +18 -0
  208. package/lib/commonjs/ai-components/store/composer/useComposerIsEditing.js.map +1 -0
  209. package/lib/commonjs/ai-components/store/index.js +22 -0
  210. package/lib/commonjs/ai-components/store/index.js.map +1 -1
  211. package/lib/commonjs/ai-components/suggestions/AISuggestions.js +66 -0
  212. package/lib/commonjs/ai-components/suggestions/AISuggestions.js.map +1 -0
  213. package/lib/commonjs/ai-components/suggestions/index.js +15 -0
  214. package/lib/commonjs/ai-components/suggestions/index.js.map +1 -0
  215. package/lib/commonjs/ai-components/syntax-highlighting/utils/flatten-nodes.js +2 -1
  216. package/lib/commonjs/ai-components/syntax-highlighting/utils/flatten-nodes.js.map +1 -1
  217. package/lib/commonjs/ai-components/syntax-highlighting/utils/renderer.js +3 -2
  218. package/lib/commonjs/ai-components/syntax-highlighting/utils/renderer.js.map +1 -1
  219. package/lib/commonjs/ai-components/theme.js +137 -1
  220. package/lib/commonjs/ai-components/theme.js.map +1 -1
  221. package/lib/commonjs/ai-components/tool-calls/AIClientIdentity.js +22 -0
  222. package/lib/commonjs/ai-components/tool-calls/AIClientIdentity.js.map +1 -0
  223. package/lib/commonjs/ai-components/tool-calls/AIClientToolRunner.js +109 -0
  224. package/lib/commonjs/ai-components/tool-calls/AIClientToolRunner.js.map +1 -0
  225. package/lib/commonjs/ai-components/tool-calls/AIToolApprover.js +23 -0
  226. package/lib/commonjs/ai-components/tool-calls/AIToolApprover.js.map +1 -0
  227. package/lib/commonjs/ai-components/tool-calls/authSessionAuthorizer.js +88 -0
  228. package/lib/commonjs/ai-components/tool-calls/authSessionAuthorizer.js.map +1 -0
  229. package/lib/commonjs/ai-components/tool-calls/index.js +48 -0
  230. package/lib/commonjs/ai-components/tool-calls/index.js.map +1 -0
  231. package/lib/commonjs/ai-components/voice-visualization/glowShader.js.map +1 -1
  232. package/lib/commonjs/components/Accessibility/useAccessibilityAnnouncer.js.map +1 -1
  233. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.js.map +1 -1
  234. package/lib/commonjs/contexts/translationContext/TranslationContext.js +2 -2
  235. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  236. package/lib/commonjs/i18n/ar.json +39 -1
  237. package/lib/commonjs/i18n/en.json +39 -1
  238. package/lib/commonjs/i18n/es.json +39 -1
  239. package/lib/commonjs/i18n/fr.json +39 -1
  240. package/lib/commonjs/i18n/he.json +39 -1
  241. package/lib/commonjs/i18n/hi.json +39 -1
  242. package/lib/commonjs/i18n/it.json +39 -1
  243. package/lib/commonjs/i18n/ja.json +39 -1
  244. package/lib/commonjs/i18n/ko.json +39 -1
  245. package/lib/commonjs/i18n/nl.json +39 -1
  246. package/lib/commonjs/i18n/pt-br.json +39 -1
  247. package/lib/commonjs/i18n/ru.json +39 -1
  248. package/lib/commonjs/i18n/tr.json +39 -1
  249. package/lib/commonjs/mock-builders/a2ui/ohrid.js +84 -0
  250. package/lib/commonjs/mock-builders/a2ui/ohrid.js.map +1 -0
  251. package/lib/commonjs/utils/i18n/Streami18n.js +9 -4
  252. package/lib/commonjs/utils/i18n/Streami18n.js.map +1 -1
  253. package/lib/commonjs/utils/i18n/utils.js +7 -0
  254. package/lib/commonjs/utils/i18n/utils.js.map +1 -0
  255. package/lib/commonjs/version.json +1 -1
  256. package/lib/module/a11y/a11yUtils.js.map +1 -1
  257. package/lib/module/a11y/hooks/useResolvedModalAccessibilityProps.js.map +1 -1
  258. package/lib/module/a2ui/A2UIContexts.js +8 -0
  259. package/lib/module/a2ui/A2UIContexts.js.map +1 -0
  260. package/lib/module/a2ui/A2UIInstructions.js +49 -0
  261. package/lib/module/a2ui/A2UIInstructions.js.map +1 -0
  262. package/lib/module/a2ui/A2UIPlaceholder.js +37 -0
  263. package/lib/module/a2ui/A2UIPlaceholder.js.map +1 -0
  264. package/lib/module/a2ui/A2UIRenderer.js +363 -0
  265. package/lib/module/a2ui/A2UIRenderer.js.map +1 -0
  266. package/lib/module/a2ui/A2UIStream.js +91 -0
  267. package/lib/module/a2ui/A2UIStream.js.map +1 -0
  268. package/lib/module/a2ui/A2UISurface.js +212 -0
  269. package/lib/module/a2ui/A2UISurface.js.map +1 -0
  270. package/lib/module/a2ui/basicCatalog.json +1206 -0
  271. package/lib/module/a2ui/basicFunctions.js +398 -0
  272. package/lib/module/a2ui/basicFunctions.js.map +1 -0
  273. package/lib/module/a2ui/catalogDocument.js +80 -0
  274. package/lib/module/a2ui/catalogDocument.js.map +1 -0
  275. package/lib/module/a2ui/catalogs.js +105 -0
  276. package/lib/module/a2ui/catalogs.js.map +1 -0
  277. package/lib/module/a2ui/components/DateTimeInput.js +445 -0
  278. package/lib/module/a2ui/components/DateTimeInput.js.map +1 -0
  279. package/lib/module/a2ui/components/Media.js +316 -0
  280. package/lib/module/a2ui/components/Media.js.map +1 -0
  281. package/lib/module/a2ui/components/basicComponents.js +975 -0
  282. package/lib/module/a2ui/components/basicComponents.js.map +1 -0
  283. package/lib/module/a2ui/components/iconPaths.js +66 -0
  284. package/lib/module/a2ui/components/iconPaths.js.map +1 -0
  285. package/lib/module/a2ui/components/types.js +4 -0
  286. package/lib/module/a2ui/components/types.js.map +1 -0
  287. package/lib/module/a2ui/index.js +70 -0
  288. package/lib/module/a2ui/index.js.map +1 -0
  289. package/lib/module/a2ui/instructions.js +268 -0
  290. package/lib/module/a2ui/instructions.js.map +1 -0
  291. package/lib/module/a2ui/secrets.js +169 -0
  292. package/lib/module/a2ui/secrets.js.map +1 -0
  293. package/lib/module/a2ui/useReplyState.js +35 -0
  294. package/lib/module/a2ui/useReplyState.js.map +1 -0
  295. package/lib/module/ai-components/AITypingIndicatorView.js +8 -18
  296. package/lib/module/ai-components/AITypingIndicatorView.js.map +1 -1
  297. package/lib/module/ai-components/README.md +55 -3
  298. package/lib/module/ai-components/StreamingMessageView.js +26 -0
  299. package/lib/module/ai-components/StreamingMessageView.js.map +1 -1
  300. package/lib/module/ai-components/charts/components/PieLegend.js +2 -1
  301. package/lib/module/ai-components/charts/components/PieLegend.js.map +1 -1
  302. package/lib/module/ai-components/charts/components/VictoryChart.js +7 -2
  303. package/lib/module/ai-components/charts/components/VictoryChart.js.map +1 -1
  304. package/lib/module/ai-components/charts/utils/format-time-label.js +15 -0
  305. package/lib/module/ai-components/charts/utils/format-time-label.js.map +1 -0
  306. package/lib/module/ai-components/charts/vega-lite/schema.js +17 -2
  307. package/lib/module/ai-components/charts/vega-lite/schema.js.map +1 -1
  308. package/lib/module/ai-components/contexts/composer-context.js +13 -6
  309. package/lib/module/ai-components/contexts/composer-context.js.map +1 -1
  310. package/lib/module/ai-components/contexts/index.js +11 -0
  311. package/lib/module/ai-components/contexts/index.js.map +1 -1
  312. package/lib/module/ai-components/contexts/theme-context.js +33 -2
  313. package/lib/module/ai-components/contexts/theme-context.js.map +1 -1
  314. package/lib/module/ai-components/contexts/translation-context.js +29 -0
  315. package/lib/module/ai-components/contexts/translation-context.js.map +1 -0
  316. package/lib/module/ai-components/conversation/AIConversation.js +366 -0
  317. package/lib/module/ai-components/conversation/AIConversation.js.map +1 -0
  318. package/lib/module/ai-components/conversation/controller/AIAgentError.js +13 -0
  319. package/lib/module/ai-components/conversation/controller/AIAgentError.js.map +1 -0
  320. package/lib/module/ai-components/conversation/controller/AIConversationController.js +425 -0
  321. package/lib/module/ai-components/conversation/controller/AIConversationController.js.map +1 -0
  322. package/lib/module/ai-components/conversation/controller/AIConversationExchange.js +89 -0
  323. package/lib/module/ai-components/conversation/controller/AIConversationExchange.js.map +1 -0
  324. package/lib/module/ai-components/conversation/controller/index.js +48 -0
  325. package/lib/module/ai-components/conversation/controller/index.js.map +1 -0
  326. package/lib/module/ai-components/conversation/controller/offers.js +29 -0
  327. package/lib/module/ai-components/conversation/controller/offers.js.map +1 -0
  328. package/lib/module/ai-components/conversation/controller/types.js +13 -0
  329. package/lib/module/ai-components/conversation/controller/types.js.map +1 -0
  330. package/lib/module/ai-components/conversation/controller/useAIConversationState.js +8 -0
  331. package/lib/module/ai-components/conversation/controller/useAIConversationState.js.map +1 -0
  332. package/lib/module/ai-components/conversation/entries.js +98 -0
  333. package/lib/module/ai-components/conversation/entries.js.map +1 -0
  334. package/lib/module/ai-components/conversation/fromStreamMessage.js +66 -0
  335. package/lib/module/ai-components/conversation/fromStreamMessage.js.map +1 -0
  336. package/lib/module/ai-components/conversation/index.js +48 -0
  337. package/lib/module/ai-components/conversation/index.js.map +1 -0
  338. package/lib/module/ai-components/conversation/list/AIChatList.js +224 -0
  339. package/lib/module/ai-components/conversation/list/AIChatList.js.map +1 -0
  340. package/lib/module/ai-components/conversation/list/useChatListController.js +78 -0
  341. package/lib/module/ai-components/conversation/list/useChatListController.js.map +1 -0
  342. package/lib/module/ai-components/conversation/list/useEndInView.js +51 -0
  343. package/lib/module/ai-components/conversation/list/useEndInView.js.map +1 -0
  344. package/lib/module/ai-components/conversation/list/useKeyboardOverlap.js +54 -0
  345. package/lib/module/ai-components/conversation/list/useKeyboardOverlap.js.map +1 -0
  346. package/lib/module/ai-components/conversation/list/useLoadOlder.js +73 -0
  347. package/lib/module/ai-components/conversation/list/useLoadOlder.js.map +1 -0
  348. package/lib/module/ai-components/conversation/list/usePinnedAnchor.js +84 -0
  349. package/lib/module/ai-components/conversation/list/usePinnedAnchor.js.map +1 -0
  350. package/lib/module/ai-components/conversation/types.js +4 -0
  351. package/lib/module/ai-components/conversation/types.js.map +1 -0
  352. package/lib/module/ai-components/conversation/useConversationRows.js +117 -0
  353. package/lib/module/ai-components/conversation/useConversationRows.js.map +1 -0
  354. package/lib/module/ai-components/generative-ui/AIUIAction.js +30 -0
  355. package/lib/module/ai-components/generative-ui/AIUIAction.js.map +1 -0
  356. package/lib/module/ai-components/generative-ui/AIUIArguments.js +128 -0
  357. package/lib/module/ai-components/generative-ui/AIUIArguments.js.map +1 -0
  358. package/lib/module/ai-components/generative-ui/AIUIComponent.js +50 -0
  359. package/lib/module/ai-components/generative-ui/AIUIComponent.js.map +1 -0
  360. package/lib/module/ai-components/generative-ui/AIUIComponentDefinition.js +134 -0
  361. package/lib/module/ai-components/generative-ui/AIUIComponentDefinition.js.map +1 -0
  362. package/lib/module/ai-components/generative-ui/AIUIDocument.js +32 -0
  363. package/lib/module/ai-components/generative-ui/AIUIDocument.js.map +1 -0
  364. package/lib/module/ai-components/generative-ui/AIUIEntrance.js +193 -0
  365. package/lib/module/ai-components/generative-ui/AIUIEntrance.js.map +1 -0
  366. package/lib/module/ai-components/generative-ui/AIUIErrorBoundary.js +30 -0
  367. package/lib/module/ai-components/generative-ui/AIUIErrorBoundary.js.map +1 -0
  368. package/lib/module/ai-components/generative-ui/AIUIHelpers.js +54 -0
  369. package/lib/module/ai-components/generative-ui/AIUIHelpers.js.map +1 -0
  370. package/lib/module/ai-components/generative-ui/AIUIHost.js +259 -0
  371. package/lib/module/ai-components/generative-ui/AIUIHost.js.map +1 -0
  372. package/lib/module/ai-components/generative-ui/AIUIMedia.js +24 -0
  373. package/lib/module/ai-components/generative-ui/AIUIMedia.js.map +1 -0
  374. package/lib/module/ai-components/generative-ui/AIUIRenderer.js +10 -0
  375. package/lib/module/ai-components/generative-ui/AIUIRenderer.js.map +1 -0
  376. package/lib/module/ai-components/generative-ui/AIUIView.js +57 -0
  377. package/lib/module/ai-components/generative-ui/AIUIView.js.map +1 -0
  378. package/lib/module/ai-components/generative-ui/index.js +181 -0
  379. package/lib/module/ai-components/generative-ui/index.js.map +1 -0
  380. package/lib/module/ai-components/icons.js +44 -0
  381. package/lib/module/ai-components/icons.js.map +1 -0
  382. package/lib/module/ai-components/index.js +96 -0
  383. package/lib/module/ai-components/index.js.map +1 -1
  384. package/lib/module/ai-components/internal/Shimmer.js +36 -0
  385. package/lib/module/ai-components/internal/Shimmer.js.map +1 -0
  386. package/lib/module/ai-components/internal/format.js +66 -0
  387. package/lib/module/ai-components/internal/format.js.map +1 -0
  388. package/lib/module/ai-components/internal/hooks/useBottomSafeArea.js +12 -0
  389. package/lib/module/ai-components/internal/hooks/useBottomSafeArea.js.map +1 -0
  390. package/lib/module/ai-components/internal/icons/AgentIcons.js +74 -0
  391. package/lib/module/ai-components/internal/icons/AgentIcons.js.map +1 -0
  392. package/lib/module/ai-components/internal/tokens.js +11 -0
  393. package/lib/module/ai-components/internal/tokens.js.map +1 -0
  394. package/lib/module/ai-components/internal/uuid.js +21 -0
  395. package/lib/module/ai-components/internal/uuid.js.map +1 -0
  396. package/lib/module/ai-components/markdown/components/CodeBlock.js +4 -2
  397. package/lib/module/ai-components/markdown/components/CodeBlock.js.map +1 -1
  398. package/lib/module/ai-components/markdown/components/InlineCode.js +1 -0
  399. package/lib/module/ai-components/markdown/components/InlineCode.js.map +1 -1
  400. package/lib/module/ai-components/markdown/components/Text.js +11 -2
  401. package/lib/module/ai-components/markdown/components/Text.js.map +1 -1
  402. package/lib/module/ai-components/markdown/styles.js +27 -29
  403. package/lib/module/ai-components/markdown/styles.js.map +1 -1
  404. package/lib/module/ai-components/message/AIAssistantMessage.js +63 -0
  405. package/lib/module/ai-components/message/AIAssistantMessage.js.map +1 -0
  406. package/lib/module/ai-components/message/AIMessageAttachment.js +189 -0
  407. package/lib/module/ai-components/message/AIMessageAttachment.js.map +1 -0
  408. package/lib/module/ai-components/message/AIReplyActions.js +132 -0
  409. package/lib/module/ai-components/message/AIReplyActions.js.map +1 -0
  410. package/lib/module/ai-components/message/AIUserMessage.js +104 -0
  411. package/lib/module/ai-components/message/AIUserMessage.js.map +1 -0
  412. package/lib/module/ai-components/message/UserMessageMenu.js +150 -0
  413. package/lib/module/ai-components/message/UserMessageMenu.js.map +1 -0
  414. package/lib/module/ai-components/message/index.js +48 -0
  415. package/lib/module/ai-components/message/index.js.map +1 -0
  416. package/lib/module/ai-components/message-composer/ActionButton.js +2 -1
  417. package/lib/module/ai-components/message-composer/ActionButton.js.map +1 -1
  418. package/lib/module/ai-components/message-composer/ActionSheet.js +22 -6
  419. package/lib/module/ai-components/message-composer/ActionSheet.js.map +1 -1
  420. package/lib/module/ai-components/message-composer/AttachmentButton.js +5 -1
  421. package/lib/module/ai-components/message-composer/AttachmentButton.js.map +1 -1
  422. package/lib/module/ai-components/message-composer/ChatOptions.js +147 -0
  423. package/lib/module/ai-components/message-composer/ChatOptions.js.map +1 -0
  424. package/lib/module/ai-components/message-composer/ComposerView.js +136 -20
  425. package/lib/module/ai-components/message-composer/ComposerView.js.map +1 -1
  426. package/lib/module/ai-components/message-composer/EditingMessageChip.js +80 -0
  427. package/lib/module/ai-components/message-composer/EditingMessageChip.js.map +1 -0
  428. package/lib/module/ai-components/message-composer/MediaPreviewList.js +26 -1
  429. package/lib/module/ai-components/message-composer/MediaPreviewList.js.map +1 -1
  430. package/lib/module/ai-components/message-composer/index.js +11 -0
  431. package/lib/module/ai-components/message-composer/index.js.map +1 -1
  432. package/lib/module/ai-components/message-parts/AIMessageParts.js +110 -0
  433. package/lib/module/ai-components/message-parts/AIMessageParts.js.map +1 -0
  434. package/lib/module/ai-components/message-parts/AIToolApproval.js +197 -0
  435. package/lib/module/ai-components/message-parts/AIToolApproval.js.map +1 -0
  436. package/lib/module/ai-components/message-parts/AIToolAuthorization.js +250 -0
  437. package/lib/module/ai-components/message-parts/AIToolAuthorization.js.map +1 -0
  438. package/lib/module/ai-components/message-parts/AIToolCall.js +159 -0
  439. package/lib/module/ai-components/message-parts/AIToolCall.js.map +1 -0
  440. package/lib/module/ai-components/message-parts/callStates.js +54 -0
  441. package/lib/module/ai-components/message-parts/callStates.js.map +1 -0
  442. package/lib/module/ai-components/message-parts/index.js +70 -0
  443. package/lib/module/ai-components/message-parts/index.js.map +1 -0
  444. package/lib/module/ai-components/message-parts/parseMessageParts.js +126 -0
  445. package/lib/module/ai-components/message-parts/parseMessageParts.js.map +1 -0
  446. package/lib/module/ai-components/message-parts/types.js +2 -0
  447. package/lib/module/ai-components/message-parts/types.js.map +1 -0
  448. package/lib/module/ai-components/native-specs/NativeAIAgent.js +7 -0
  449. package/lib/module/ai-components/native-specs/NativeAIAgent.js.map +1 -0
  450. package/lib/module/ai-components/reasoning/AIReasoning.js +401 -0
  451. package/lib/module/ai-components/reasoning/AIReasoning.js.map +1 -0
  452. package/lib/module/ai-components/reasoning/index.js +26 -0
  453. package/lib/module/ai-components/reasoning/index.js.map +1 -0
  454. package/lib/module/ai-components/reasoning/thinkingClock.js +63 -0
  455. package/lib/module/ai-components/reasoning/thinkingClock.js.map +1 -0
  456. package/lib/module/ai-components/services/clipboard-service/expo.js +7 -2
  457. package/lib/module/ai-components/services/clipboard-service/expo.js.map +1 -1
  458. package/lib/module/ai-components/store/composer/store.js.map +1 -1
  459. package/lib/module/ai-components/store/composer/useComposerChatOption.js +18 -0
  460. package/lib/module/ai-components/store/composer/useComposerChatOption.js.map +1 -0
  461. package/lib/module/ai-components/store/composer/useComposerIsEditing.js +18 -0
  462. package/lib/module/ai-components/store/composer/useComposerIsEditing.js.map +1 -0
  463. package/lib/module/ai-components/store/index.js +22 -0
  464. package/lib/module/ai-components/store/index.js.map +1 -1
  465. package/lib/module/ai-components/suggestions/AISuggestions.js +66 -0
  466. package/lib/module/ai-components/suggestions/AISuggestions.js.map +1 -0
  467. package/lib/module/ai-components/suggestions/index.js +15 -0
  468. package/lib/module/ai-components/suggestions/index.js.map +1 -0
  469. package/lib/module/ai-components/syntax-highlighting/utils/flatten-nodes.js +2 -1
  470. package/lib/module/ai-components/syntax-highlighting/utils/flatten-nodes.js.map +1 -1
  471. package/lib/module/ai-components/syntax-highlighting/utils/renderer.js +3 -2
  472. package/lib/module/ai-components/syntax-highlighting/utils/renderer.js.map +1 -1
  473. package/lib/module/ai-components/theme.js +137 -1
  474. package/lib/module/ai-components/theme.js.map +1 -1
  475. package/lib/module/ai-components/tool-calls/AIClientIdentity.js +22 -0
  476. package/lib/module/ai-components/tool-calls/AIClientIdentity.js.map +1 -0
  477. package/lib/module/ai-components/tool-calls/AIClientToolRunner.js +109 -0
  478. package/lib/module/ai-components/tool-calls/AIClientToolRunner.js.map +1 -0
  479. package/lib/module/ai-components/tool-calls/AIToolApprover.js +23 -0
  480. package/lib/module/ai-components/tool-calls/AIToolApprover.js.map +1 -0
  481. package/lib/module/ai-components/tool-calls/authSessionAuthorizer.js +88 -0
  482. package/lib/module/ai-components/tool-calls/authSessionAuthorizer.js.map +1 -0
  483. package/lib/module/ai-components/tool-calls/index.js +48 -0
  484. package/lib/module/ai-components/tool-calls/index.js.map +1 -0
  485. package/lib/module/ai-components/voice-visualization/glowShader.js.map +1 -1
  486. package/lib/module/components/Accessibility/useAccessibilityAnnouncer.js.map +1 -1
  487. package/lib/module/components/Message/MessageItemView/utils/renderText.js.map +1 -1
  488. package/lib/module/contexts/translationContext/TranslationContext.js +2 -2
  489. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  490. package/lib/module/i18n/ar.json +39 -1
  491. package/lib/module/i18n/en.json +39 -1
  492. package/lib/module/i18n/es.json +39 -1
  493. package/lib/module/i18n/fr.json +39 -1
  494. package/lib/module/i18n/he.json +39 -1
  495. package/lib/module/i18n/hi.json +39 -1
  496. package/lib/module/i18n/it.json +39 -1
  497. package/lib/module/i18n/ja.json +39 -1
  498. package/lib/module/i18n/ko.json +39 -1
  499. package/lib/module/i18n/nl.json +39 -1
  500. package/lib/module/i18n/pt-br.json +39 -1
  501. package/lib/module/i18n/ru.json +39 -1
  502. package/lib/module/i18n/tr.json +39 -1
  503. package/lib/module/mock-builders/a2ui/ohrid.js +84 -0
  504. package/lib/module/mock-builders/a2ui/ohrid.js.map +1 -0
  505. package/lib/module/utils/i18n/Streami18n.js +9 -4
  506. package/lib/module/utils/i18n/Streami18n.js.map +1 -1
  507. package/lib/module/utils/i18n/utils.js +7 -0
  508. package/lib/module/utils/i18n/utils.js.map +1 -0
  509. package/lib/module/version.json +1 -1
  510. package/lib/typescript/a11y/a11yUtils.d.ts +0 -1
  511. package/lib/typescript/a11y/a11yUtils.d.ts.map +1 -1
  512. package/lib/typescript/a11y/hooks/useResolvedModalAccessibilityProps.d.ts +2 -3
  513. package/lib/typescript/a11y/hooks/useResolvedModalAccessibilityProps.d.ts.map +1 -1
  514. package/lib/typescript/a2ui/A2UIContexts.d.ts +9 -0
  515. package/lib/typescript/a2ui/A2UIContexts.d.ts.map +1 -0
  516. package/lib/typescript/a2ui/A2UIInstructions.d.ts +47 -0
  517. package/lib/typescript/a2ui/A2UIInstructions.d.ts.map +1 -0
  518. package/lib/typescript/a2ui/A2UIPlaceholder.d.ts +4 -0
  519. package/lib/typescript/a2ui/A2UIPlaceholder.d.ts.map +1 -0
  520. package/lib/typescript/a2ui/A2UIRenderer.d.ts +130 -0
  521. package/lib/typescript/a2ui/A2UIRenderer.d.ts.map +1 -0
  522. package/lib/typescript/a2ui/A2UIStream.d.ts +23 -0
  523. package/lib/typescript/a2ui/A2UIStream.d.ts.map +1 -0
  524. package/lib/typescript/a2ui/A2UISurface.d.ts +19 -0
  525. package/lib/typescript/a2ui/A2UISurface.d.ts.map +1 -0
  526. package/lib/typescript/a2ui/basicFunctions.d.ts +10 -0
  527. package/lib/typescript/a2ui/basicFunctions.d.ts.map +1 -0
  528. package/lib/typescript/a2ui/catalogDocument.d.ts +56 -0
  529. package/lib/typescript/a2ui/catalogDocument.d.ts.map +1 -0
  530. package/lib/typescript/a2ui/catalogs.d.ts +42 -0
  531. package/lib/typescript/a2ui/catalogs.d.ts.map +1 -0
  532. package/lib/typescript/a2ui/components/DateTimeInput.d.ts +44 -0
  533. package/lib/typescript/a2ui/components/DateTimeInput.d.ts.map +1 -0
  534. package/lib/typescript/a2ui/components/Media.d.ts +27 -0
  535. package/lib/typescript/a2ui/components/Media.d.ts.map +1 -0
  536. package/lib/typescript/a2ui/components/basicComponents.d.ts +4 -0
  537. package/lib/typescript/a2ui/components/basicComponents.d.ts.map +1 -0
  538. package/lib/typescript/a2ui/components/iconPaths.d.ts +2 -0
  539. package/lib/typescript/a2ui/components/iconPaths.d.ts.map +1 -0
  540. package/lib/typescript/a2ui/components/types.d.ts +23 -0
  541. package/lib/typescript/a2ui/components/types.d.ts.map +1 -0
  542. package/lib/typescript/a2ui/index.d.ts +8 -0
  543. package/lib/typescript/a2ui/index.d.ts.map +1 -0
  544. package/lib/typescript/a2ui/instructions.d.ts +39 -0
  545. package/lib/typescript/a2ui/instructions.d.ts.map +1 -0
  546. package/lib/typescript/a2ui/secrets.d.ts +20 -0
  547. package/lib/typescript/a2ui/secrets.d.ts.map +1 -0
  548. package/lib/typescript/a2ui/useReplyState.d.ts +4 -0
  549. package/lib/typescript/a2ui/useReplyState.d.ts.map +1 -0
  550. package/lib/typescript/ai-components/AITypingIndicatorView.d.ts.map +1 -1
  551. package/lib/typescript/ai-components/StreamingMessageView.d.ts +4 -1
  552. package/lib/typescript/ai-components/StreamingMessageView.d.ts.map +1 -1
  553. package/lib/typescript/ai-components/charts/components/PieLegend.d.ts.map +1 -1
  554. package/lib/typescript/ai-components/charts/components/VictoryChart.d.ts.map +1 -1
  555. package/lib/typescript/ai-components/charts/utils/format-time-label.d.ts +7 -0
  556. package/lib/typescript/ai-components/charts/utils/format-time-label.d.ts.map +1 -0
  557. package/lib/typescript/ai-components/charts/vega-lite/schema.d.ts +8 -8
  558. package/lib/typescript/ai-components/charts/vega-lite/schema.d.ts.map +1 -1
  559. package/lib/typescript/ai-components/contexts/composer-context.d.ts +3 -0
  560. package/lib/typescript/ai-components/contexts/composer-context.d.ts.map +1 -1
  561. package/lib/typescript/ai-components/contexts/index.d.ts +1 -0
  562. package/lib/typescript/ai-components/contexts/index.d.ts.map +1 -1
  563. package/lib/typescript/ai-components/contexts/theme-context.d.ts.map +1 -1
  564. package/lib/typescript/ai-components/contexts/translation-context.d.ts +19 -0
  565. package/lib/typescript/ai-components/contexts/translation-context.d.ts.map +1 -0
  566. package/lib/typescript/ai-components/conversation/AIConversation.d.ts +130 -0
  567. package/lib/typescript/ai-components/conversation/AIConversation.d.ts.map +1 -0
  568. package/lib/typescript/ai-components/conversation/controller/AIAgentError.d.ts +10 -0
  569. package/lib/typescript/ai-components/conversation/controller/AIAgentError.d.ts.map +1 -0
  570. package/lib/typescript/ai-components/conversation/controller/AIConversationController.d.ts +173 -0
  571. package/lib/typescript/ai-components/conversation/controller/AIConversationController.d.ts.map +1 -0
  572. package/lib/typescript/ai-components/conversation/controller/AIConversationExchange.d.ts +23 -0
  573. package/lib/typescript/ai-components/conversation/controller/AIConversationExchange.d.ts.map +1 -0
  574. package/lib/typescript/ai-components/conversation/controller/index.d.ts +5 -0
  575. package/lib/typescript/ai-components/conversation/controller/index.d.ts.map +1 -0
  576. package/lib/typescript/ai-components/conversation/controller/offers.d.ts +23 -0
  577. package/lib/typescript/ai-components/conversation/controller/offers.d.ts.map +1 -0
  578. package/lib/typescript/ai-components/conversation/controller/types.d.ts +142 -0
  579. package/lib/typescript/ai-components/conversation/controller/types.d.ts.map +1 -0
  580. package/lib/typescript/ai-components/conversation/controller/useAIConversationState.d.ts +9 -0
  581. package/lib/typescript/ai-components/conversation/controller/useAIConversationState.d.ts.map +1 -0
  582. package/lib/typescript/ai-components/conversation/entries.d.ts +47 -0
  583. package/lib/typescript/ai-components/conversation/entries.d.ts.map +1 -0
  584. package/lib/typescript/ai-components/conversation/fromStreamMessage.d.ts +25 -0
  585. package/lib/typescript/ai-components/conversation/fromStreamMessage.d.ts.map +1 -0
  586. package/lib/typescript/ai-components/conversation/index.d.ts +6 -0
  587. package/lib/typescript/ai-components/conversation/index.d.ts.map +1 -0
  588. package/lib/typescript/ai-components/conversation/list/AIChatList.d.ts +30 -0
  589. package/lib/typescript/ai-components/conversation/list/AIChatList.d.ts.map +1 -0
  590. package/lib/typescript/ai-components/conversation/list/useChatListController.d.ts +45 -0
  591. package/lib/typescript/ai-components/conversation/list/useChatListController.d.ts.map +1 -0
  592. package/lib/typescript/ai-components/conversation/list/useEndInView.d.ts +26 -0
  593. package/lib/typescript/ai-components/conversation/list/useEndInView.d.ts.map +1 -0
  594. package/lib/typescript/ai-components/conversation/list/useKeyboardOverlap.d.ts +17 -0
  595. package/lib/typescript/ai-components/conversation/list/useKeyboardOverlap.d.ts.map +1 -0
  596. package/lib/typescript/ai-components/conversation/list/useLoadOlder.d.ts +24 -0
  597. package/lib/typescript/ai-components/conversation/list/useLoadOlder.d.ts.map +1 -0
  598. package/lib/typescript/ai-components/conversation/list/usePinnedAnchor.d.ts +26 -0
  599. package/lib/typescript/ai-components/conversation/list/usePinnedAnchor.d.ts.map +1 -0
  600. package/lib/typescript/ai-components/conversation/types.d.ts +55 -0
  601. package/lib/typescript/ai-components/conversation/types.d.ts.map +1 -0
  602. package/lib/typescript/ai-components/conversation/useConversationRows.d.ts +66 -0
  603. package/lib/typescript/ai-components/conversation/useConversationRows.d.ts.map +1 -0
  604. package/lib/typescript/ai-components/generative-ui/AIUIAction.d.ts +48 -0
  605. package/lib/typescript/ai-components/generative-ui/AIUIAction.d.ts.map +1 -0
  606. package/lib/typescript/ai-components/generative-ui/AIUIArguments.d.ts +15 -0
  607. package/lib/typescript/ai-components/generative-ui/AIUIArguments.d.ts.map +1 -0
  608. package/lib/typescript/ai-components/generative-ui/AIUIComponent.d.ts +51 -0
  609. package/lib/typescript/ai-components/generative-ui/AIUIComponent.d.ts.map +1 -0
  610. package/lib/typescript/ai-components/generative-ui/AIUIComponentDefinition.d.ts +84 -0
  611. package/lib/typescript/ai-components/generative-ui/AIUIComponentDefinition.d.ts.map +1 -0
  612. package/lib/typescript/ai-components/generative-ui/AIUIDocument.d.ts +50 -0
  613. package/lib/typescript/ai-components/generative-ui/AIUIDocument.d.ts.map +1 -0
  614. package/lib/typescript/ai-components/generative-ui/AIUIEntrance.d.ts +75 -0
  615. package/lib/typescript/ai-components/generative-ui/AIUIEntrance.d.ts.map +1 -0
  616. package/lib/typescript/ai-components/generative-ui/AIUIErrorBoundary.d.ts +26 -0
  617. package/lib/typescript/ai-components/generative-ui/AIUIErrorBoundary.d.ts.map +1 -0
  618. package/lib/typescript/ai-components/generative-ui/AIUIHelpers.d.ts +23 -0
  619. package/lib/typescript/ai-components/generative-ui/AIUIHelpers.d.ts.map +1 -0
  620. package/lib/typescript/ai-components/generative-ui/AIUIHost.d.ts +160 -0
  621. package/lib/typescript/ai-components/generative-ui/AIUIHost.d.ts.map +1 -0
  622. package/lib/typescript/ai-components/generative-ui/AIUIMedia.d.ts +22 -0
  623. package/lib/typescript/ai-components/generative-ui/AIUIMedia.d.ts.map +1 -0
  624. package/lib/typescript/ai-components/generative-ui/AIUIRenderer.d.ts +53 -0
  625. package/lib/typescript/ai-components/generative-ui/AIUIRenderer.d.ts.map +1 -0
  626. package/lib/typescript/ai-components/generative-ui/AIUIView.d.ts +35 -0
  627. package/lib/typescript/ai-components/generative-ui/AIUIView.d.ts.map +1 -0
  628. package/lib/typescript/ai-components/generative-ui/index.d.ts +11 -0
  629. package/lib/typescript/ai-components/generative-ui/index.d.ts.map +1 -0
  630. package/lib/typescript/ai-components/icons.d.ts +66 -0
  631. package/lib/typescript/ai-components/icons.d.ts.map +1 -0
  632. package/lib/typescript/ai-components/index.d.ts +8 -0
  633. package/lib/typescript/ai-components/index.d.ts.map +1 -1
  634. package/lib/typescript/ai-components/internal/Shimmer.d.ts +14 -0
  635. package/lib/typescript/ai-components/internal/Shimmer.d.ts.map +1 -0
  636. package/lib/typescript/ai-components/internal/format.d.ts +7 -0
  637. package/lib/typescript/ai-components/internal/format.d.ts.map +1 -0
  638. package/lib/typescript/ai-components/internal/hooks/useBottomSafeArea.d.ts +3 -0
  639. package/lib/typescript/ai-components/internal/hooks/useBottomSafeArea.d.ts.map +1 -0
  640. package/lib/typescript/ai-components/internal/icons/AgentIcons.d.ts +31 -0
  641. package/lib/typescript/ai-components/internal/icons/AgentIcons.d.ts.map +1 -0
  642. package/lib/typescript/ai-components/internal/tokens.d.ts +2 -0
  643. package/lib/typescript/ai-components/internal/tokens.d.ts.map +1 -0
  644. package/lib/typescript/ai-components/internal/uuid.d.ts +2 -0
  645. package/lib/typescript/ai-components/internal/uuid.d.ts.map +1 -0
  646. package/lib/typescript/ai-components/markdown/components/CodeBlock.d.ts.map +1 -1
  647. package/lib/typescript/ai-components/markdown/components/InlineCode.d.ts.map +1 -1
  648. package/lib/typescript/ai-components/markdown/components/Text.d.ts.map +1 -1
  649. package/lib/typescript/ai-components/markdown/styles.d.ts +23 -4
  650. package/lib/typescript/ai-components/markdown/styles.d.ts.map +1 -1
  651. package/lib/typescript/ai-components/markdown/types.d.ts +1 -0
  652. package/lib/typescript/ai-components/markdown/types.d.ts.map +1 -1
  653. package/lib/typescript/ai-components/message/AIAssistantMessage.d.ts +40 -0
  654. package/lib/typescript/ai-components/message/AIAssistantMessage.d.ts.map +1 -0
  655. package/lib/typescript/ai-components/message/AIMessageAttachment.d.ts +33 -0
  656. package/lib/typescript/ai-components/message/AIMessageAttachment.d.ts.map +1 -0
  657. package/lib/typescript/ai-components/message/AIReplyActions.d.ts +19 -0
  658. package/lib/typescript/ai-components/message/AIReplyActions.d.ts.map +1 -0
  659. package/lib/typescript/ai-components/message/AIUserMessage.d.ts +17 -0
  660. package/lib/typescript/ai-components/message/AIUserMessage.d.ts.map +1 -0
  661. package/lib/typescript/ai-components/message/UserMessageMenu.d.ts +31 -0
  662. package/lib/typescript/ai-components/message/UserMessageMenu.d.ts.map +1 -0
  663. package/lib/typescript/ai-components/message/index.d.ts +5 -0
  664. package/lib/typescript/ai-components/message/index.d.ts.map +1 -0
  665. package/lib/typescript/ai-components/message-composer/ActionButton.d.ts.map +1 -1
  666. package/lib/typescript/ai-components/message-composer/ActionSheet.d.ts +2 -2
  667. package/lib/typescript/ai-components/message-composer/ActionSheet.d.ts.map +1 -1
  668. package/lib/typescript/ai-components/message-composer/AttachmentButton.d.ts.map +1 -1
  669. package/lib/typescript/ai-components/message-composer/ChatOptions.d.ts +35 -0
  670. package/lib/typescript/ai-components/message-composer/ChatOptions.d.ts.map +1 -0
  671. package/lib/typescript/ai-components/message-composer/ComposerView.d.ts +34 -3
  672. package/lib/typescript/ai-components/message-composer/ComposerView.d.ts.map +1 -1
  673. package/lib/typescript/ai-components/message-composer/EditingMessageChip.d.ts +7 -0
  674. package/lib/typescript/ai-components/message-composer/EditingMessageChip.d.ts.map +1 -0
  675. package/lib/typescript/ai-components/message-composer/MediaPreviewList.d.ts.map +1 -1
  676. package/lib/typescript/ai-components/message-composer/index.d.ts +1 -0
  677. package/lib/typescript/ai-components/message-composer/index.d.ts.map +1 -1
  678. package/lib/typescript/ai-components/message-parts/AIMessageParts.d.ts +38 -0
  679. package/lib/typescript/ai-components/message-parts/AIMessageParts.d.ts.map +1 -0
  680. package/lib/typescript/ai-components/message-parts/AIToolApproval.d.ts +38 -0
  681. package/lib/typescript/ai-components/message-parts/AIToolApproval.d.ts.map +1 -0
  682. package/lib/typescript/ai-components/message-parts/AIToolAuthorization.d.ts +48 -0
  683. package/lib/typescript/ai-components/message-parts/AIToolAuthorization.d.ts.map +1 -0
  684. package/lib/typescript/ai-components/message-parts/AIToolCall.d.ts +11 -0
  685. package/lib/typescript/ai-components/message-parts/AIToolCall.d.ts.map +1 -0
  686. package/lib/typescript/ai-components/message-parts/callStates.d.ts +9 -0
  687. package/lib/typescript/ai-components/message-parts/callStates.d.ts.map +1 -0
  688. package/lib/typescript/ai-components/message-parts/index.d.ts +7 -0
  689. package/lib/typescript/ai-components/message-parts/index.d.ts.map +1 -0
  690. package/lib/typescript/ai-components/message-parts/parseMessageParts.d.ts +47 -0
  691. package/lib/typescript/ai-components/message-parts/parseMessageParts.d.ts.map +1 -0
  692. package/lib/typescript/ai-components/message-parts/types.d.ts +137 -0
  693. package/lib/typescript/ai-components/message-parts/types.d.ts.map +1 -0
  694. package/lib/typescript/ai-components/native-specs/NativeAIAgent.d.ts +22 -0
  695. package/lib/typescript/ai-components/native-specs/NativeAIAgent.d.ts.map +1 -0
  696. package/lib/typescript/ai-components/reasoning/AIReasoning.d.ts +63 -0
  697. package/lib/typescript/ai-components/reasoning/AIReasoning.d.ts.map +1 -0
  698. package/lib/typescript/ai-components/reasoning/index.d.ts +3 -0
  699. package/lib/typescript/ai-components/reasoning/index.d.ts.map +1 -0
  700. package/lib/typescript/ai-components/reasoning/thinkingClock.d.ts +29 -0
  701. package/lib/typescript/ai-components/reasoning/thinkingClock.d.ts.map +1 -0
  702. package/lib/typescript/ai-components/services/clipboard-service/expo.d.ts.map +1 -1
  703. package/lib/typescript/ai-components/store/composer/store.d.ts +8 -0
  704. package/lib/typescript/ai-components/store/composer/store.d.ts.map +1 -1
  705. package/lib/typescript/ai-components/store/composer/useComposerChatOption.d.ts +5 -0
  706. package/lib/typescript/ai-components/store/composer/useComposerChatOption.d.ts.map +1 -0
  707. package/lib/typescript/ai-components/store/composer/useComposerIsEditing.d.ts +5 -0
  708. package/lib/typescript/ai-components/store/composer/useComposerIsEditing.d.ts.map +1 -0
  709. package/lib/typescript/ai-components/store/index.d.ts +2 -0
  710. package/lib/typescript/ai-components/store/index.d.ts.map +1 -1
  711. package/lib/typescript/ai-components/suggestions/AISuggestions.d.ts +13 -0
  712. package/lib/typescript/ai-components/suggestions/AISuggestions.d.ts.map +1 -0
  713. package/lib/typescript/ai-components/suggestions/index.d.ts +2 -0
  714. package/lib/typescript/ai-components/suggestions/index.d.ts.map +1 -0
  715. package/lib/typescript/ai-components/syntax-highlighting/utils/flatten-nodes.d.ts.map +1 -1
  716. package/lib/typescript/ai-components/syntax-highlighting/utils/renderer.d.ts +1 -1
  717. package/lib/typescript/ai-components/syntax-highlighting/utils/renderer.d.ts.map +1 -1
  718. package/lib/typescript/ai-components/theme.d.ts +200 -0
  719. package/lib/typescript/ai-components/theme.d.ts.map +1 -1
  720. package/lib/typescript/ai-components/tool-calls/AIClientIdentity.d.ts +14 -0
  721. package/lib/typescript/ai-components/tool-calls/AIClientIdentity.d.ts.map +1 -0
  722. package/lib/typescript/ai-components/tool-calls/AIClientToolRunner.d.ts +109 -0
  723. package/lib/typescript/ai-components/tool-calls/AIClientToolRunner.d.ts.map +1 -0
  724. package/lib/typescript/ai-components/tool-calls/AIToolApprover.d.ts +48 -0
  725. package/lib/typescript/ai-components/tool-calls/AIToolApprover.d.ts.map +1 -0
  726. package/lib/typescript/ai-components/tool-calls/authSessionAuthorizer.d.ts +57 -0
  727. package/lib/typescript/ai-components/tool-calls/authSessionAuthorizer.d.ts.map +1 -0
  728. package/lib/typescript/ai-components/tool-calls/index.d.ts +5 -0
  729. package/lib/typescript/ai-components/tool-calls/index.d.ts.map +1 -0
  730. package/lib/typescript/ai-components/voice-visualization/glowShader.d.ts.map +1 -1
  731. package/lib/typescript/ai-components/voice-visualization/simplex.d.ts +1 -1
  732. package/lib/typescript/components/Accessibility/NotificationAnnouncer.d.ts +5 -5
  733. package/lib/typescript/components/Accessibility/hooks/useIncomingMessageAnnouncements.d.ts +1 -1
  734. package/lib/typescript/components/Accessibility/useAccessibilityAnnouncer.d.ts +0 -2
  735. package/lib/typescript/components/Accessibility/useAccessibilityAnnouncer.d.ts.map +1 -1
  736. package/lib/typescript/components/Message/MessageItemView/utils/renderText.d.ts.map +1 -1
  737. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +1 -1
  738. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts.map +1 -1
  739. package/lib/typescript/i18n/ar.json +39 -1
  740. package/lib/typescript/i18n/en.json +39 -1
  741. package/lib/typescript/i18n/es.json +39 -1
  742. package/lib/typescript/i18n/fr.json +39 -1
  743. package/lib/typescript/i18n/he.json +39 -1
  744. package/lib/typescript/i18n/hi.json +39 -1
  745. package/lib/typescript/i18n/it.json +39 -1
  746. package/lib/typescript/i18n/ja.json +39 -1
  747. package/lib/typescript/i18n/ko.json +39 -1
  748. package/lib/typescript/i18n/nl.json +39 -1
  749. package/lib/typescript/i18n/pt-br.json +39 -1
  750. package/lib/typescript/i18n/ru.json +39 -1
  751. package/lib/typescript/i18n/tr.json +39 -1
  752. package/lib/typescript/utils/i18n/Streami18n.d.ts +40 -2
  753. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  754. package/lib/typescript/utils/i18n/utils.d.ts +3 -0
  755. package/lib/typescript/utils/i18n/utils.d.ts.map +1 -0
  756. package/package.json +10 -2
  757. package/src/a11y/a11yUtils.ts +0 -1
  758. package/src/a11y/hooks/useResolvedModalAccessibilityProps.ts +2 -3
  759. package/src/a2ui/A2UIContexts.ts +15 -0
  760. package/src/a2ui/A2UIInstructions.ts +102 -0
  761. package/src/a2ui/A2UIPlaceholder.tsx +24 -0
  762. package/src/a2ui/A2UIRenderer.tsx +504 -0
  763. package/src/a2ui/A2UIStream.ts +105 -0
  764. package/src/a2ui/A2UISurface.tsx +241 -0
  765. package/src/a2ui/__tests__/A2UIInstructions.test.ts +233 -0
  766. package/src/a2ui/__tests__/A2UIRenderer.test.tsx +1514 -0
  767. package/src/a2ui/__tests__/conformance.test.ts +579 -0
  768. package/src/a2ui/basicCatalog.json +1206 -0
  769. package/src/a2ui/basicFunctions.ts +429 -0
  770. package/src/a2ui/catalogDocument.ts +119 -0
  771. package/src/a2ui/catalogs.ts +185 -0
  772. package/src/a2ui/components/DateTimeInput.tsx +381 -0
  773. package/src/a2ui/components/Media.tsx +278 -0
  774. package/src/a2ui/components/basicComponents.tsx +832 -0
  775. package/src/a2ui/components/iconPaths.ts +116 -0
  776. package/src/a2ui/components/types.ts +24 -0
  777. package/src/a2ui/index.ts +18 -0
  778. package/src/a2ui/instructions.ts +341 -0
  779. package/src/a2ui/secrets.ts +154 -0
  780. package/src/a2ui/useReplyState.ts +26 -0
  781. package/src/ai-components/AITypingIndicatorView.tsx +6 -22
  782. package/src/ai-components/README.md +55 -3
  783. package/src/ai-components/StreamingMessageView.tsx +27 -3
  784. package/src/ai-components/__tests__/ComposerView.test.tsx +227 -2
  785. package/src/ai-components/__tests__/Markdown.test.tsx +13 -0
  786. package/src/ai-components/__tests__/StreamingMessageView.test.tsx +69 -0
  787. package/src/ai-components/__tests__/charts.test.ts +75 -0
  788. package/src/ai-components/__tests__/clientToolRunner.test.ts +239 -0
  789. package/src/ai-components/__tests__/conversation.test.tsx +705 -0
  790. package/src/ai-components/__tests__/conversationController.test.ts +1561 -0
  791. package/src/ai-components/__tests__/conversationExchange.test.ts +187 -0
  792. package/src/ai-components/__tests__/conversationRows.test.ts +207 -0
  793. package/src/ai-components/__tests__/conversationUI.test.tsx +586 -0
  794. package/src/ai-components/__tests__/format.test.ts +32 -0
  795. package/src/ai-components/__tests__/generativeUI.test.ts +634 -0
  796. package/src/ai-components/__tests__/keyboard.test.ts +14 -0
  797. package/src/ai-components/__tests__/messagePartViews.test.tsx +343 -0
  798. package/src/ai-components/__tests__/messageParts.test.ts +336 -0
  799. package/src/ai-components/__tests__/messageViews.test.tsx +321 -0
  800. package/src/ai-components/__tests__/signIn.test.tsx +324 -0
  801. package/src/ai-components/__tests__/theme.test.tsx +18 -0
  802. package/src/ai-components/__tests__/translation.test.tsx +85 -0
  803. package/src/ai-components/__tests__/voiceDriver.test.ts +0 -3
  804. package/src/ai-components/__tests__/voicePalette.test.ts +1 -1
  805. package/src/ai-components/charts/components/PieLegend.tsx +2 -1
  806. package/src/ai-components/charts/components/VictoryChart.tsx +10 -2
  807. package/src/ai-components/charts/utils/format-time-label.ts +18 -0
  808. package/src/ai-components/charts/vega-lite/schema.ts +19 -2
  809. package/src/ai-components/contexts/composer-context.tsx +13 -5
  810. package/src/ai-components/contexts/index.ts +1 -0
  811. package/src/ai-components/contexts/theme-context.tsx +19 -4
  812. package/src/ai-components/contexts/translation-context.tsx +44 -0
  813. package/src/ai-components/conversation/AIConversation.tsx +590 -0
  814. package/src/ai-components/conversation/controller/AIAgentError.ts +14 -0
  815. package/src/ai-components/conversation/controller/AIConversationController.ts +623 -0
  816. package/src/ai-components/conversation/controller/AIConversationExchange.ts +132 -0
  817. package/src/ai-components/conversation/controller/index.ts +4 -0
  818. package/src/ai-components/conversation/controller/offers.ts +43 -0
  819. package/src/ai-components/conversation/controller/types.ts +154 -0
  820. package/src/ai-components/conversation/controller/useAIConversationState.ts +21 -0
  821. package/src/ai-components/conversation/entries.ts +177 -0
  822. package/src/ai-components/conversation/fromStreamMessage.ts +87 -0
  823. package/src/ai-components/conversation/index.ts +5 -0
  824. package/src/ai-components/conversation/list/AIChatList.tsx +227 -0
  825. package/src/ai-components/conversation/list/useChatListController.ts +91 -0
  826. package/src/ai-components/conversation/list/useEndInView.ts +61 -0
  827. package/src/ai-components/conversation/list/useKeyboardOverlap.ts +51 -0
  828. package/src/ai-components/conversation/list/useLoadOlder.ts +97 -0
  829. package/src/ai-components/conversation/list/usePinnedAnchor.ts +113 -0
  830. package/src/ai-components/conversation/types.ts +57 -0
  831. package/src/ai-components/conversation/useConversationRows.ts +230 -0
  832. package/src/ai-components/generative-ui/AIUIAction.ts +73 -0
  833. package/src/ai-components/generative-ui/AIUIArguments.ts +117 -0
  834. package/src/ai-components/generative-ui/AIUIComponent.tsx +106 -0
  835. package/src/ai-components/generative-ui/AIUIComponentDefinition.ts +163 -0
  836. package/src/ai-components/generative-ui/AIUIDocument.ts +77 -0
  837. package/src/ai-components/generative-ui/AIUIEntrance.tsx +223 -0
  838. package/src/ai-components/generative-ui/AIUIErrorBoundary.tsx +39 -0
  839. package/src/ai-components/generative-ui/AIUIHelpers.ts +86 -0
  840. package/src/ai-components/generative-ui/AIUIHost.ts +358 -0
  841. package/src/ai-components/generative-ui/AIUIMedia.ts +45 -0
  842. package/src/ai-components/generative-ui/AIUIRenderer.ts +60 -0
  843. package/src/ai-components/generative-ui/AIUIView.tsx +87 -0
  844. package/src/ai-components/generative-ui/index.ts +48 -0
  845. package/src/ai-components/icons.ts +101 -0
  846. package/src/ai-components/index.ts +10 -0
  847. package/src/ai-components/internal/Shimmer.tsx +40 -0
  848. package/src/ai-components/internal/format.ts +69 -0
  849. package/src/ai-components/internal/hooks/useBottomSafeArea.ts +6 -0
  850. package/src/ai-components/internal/icons/AgentIcons.tsx +138 -0
  851. package/src/ai-components/internal/tokens.ts +4 -0
  852. package/src/ai-components/internal/uuid.ts +17 -0
  853. package/src/ai-components/markdown/components/CodeBlock.tsx +13 -2
  854. package/src/ai-components/markdown/components/InlineCode.tsx +1 -0
  855. package/src/ai-components/markdown/components/Text.tsx +7 -2
  856. package/src/ai-components/markdown/styles.ts +29 -27
  857. package/src/ai-components/markdown/types.ts +1 -0
  858. package/src/ai-components/message/AIAssistantMessage.tsx +99 -0
  859. package/src/ai-components/message/AIMessageAttachment.tsx +245 -0
  860. package/src/ai-components/message/AIReplyActions.tsx +139 -0
  861. package/src/ai-components/message/AIUserMessage.tsx +121 -0
  862. package/src/ai-components/message/UserMessageMenu.tsx +149 -0
  863. package/src/ai-components/message/index.ts +4 -0
  864. package/src/ai-components/message-composer/ActionButton.tsx +5 -1
  865. package/src/ai-components/message-composer/ActionSheet.tsx +28 -6
  866. package/src/ai-components/message-composer/AttachmentButton.tsx +9 -1
  867. package/src/ai-components/message-composer/ChatOptions.tsx +144 -0
  868. package/src/ai-components/message-composer/ComposerView.tsx +179 -29
  869. package/src/ai-components/message-composer/EditingMessageChip.tsx +61 -0
  870. package/src/ai-components/message-composer/MediaPreviewList.tsx +34 -8
  871. package/src/ai-components/message-composer/index.ts +1 -0
  872. package/src/ai-components/message-parts/AIMessageParts.tsx +120 -0
  873. package/src/ai-components/message-parts/AIToolApproval.tsx +196 -0
  874. package/src/ai-components/message-parts/AIToolAuthorization.tsx +279 -0
  875. package/src/ai-components/message-parts/AIToolCall.tsx +117 -0
  876. package/src/ai-components/message-parts/callStates.ts +44 -0
  877. package/src/ai-components/message-parts/index.ts +6 -0
  878. package/src/ai-components/message-parts/parseMessageParts.ts +195 -0
  879. package/src/ai-components/message-parts/types.ts +157 -0
  880. package/src/ai-components/native-specs/NativeAIAgent.ts +25 -0
  881. package/src/ai-components/reasoning/AIReasoning.tsx +509 -0
  882. package/src/ai-components/reasoning/index.ts +2 -0
  883. package/src/ai-components/reasoning/thinkingClock.ts +109 -0
  884. package/src/ai-components/services/clipboard-service/expo.ts +18 -4
  885. package/src/ai-components/store/composer/store.ts +9 -0
  886. package/src/ai-components/store/composer/useComposerChatOption.ts +15 -0
  887. package/src/ai-components/store/composer/useComposerIsEditing.ts +15 -0
  888. package/src/ai-components/store/index.ts +2 -0
  889. package/src/ai-components/suggestions/AISuggestions.tsx +73 -0
  890. package/src/ai-components/suggestions/index.ts +1 -0
  891. package/src/ai-components/syntax-highlighting/utils/flatten-nodes.ts +2 -1
  892. package/src/ai-components/syntax-highlighting/utils/renderer.tsx +4 -2
  893. package/src/ai-components/theme.ts +334 -0
  894. package/src/ai-components/tool-calls/AIClientIdentity.ts +33 -0
  895. package/src/ai-components/tool-calls/AIClientToolRunner.ts +200 -0
  896. package/src/ai-components/tool-calls/AIToolApprover.tsx +60 -0
  897. package/src/ai-components/tool-calls/authSessionAuthorizer.ts +137 -0
  898. package/src/ai-components/tool-calls/index.ts +4 -0
  899. package/src/ai-components/voice-visualization/glowShader.ts +1 -3
  900. package/src/ai-components/voice-visualization/simplex.ts +1 -1
  901. package/src/components/Accessibility/NotificationAnnouncer.tsx +5 -5
  902. package/src/components/Accessibility/hooks/useIncomingMessageAnnouncements.ts +1 -1
  903. package/src/components/Accessibility/useAccessibilityAnnouncer.ts +0 -2
  904. package/src/components/Message/MessageItemView/utils/renderText.tsx +1 -2
  905. package/src/contexts/translationContext/TranslationContext.tsx +2 -2
  906. package/src/i18n/ar.json +39 -1
  907. package/src/i18n/en.json +39 -1
  908. package/src/i18n/es.json +39 -1
  909. package/src/i18n/fr.json +39 -1
  910. package/src/i18n/he.json +39 -1
  911. package/src/i18n/hi.json +39 -1
  912. package/src/i18n/it.json +39 -1
  913. package/src/i18n/ja.json +39 -1
  914. package/src/i18n/ko.json +39 -1
  915. package/src/i18n/nl.json +39 -1
  916. package/src/i18n/pt-br.json +39 -1
  917. package/src/i18n/ru.json +39 -1
  918. package/src/i18n/tr.json +39 -1
  919. package/src/mock-builders/a2ui/ohrid.ts +106 -0
  920. package/src/utils/i18n/Streami18n.ts +4 -1
  921. package/src/utils/i18n/utils.ts +3 -0
  922. package/src/version.json +1 -1
@@ -0,0 +1,51 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.useEndInView = void 0;
6
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
+ var _react = require("react");
8
+ var _useKeyboardOverlap = require("./useKeyboardOverlap");
9
+ var END_SLACK = 32;
10
+ var useEndInView = ({
11
+ bottomInset,
12
+ headerSize,
13
+ keyboard,
14
+ keyboardOffset,
15
+ listRef
16
+ }) => {
17
+ var _useState = (0, _react.useState)(true),
18
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
19
+ isEndInView = _useState2[0],
20
+ setIsEndInView = _useState2[1];
21
+ var bottomInsetRef = (0, _react.useRef)(bottomInset);
22
+ bottomInsetRef.current = bottomInset;
23
+ var checkEnd = (0, _react.useCallback)(() => {
24
+ var _listRef$current, _state$data$length;
25
+ var state = (_listRef$current = listRef.current) == null ? void 0 : _listRef$current.getState();
26
+ var last = ((_state$data$length = state == null ? void 0 : state.data.length) != null ? _state$data$length : 0) - 1;
27
+ if (!state || last < 0) return;
28
+ var end = headerSize.current + state.positionAtIndex(last) + state.sizeAtIndex(last);
29
+ var covered = (0, _useKeyboardOverlap.keyboardOverlapOf)(keyboard.value, keyboardOffset.current);
30
+ var visibleEnd = state.scroll + state.scrollLength - bottomInsetRef.current - covered;
31
+ setIsEndInView(end <= visibleEnd + END_SLACK);
32
+ }, [headerSize, keyboard, keyboardOffset, listRef]);
33
+ var checkFrame = (0, _react.useRef)(undefined);
34
+ var scheduleCheckEnd = (0, _react.useCallback)(() => {
35
+ if (checkFrame.current !== undefined) return;
36
+ checkFrame.current = requestAnimationFrame(() => {
37
+ checkFrame.current = undefined;
38
+ checkEnd();
39
+ });
40
+ }, [checkEnd]);
41
+ (0, _react.useEffect)(() => () => {
42
+ var _checkFrame$current;
43
+ return cancelAnimationFrame((_checkFrame$current = checkFrame.current) != null ? _checkFrame$current : 0);
44
+ }, []);
45
+ return {
46
+ isEndInView,
47
+ scheduleCheckEnd
48
+ };
49
+ };
50
+ exports.useEndInView = useEndInView;
51
+ //# sourceMappingURL=useEndInView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_useKeyboardOverlap","END_SLACK","useEndInView","bottomInset","headerSize","keyboard","keyboardOffset","listRef","_useState","useState","_useState2","_slicedToArray2","default","isEndInView","setIsEndInView","bottomInsetRef","useRef","current","checkEnd","useCallback","_listRef$current","_state$data$length","state","getState","last","data","length","end","positionAtIndex","sizeAtIndex","covered","keyboardOverlapOf","value","visibleEnd","scroll","scrollLength","checkFrame","undefined","scheduleCheckEnd","requestAnimationFrame","useEffect","_checkFrame$current","cancelAnimationFrame","exports"],"sourceRoot":"../../../../../src","sources":["ai-components/conversation/list/useEndInView.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMA,IAAAC,mBAAA,GAAAD,OAAA;AAGA,IAAME,SAAS,GAAG,EAAE;AAoBb,IAAMC,YAAY,GAAGA,CAAC;EAC3BC,WAAW;EACXC,UAAU;EACVC,QAAQ;EACRC,cAAc;EACdC;AACmB,CAAC,KAAK;EACzB,IAAAC,SAAA,GAAsC,IAAAC,eAAQ,EAAC,IAAI,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAA7CK,WAAW,GAAAH,UAAA;IAAEI,cAAc,GAAAJ,UAAA;EAClC,IAAMK,cAAc,GAAG,IAAAC,aAAM,EAACb,WAAW,CAAC;EAC1CY,cAAc,CAACE,OAAO,GAAGd,WAAW;EACpC,IAAMe,QAAQ,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAAA,IAAAC,gBAAA,EAAAC,kBAAA;IACjC,IAAMC,KAAK,IAAAF,gBAAA,GAAGb,OAAO,CAACU,OAAO,qBAAfG,gBAAA,CAAiBG,QAAQ,CAAC,CAAC;IACzC,IAAMC,IAAI,GAAG,EAAAH,kBAAA,GAACC,KAAK,oBAALA,KAAK,CAAEG,IAAI,CAACC,MAAM,YAAAL,kBAAA,GAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,CAACC,KAAK,IAAIE,IAAI,GAAG,CAAC,EAAE;IACxB,IAAMG,GAAG,GAAGvB,UAAU,CAACa,OAAO,GAAGK,KAAK,CAACM,eAAe,CAACJ,IAAI,CAAC,GAAGF,KAAK,CAACO,WAAW,CAACL,IAAI,CAAC;IACtF,IAAMM,OAAO,GAAG,IAAAC,qCAAiB,EAAC1B,QAAQ,CAAC2B,KAAK,EAAE1B,cAAc,CAACW,OAAO,CAAC;IACzE,IAAMgB,UAAU,GAAGX,KAAK,CAACY,MAAM,GAAGZ,KAAK,CAACa,YAAY,GAAGpB,cAAc,CAACE,OAAO,GAAGa,OAAO;IACvFhB,cAAc,CAACa,GAAG,IAAIM,UAAU,GAAGhC,SAAS,CAAC;EAC/C,CAAC,EAAE,CAACG,UAAU,EAAEC,QAAQ,EAAEC,cAAc,EAAEC,OAAO,CAAC,CAAC;EAEnD,IAAM6B,UAAU,GAAG,IAAApB,aAAM,EAAqBqB,SAAS,CAAC;EACxD,IAAMC,gBAAgB,GAAG,IAAAnB,kBAAW,EAAC,MAAM;IACzC,IAAIiB,UAAU,CAACnB,OAAO,KAAKoB,SAAS,EAAE;IACtCD,UAAU,CAACnB,OAAO,GAAGsB,qBAAqB,CAAC,MAAM;MAC/CH,UAAU,CAACnB,OAAO,GAAGoB,SAAS;MAC9BnB,QAAQ,CAAC,CAAC;IACZ,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EACd,IAAAsB,gBAAS,EAAC,MAAM;IAAA,IAAAC,mBAAA;IAAA,OAAMC,oBAAoB,EAAAD,mBAAA,GAACL,UAAU,CAACnB,OAAO,YAAAwB,mBAAA,GAAI,CAAC,CAAC;EAAA,GAAE,EAAE,CAAC;EAExE,OAAO;IAAE5B,WAAW;IAAEyB;EAAiB,CAAC;AAC1C,CAAC;AAACK,OAAA,CAAAzC,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.useKeyboardFrame = exports.keyboardOverlapOf = void 0;
5
+ var _react = require("react");
6
+ var _reactNativeKeyboardController = require("react-native-keyboard-controller");
7
+ var _reactNativeReanimated = require("react-native-reanimated");
8
+ var keyboardOverlapOf = (keyboard, offset) => {
9
+ 'worklet';
10
+
11
+ return Math.max(0, keyboard.height - offset * keyboard.progress);
12
+ };
13
+ exports.keyboardOverlapOf = keyboardOverlapOf;
14
+ var useKeyboardFrame = onSettled => {
15
+ var _KeyboardController$s, _KeyboardController$s2;
16
+ var initial = (_KeyboardController$s = (_KeyboardController$s2 = _reactNativeKeyboardController.KeyboardController.state()) == null ? void 0 : _KeyboardController$s2.height) != null ? _KeyboardController$s : 0;
17
+ var keyboard = (0, _reactNativeReanimated.useSharedValue)({
18
+ height: initial,
19
+ progress: initial > 0 ? 1 : 0
20
+ });
21
+ var settled = (0, _react.useRef)(onSettled);
22
+ settled.current = onSettled;
23
+ var reportSettled = () => settled.current == null ? void 0 : settled.current();
24
+ (0, _reactNativeKeyboardController.useKeyboardHandler)({
25
+ onEnd: event => {
26
+ 'worklet';
27
+
28
+ keyboard.value = {
29
+ height: event.height,
30
+ progress: event.progress
31
+ };
32
+ (0, _reactNativeReanimated.runOnJS)(reportSettled)();
33
+ },
34
+ onInteractive: event => {
35
+ 'worklet';
36
+
37
+ keyboard.value = {
38
+ height: event.height,
39
+ progress: event.progress
40
+ };
41
+ },
42
+ onMove: event => {
43
+ 'worklet';
44
+
45
+ keyboard.value = {
46
+ height: event.height,
47
+ progress: event.progress
48
+ };
49
+ }
50
+ }, []);
51
+ return keyboard;
52
+ };
53
+ exports.useKeyboardFrame = useKeyboardFrame;
54
+ //# sourceMappingURL=useKeyboardOverlap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNativeKeyboardController","_reactNativeReanimated","keyboardOverlapOf","keyboard","offset","Math","max","height","progress","exports","useKeyboardFrame","onSettled","_KeyboardController$s","_KeyboardController$s2","initial","KeyboardController","state","useSharedValue","settled","useRef","current","reportSettled","useKeyboardHandler","onEnd","event","value","runOnJS","onInteractive","onMove"],"sourceRoot":"../../../../../src","sources":["ai-components/conversation/list/useKeyboardOverlap.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,8BAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AASO,IAAMG,iBAAiB,GAAGA,CAACC,QAAuB,EAAEC,MAAc,KAAK;EAC5E,SAAS;;EACT,OAAOC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,QAAQ,CAACI,MAAM,GAAGH,MAAM,GAAGD,QAAQ,CAACK,QAAQ,CAAC;AAClE,CAAC;AAACC,OAAA,CAAAP,iBAAA,GAAAA,iBAAA;AAMK,IAAMQ,gBAAgB,GAAIC,SAAsB,IAAiC;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EACtF,IAAMC,OAAO,IAAAF,qBAAA,IAAAC,sBAAA,GAAGE,iDAAkB,CAACC,KAAK,CAAC,CAAC,qBAA1BH,sBAAA,CAA4BN,MAAM,YAAAK,qBAAA,GAAI,CAAC;EACvD,IAAMT,QAAQ,GAAG,IAAAc,qCAAc,EAAgB;IAC7CV,MAAM,EAAEO,OAAO;IACfN,QAAQ,EAAEM,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG;EAC9B,CAAC,CAAC;EACF,IAAMI,OAAO,GAAG,IAAAC,aAAM,EAACR,SAAS,CAAC;EACjCO,OAAO,CAACE,OAAO,GAAGT,SAAS;EAC3B,IAAMU,aAAa,GAAGA,CAAA,KAAMH,OAAO,CAACE,OAAO,oBAAfF,OAAO,CAACE,OAAO,CAAG,CAAC;EAE/C,IAAAE,iDAAkB,EAChB;IACEC,KAAK,EAAGC,KAAK,IAAK;MAChB,SAAS;;MACTrB,QAAQ,CAACsB,KAAK,GAAG;QAAElB,MAAM,EAAEiB,KAAK,CAACjB,MAAM;QAAEC,QAAQ,EAAEgB,KAAK,CAAChB;MAAS,CAAC;MACnE,IAAAkB,8BAAO,EAACL,aAAa,CAAC,CAAC,CAAC;IAC1B,CAAC;IACDM,aAAa,EAAGH,KAAK,IAAK;MACxB,SAAS;;MACTrB,QAAQ,CAACsB,KAAK,GAAG;QAAElB,MAAM,EAAEiB,KAAK,CAACjB,MAAM;QAAEC,QAAQ,EAAEgB,KAAK,CAAChB;MAAS,CAAC;IACrE,CAAC;IACDoB,MAAM,EAAGJ,KAAK,IAAK;MACjB,SAAS;;MACTrB,QAAQ,CAACsB,KAAK,GAAG;QAAElB,MAAM,EAAEiB,KAAK,CAACjB,MAAM;QAAEC,QAAQ,EAAEgB,KAAK,CAAChB;MAAS,CAAC;IACrE;EACF,CAAC,EACD,EACF,CAAC;EAED,OAAOL,QAAQ;AACjB,CAAC;AAACM,OAAA,CAAAC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.useLoadOlder = void 0;
6
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
7
+ var _react = require("react");
8
+ var LOAD_OLDER_DELAY_MS = 300;
9
+ var LOAD_OLDER_RETRY_MS = 3000;
10
+ var START_THRESHOLD = 0.1;
11
+ var useLoadOlder = ({
12
+ listRef,
13
+ loadOlderMessages
14
+ }) => {
15
+ var dragging = (0, _react.useRef)(false);
16
+ var gliding = (0, _react.useRef)(false);
17
+ var loadOlderRef = (0, _react.useRef)(loadOlderMessages);
18
+ loadOlderRef.current = loadOlderMessages;
19
+ var loading = (0, _react.useRef)(false);
20
+ var loadTimer = (0, _react.useRef)(undefined);
21
+ var mounted = (0, _react.useRef)(true);
22
+ var scheduleLoadOlder = (0, _react.useCallback)(delay => {
23
+ clearTimeout(loadTimer.current);
24
+ loadTimer.current = setTimeout((0, _asyncToGenerator2.default)(function* () {
25
+ var _listRef$current;
26
+ var load = loadOlderRef.current;
27
+ if (dragging.current || gliding.current) return;
28
+ if (loading.current || !load || !((_listRef$current = listRef.current) != null && _listRef$current.getState().isNearStart)) return;
29
+ loading.current = true;
30
+ var failed = false;
31
+ try {
32
+ yield load();
33
+ } catch (_unused) {
34
+ failed = true;
35
+ }
36
+ loading.current = false;
37
+ if (mounted.current) {
38
+ scheduleLoadOlder(failed ? LOAD_OLDER_RETRY_MS : LOAD_OLDER_DELAY_MS);
39
+ }
40
+ }), delay);
41
+ }, [listRef]);
42
+ var onStartReached = (0, _react.useCallback)(() => scheduleLoadOlder(LOAD_OLDER_DELAY_MS), [scheduleLoadOlder]);
43
+ var onScrollBeginDrag = (0, _react.useCallback)(() => {
44
+ dragging.current = true;
45
+ gliding.current = false;
46
+ }, []);
47
+ var onScrollEndDrag = (0, _react.useCallback)(() => {
48
+ dragging.current = false;
49
+ scheduleLoadOlder(LOAD_OLDER_DELAY_MS);
50
+ }, [scheduleLoadOlder]);
51
+ var onMomentumScrollBegin = (0, _react.useCallback)(() => {
52
+ gliding.current = true;
53
+ }, []);
54
+ var onMomentumScrollEnd = (0, _react.useCallback)(() => {
55
+ gliding.current = false;
56
+ scheduleLoadOlder(LOAD_OLDER_DELAY_MS);
57
+ }, [scheduleLoadOlder]);
58
+ (0, _react.useEffect)(() => () => {
59
+ mounted.current = false;
60
+ clearTimeout(loadTimer.current);
61
+ }, []);
62
+ if (!loadOlderMessages) return undefined;
63
+ return {
64
+ onMomentumScrollBegin,
65
+ onMomentumScrollEnd,
66
+ onScrollBeginDrag,
67
+ onScrollEndDrag,
68
+ onStartReached,
69
+ onStartReachedThreshold: START_THRESHOLD
70
+ };
71
+ };
72
+ exports.useLoadOlder = useLoadOlder;
73
+ //# sourceMappingURL=useLoadOlder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","LOAD_OLDER_DELAY_MS","LOAD_OLDER_RETRY_MS","START_THRESHOLD","useLoadOlder","listRef","loadOlderMessages","dragging","useRef","gliding","loadOlderRef","current","loading","loadTimer","undefined","mounted","scheduleLoadOlder","useCallback","delay","clearTimeout","setTimeout","_asyncToGenerator2","default","_listRef$current","load","getState","isNearStart","failed","_unused","onStartReached","onScrollBeginDrag","onScrollEndDrag","onMomentumScrollBegin","onMomentumScrollEnd","useEffect","onStartReachedThreshold","exports"],"sourceRoot":"../../../../../src","sources":["ai-components/conversation/list/useLoadOlder.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.usePinnedAnchor = void 0;
5
+ var _react = require("react");
6
+ var _useReduceMotion = require("../../voice-visualization/useReduceMotion");
7
+ var usePinnedAnchor = ({
8
+ anchorKey,
9
+ data,
10
+ headerSize,
11
+ keyExtractor,
12
+ listRef,
13
+ onAnchorLayout
14
+ }) => {
15
+ var reduceMotion = (0, _useReduceMotion.useReduceMotion)();
16
+ var onAnchorLayoutRef = (0, _react.useRef)(onAnchorLayout);
17
+ onAnchorLayoutRef.current = onAnchorLayout;
18
+ var pendingScroll = (0, _react.useRef)(undefined);
19
+ var shown = (0, _react.useRef)({
20
+ mounted: false
21
+ });
22
+ (0, _react.useLayoutEffect)(() => {
23
+ var previous = shown.current;
24
+ shown.current = {
25
+ anchorKey,
26
+ mounted: true
27
+ };
28
+ if (!previous.mounted || anchorKey === undefined || anchorKey === previous.anchorKey) {
29
+ return;
30
+ }
31
+ var continues = previous.anchorKey !== undefined && data.some(item => keyExtractor(item) === previous.anchorKey);
32
+ pendingScroll.current = continues ? {
33
+ animated: !reduceMotion,
34
+ key: anchorKey,
35
+ toEnd: false
36
+ } : {
37
+ animated: false,
38
+ key: anchorKey,
39
+ toEnd: true
40
+ };
41
+ }, [anchorKey, data, keyExtractor, reduceMotion]);
42
+ var scrollToPending = (0, _react.useCallback)(key => {
43
+ var target = pendingScroll.current;
44
+ var list = listRef.current;
45
+ if (!target || !list || key !== target.key) return;
46
+ pendingScroll.current = undefined;
47
+ requestAnimationFrame(() => requestAnimationFrame(() => {
48
+ var current = listRef.current;
49
+ if (target.toEnd) {
50
+ void (current == null ? void 0 : current.scrollToEnd({
51
+ animated: false
52
+ }));
53
+ return;
54
+ }
55
+ void (current == null ? void 0 : current.scrollToKey({
56
+ animated: target.animated,
57
+ key: target.key,
58
+ viewPosition: 0
59
+ }));
60
+ }));
61
+ }, [listRef]);
62
+ var onMetricsChange = (0, _react.useCallback)(({
63
+ headerSize: size
64
+ }) => {
65
+ headerSize.current = size;
66
+ }, [headerSize]);
67
+ var anchorIndex = (0, _react.useMemo)(() => anchorKey === undefined ? -1 : data.findIndex(item => keyExtractor(item) === anchorKey), [anchorKey, data, keyExtractor]);
68
+ var anchoredEndSpace = (0, _react.useMemo)(() => anchorIndex >= 0 ? {
69
+ anchorIndex,
70
+ onReady: ({
71
+ anchorKey: readyKey
72
+ }) => {
73
+ scrollToPending(readyKey);
74
+ onAnchorLayoutRef.current == null || onAnchorLayoutRef.current();
75
+ },
76
+ onSizeChanged: () => onAnchorLayoutRef.current == null ? void 0 : onAnchorLayoutRef.current()
77
+ } : undefined, [anchorIndex, scrollToPending]);
78
+ return {
79
+ anchoredEndSpace,
80
+ onMetricsChange
81
+ };
82
+ };
83
+ exports.usePinnedAnchor = usePinnedAnchor;
84
+ //# sourceMappingURL=usePinnedAnchor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_useReduceMotion","usePinnedAnchor","anchorKey","data","headerSize","keyExtractor","listRef","onAnchorLayout","reduceMotion","useReduceMotion","onAnchorLayoutRef","useRef","current","pendingScroll","undefined","shown","mounted","useLayoutEffect","previous","continues","some","item","animated","key","toEnd","scrollToPending","useCallback","target","list","requestAnimationFrame","scrollToEnd","scrollToKey","viewPosition","onMetricsChange","size","anchorIndex","useMemo","findIndex","anchoredEndSpace","onReady","readyKey","onSizeChanged","exports"],"sourceRoot":"../../../../../src","sources":["ai-components/conversation/list/usePinnedAnchor.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["ai-components/conversation/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,117 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.useConversationRows = void 0;
6
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
+ var _react = require("react");
8
+ var _entries = require("./entries");
9
+ var _thinkingClock = require("../reasoning/thinkingClock");
10
+ function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
12
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13
+ var TAIL_KEY = 'ai-conversation-tail';
14
+ var sameAttachments = (a, b) => a === b || a.length === 0 && b.length === 0;
15
+ var isSameRow = (row, next) => row.entry.message === next.entry.message && row.entry.pending === next.entry.pending && row.entry.isLatestReply === next.entry.isLatestReply && sameAttachments(row.entry.sentAttachments, next.entry.sentAttachments) && row.firstStepId === next.firstStepId && row.thinkingSince === next.thinkingSince && row.position === next.position && row.turnKey === next.turnKey;
16
+ var firstStepOf = turn => {
17
+ for (var _iterator = _createForOfIteratorHelperLoose((_turn$entries = turn == null ? void 0 : turn.entries) != null ? _turn$entries : []), _step; !(_step = _iterator()).done;) {
18
+ var _turn$entries, _message$parts;
19
+ var _ref = _step.value;
20
+ var message = _ref.message;
21
+ if (!message || message.role === 'user') continue;
22
+ var step = (_message$parts = message.parts) == null ? void 0 : _message$parts.find(part => part.reasoning);
23
+ if (step) return step.id;
24
+ }
25
+ return undefined;
26
+ };
27
+ var useConversationRows = ({
28
+ canShowUI,
29
+ footer,
30
+ isThinking = false,
31
+ isThinkingKnown = false,
32
+ messages,
33
+ pendingMessage
34
+ }) => {
35
+ var _lastMessage$parts, _lastMessage$text$tri, _latest$entries$lengt;
36
+ var _useState = (0, _react.useState)(() => new _entries.AIPendingMessageTracker()),
37
+ _useState2 = (0, _slicedToArray2.default)(_useState, 1),
38
+ tracker = _useState2[0];
39
+ var _useState3 = (0, _react.useState)(() => new _thinkingClock.AIThinkingClock()),
40
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 1),
41
+ clock = _useState4[0];
42
+ var entries = (0, _react.useMemo)(() => tracker.entries(messages, pendingMessage, canShowUI), [canShowUI, messages, pendingMessage, tracker]);
43
+ var thinking = isThinking || !isThinkingKnown && tracker.isAwaitingReply(messages, pendingMessage, canShowUI);
44
+ var lastMessage = messages[messages.length - 1];
45
+ var stepsKey = (0, _entries.hasFinishedSteps)(lastMessage, canShowUI) ? `${lastMessage.id}:${(_lastMessage$parts = lastMessage.parts) == null ? void 0 : _lastMessage$parts.length}` : undefined;
46
+ var textLength = (_lastMessage$text$tri = lastMessage == null ? void 0 : lastMessage.text.trimEnd().length) != null ? _lastMessage$text$tri : 0;
47
+ var _useState5 = (0, _react.useState)(),
48
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
49
+ gap = _useState6[0],
50
+ setGap = _useState6[1];
51
+ if ((gap == null ? void 0 : gap.messageId) !== (lastMessage == null ? void 0 : lastMessage.id) || (gap == null ? void 0 : gap.stepsKey) !== stepsKey || (gap == null ? void 0 : gap.textLength) !== textLength) {
52
+ var _gap$textLength;
53
+ var grew = (gap == null ? void 0 : gap.messageId) === (lastMessage == null ? void 0 : lastMessage.id) && textLength > ((_gap$textLength = gap == null ? void 0 : gap.textLength) != null ? _gap$textLength : 0);
54
+ setGap({
55
+ messageId: lastMessage == null ? void 0 : lastMessage.id,
56
+ since: grew || stepsKey === undefined ? undefined : stepsKey === (gap == null ? void 0 : gap.stepsKey) ? gap.since : Date.now(),
57
+ stepsKey,
58
+ textLength
59
+ });
60
+ }
61
+ var thinkingSince = !thinking && stepsKey !== undefined ? gap == null ? void 0 : gap.since : undefined;
62
+ var thinkingReplyId = thinkingSince !== undefined ? lastMessage == null ? void 0 : lastMessage.id : undefined;
63
+ var turns = (0, _react.useMemo)(() => (0, _entries.turnsOf)(entries), [entries]);
64
+ var latest = turns[turns.length - 1];
65
+ var latestHasReplies = ((_latest$entries$lengt = latest == null ? void 0 : latest.entries.length) != null ? _latest$entries$lengt : 0) > 1;
66
+ var latestFirstStepId = firstStepOf(latest);
67
+ var latestHasFirstStep = latestFirstStepId !== undefined;
68
+ (0, _react.useLayoutEffect)(() => {
69
+ clock.update(latest == null ? void 0 : latest.id, thinking, latestHasReplies, latestHasFirstStep);
70
+ }, [clock, latest == null ? void 0 : latest.id, latestHasFirstStep, latestHasReplies, thinking]);
71
+ var rowCache = (0, _react.useRef)(new Map());
72
+ var entryRows = (0, _react.useMemo)(() => {
73
+ var cache = new Map();
74
+ var next = [];
75
+ turns.forEach(turn => {
76
+ var firstStepId = firstStepOf(turn);
77
+ turn.entries.forEach((entry, index) => {
78
+ var _entry$message;
79
+ var fields = {
80
+ entry,
81
+ firstStepId,
82
+ kind: 'entry',
83
+ position: index > 0 ? 'message' : 'turn',
84
+ thinkingSince: thinkingReplyId !== undefined && ((_entry$message = entry.message) == null ? void 0 : _entry$message.id) === thinkingReplyId ? thinkingSince : undefined,
85
+ turnKey: turn.id
86
+ };
87
+ var previous = rowCache.current.get(entry.id);
88
+ var row = previous && isSameRow(previous, fields) ? previous : {
89
+ ...fields,
90
+ key: entry.id
91
+ };
92
+ cache.set(entry.id, row);
93
+ next.push(row);
94
+ });
95
+ });
96
+ rowCache.current = cache;
97
+ return next;
98
+ }, [thinkingReplyId, thinkingSince, turns]);
99
+ var lastTurnKey = latest == null ? void 0 : latest.id;
100
+ var tailRow = (0, _react.useMemo)(() => lastTurnKey !== undefined && (thinking || footer) ? {
101
+ firstStepId: latestFirstStepId,
102
+ footer,
103
+ isThinking: thinking,
104
+ key: TAIL_KEY,
105
+ kind: 'tail',
106
+ turnKey: lastTurnKey
107
+ } : undefined, [footer, lastTurnKey, latestFirstStepId, thinking]);
108
+ var rows = (0, _react.useMemo)(() => tailRow ? [...entryRows, tailRow] : entryRows, [entryRows, tailRow]);
109
+ return {
110
+ anchorKey: lastTurnKey,
111
+ clock,
112
+ isEmpty: entryRows.length === 0,
113
+ rows
114
+ };
115
+ };
116
+ exports.useConversationRows = useConversationRows;
117
+ //# sourceMappingURL=useConversationRows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_entries","_thinkingClock","_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","TAIL_KEY","sameAttachments","b","isSameRow","row","entry","message","pending","isLatestReply","sentAttachments","firstStepId","thinkingSince","position","turnKey","firstStepOf","turn","_iterator","_turn$entries","entries","_step","_message$parts","_ref","role","step","parts","find","part","reasoning","id","undefined","useConversationRows","canShowUI","footer","isThinking","isThinkingKnown","messages","pendingMessage","_lastMessage$parts","_lastMessage$text$tri","_latest$entries$lengt","_useState","useState","AIPendingMessageTracker","_useState2","_slicedToArray2","default","tracker","_useState3","AIThinkingClock","_useState4","clock","useMemo","thinking","isAwaitingReply","lastMessage","stepsKey","hasFinishedSteps","textLength","text","trimEnd","_useState5","_useState6","gap","setGap","messageId","_gap$textLength","grew","since","Date","now","thinkingReplyId","turns","turnsOf","latest","latestHasReplies","latestFirstStepId","latestHasFirstStep","useLayoutEffect","update","rowCache","useRef","Map","entryRows","cache","forEach","index","_entry$message","fields","kind","previous","current","get","key","set","push","lastTurnKey","tailRow","rows","anchorKey","isEmpty","exports"],"sourceRoot":"../../../../src","sources":["ai-components/conversation/useConversationRows.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAWA,IAAAE,cAAA,GAAAF,OAAA;AAA6D,SAAAG,gCAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,yBAAAC,MAAA,IAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,oBAAAE,CAAA,UAAAA,CAAA,GAAAA,CAAA,CAAAG,IAAA,CAAAL,CAAA,GAAAM,IAAA,CAAAC,IAAA,CAAAL,CAAA,OAAAM,KAAA,CAAAC,OAAA,CAAAT,CAAA,MAAAE,CAAA,GAAAQ,2BAAA,CAAAV,CAAA,MAAAC,CAAA,IAAAD,CAAA,uBAAAA,CAAA,CAAAW,MAAA,IAAAT,CAAA,KAAAF,CAAA,GAAAE,CAAA,OAAAU,CAAA,kCAAAA,CAAA,IAAAZ,CAAA,CAAAW,MAAA,KAAAE,IAAA,WAAAA,IAAA,MAAAC,KAAA,EAAAd,CAAA,CAAAY,CAAA,sBAAAG,SAAA;AAAA,SAAAL,4BAAAV,CAAA,EAAAgB,CAAA,QAAAhB,CAAA,2BAAAA,CAAA,SAAAiB,iBAAA,CAAAjB,CAAA,EAAAgB,CAAA,OAAAd,CAAA,MAAAgB,QAAA,CAAAb,IAAA,CAAAL,CAAA,EAAAmB,KAAA,6BAAAjB,CAAA,IAAAF,CAAA,CAAAoB,WAAA,KAAAlB,CAAA,GAAAF,CAAA,CAAAoB,WAAA,CAAAC,IAAA,aAAAnB,CAAA,cAAAA,CAAA,GAAAM,KAAA,CAAAc,IAAA,CAAAtB,CAAA,oBAAAE,CAAA,+CAAAqB,IAAA,CAAArB,CAAA,IAAAe,iBAAA,CAAAjB,CAAA,EAAAgB,CAAA;AAAA,SAAAC,kBAAAjB,CAAA,EAAAgB,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAhB,CAAA,CAAAW,MAAA,MAAAK,CAAA,GAAAhB,CAAA,CAAAW,MAAA,YAAAV,CAAA,MAAAuB,CAAA,GAAAhB,KAAA,CAAAQ,CAAA,GAAAf,CAAA,GAAAe,CAAA,EAAAf,CAAA,IAAAuB,CAAA,CAAAvB,CAAA,IAAAD,CAAA,CAAAC,CAAA,UAAAuB,CAAA;AAyC7D,IAAMC,QAAQ,GAAG,sBAAsB;AAWvC,IAAMC,eAAe,GAAGA,CAACV,CAA4B,EAAEW,CAA4B,KACjFX,CAAC,KAAKW,CAAC,IAAKX,CAAC,CAACL,MAAM,KAAK,CAAC,IAAIgB,CAAC,CAAChB,MAAM,KAAK,CAAE;AAG/C,IAAMiB,SAAS,GAAGA,CAACC,GAAa,EAAEvB,IAA2B,KAC3DuB,GAAG,CAACC,KAAK,CAACC,OAAO,KAAKzB,IAAI,CAACwB,KAAK,CAACC,OAAO,IACxCF,GAAG,CAACC,KAAK,CAACE,OAAO,KAAK1B,IAAI,CAACwB,KAAK,CAACE,OAAO,IACxCH,GAAG,CAACC,KAAK,CAACG,aAAa,KAAK3B,IAAI,CAACwB,KAAK,CAACG,aAAa,IACpDP,eAAe,CAACG,GAAG,CAACC,KAAK,CAACI,eAAe,EAAE5B,IAAI,CAACwB,KAAK,CAACI,eAAe,CAAC,IACtEL,GAAG,CAACM,WAAW,KAAK7B,IAAI,CAAC6B,WAAW,IACpCN,GAAG,CAACO,aAAa,KAAK9B,IAAI,CAAC8B,aAAa,IACxCP,GAAG,CAACQ,QAAQ,KAAK/B,IAAI,CAAC+B,QAAQ,IAC9BR,GAAG,CAACS,OAAO,KAAKhC,IAAI,CAACgC,OAAO;AAG9B,IAAMC,WAAW,GAAIC,IAAoC,IAAK;EAC5D,SAAAC,SAAA,GAAA1C,+BAAA,EAAA2C,aAAA,GAA0BF,IAAI,oBAAJA,IAAI,CAAEG,OAAO,YAAAD,aAAA,GAAI,EAAE,GAAAE,KAAA,IAAAA,KAAA,GAAAH,SAAA,IAAA5B,IAAA,GAAE;IAAA,IAAA6B,aAAA,EAAAG,cAAA;IAAA,IAAAC,IAAA,GAAAF,KAAA,CAAA9B,KAAA;IAAA,IAAlCiB,OAAO,GAAAe,IAAA,CAAPf,OAAO;IAClB,IAAI,CAACA,OAAO,IAAIA,OAAO,CAACgB,IAAI,KAAK,MAAM,EAAE;IACzC,IAAMC,IAAI,IAAAH,cAAA,GAAGd,OAAO,CAACkB,KAAK,qBAAbJ,cAAA,CAAeK,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,SAAS,CAAC;IAC1D,IAAIJ,IAAI,EAAE,OAAOA,IAAI,CAACK,EAAE;EAC1B;EACA,OAAOC,SAAS;AAClB,CAAC;AA6BM,IAAMC,mBAAmB,GAAGA,CAAC;EAClCC,SAAS;EACTC,MAAM;EACNC,UAAU,GAAG,KAAK;EAClBC,eAAe,GAAG,KAAK;EACvBC,QAAQ;EACRC;AAC0B,CAAC,KAAuB;EAAA,IAAAC,kBAAA,EAAAC,qBAAA,EAAAC,qBAAA;EAClD,IAAAC,SAAA,GAAkB,IAAAC,eAAQ,EAAC,MAAM,IAAIC,gCAAuB,CAAC,CAAC,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAL,SAAA;IAAxDM,OAAO,GAAAH,UAAA;EACd,IAAAI,UAAA,GAAgB,IAAAN,eAAQ,EAAC,MAAM,IAAIO,8BAAe,CAAC,CAAC,CAAC;IAAAC,UAAA,OAAAL,eAAA,CAAAC,OAAA,EAAAE,UAAA;IAA9CG,KAAK,GAAAD,UAAA;EAEZ,IAAM/B,OAAO,GAAG,IAAAiC,cAAO,EACrB,MAAML,OAAO,CAAC5B,OAAO,CAACiB,QAAQ,EAAEC,cAAc,EAAEL,SAAS,CAAC,EAC1D,CAACA,SAAS,EAAEI,QAAQ,EAAEC,cAAc,EAAEU,OAAO,CAC/C,CAAC;EAED,IAAMM,QAAQ,GACZnB,UAAU,IACT,CAACC,eAAe,IAAIY,OAAO,CAACO,eAAe,CAAClB,QAAQ,EAAEC,cAAc,EAAEL,SAAS,CAAE;EAKpF,IAAMuB,WAAW,GAAGnB,QAAQ,CAACA,QAAQ,CAACjD,MAAM,GAAG,CAAC,CAAC;EACjD,IAAMqE,QAAQ,GAAG,IAAAC,yBAAgB,EAACF,WAAW,EAAEvB,SAAS,CAAC,GACrD,GAAGuB,WAAW,CAAC1B,EAAE,KAAAS,kBAAA,GAAIiB,WAAW,CAAC9B,KAAK,qBAAjBa,kBAAA,CAAmBnD,MAAM,EAAE,GAChD2C,SAAS;EAEb,IAAM4B,UAAU,IAAAnB,qBAAA,GAAGgB,WAAW,oBAAXA,WAAW,CAAEI,IAAI,CAACC,OAAO,CAAC,CAAC,CAACzE,MAAM,YAAAoD,qBAAA,GAAI,CAAC;EAC1D,IAAAsB,UAAA,GAAsB,IAAAnB,eAAQ,EAAe,CAAC;IAAAoB,UAAA,OAAAjB,eAAA,CAAAC,OAAA,EAAAe,UAAA;IAAvCE,GAAG,GAAAD,UAAA;IAAEE,MAAM,GAAAF,UAAA;EAClB,IACE,CAAAC,GAAG,oBAAHA,GAAG,CAAEE,SAAS,OAAKV,WAAW,oBAAXA,WAAW,CAAE1B,EAAE,KAClC,CAAAkC,GAAG,oBAAHA,GAAG,CAAEP,QAAQ,MAAKA,QAAQ,IAC1B,CAAAO,GAAG,oBAAHA,GAAG,CAAEL,UAAU,MAAKA,UAAU,EAC9B;IAAA,IAAAQ,eAAA;IACA,IAAMC,IAAI,GAAG,CAAAJ,GAAG,oBAAHA,GAAG,CAAEE,SAAS,OAAKV,WAAW,oBAAXA,WAAW,CAAE1B,EAAE,KAAI6B,UAAU,KAAAQ,eAAA,GAAIH,GAAG,oBAAHA,GAAG,CAAEL,UAAU,YAAAQ,eAAA,GAAI,CAAC,CAAC;IACtFF,MAAM,CAAC;MACLC,SAAS,EAAEV,WAAW,oBAAXA,WAAW,CAAE1B,EAAE;MAC1BuC,KAAK,EACHD,IAAI,IAAIX,QAAQ,KAAK1B,SAAS,GAC1BA,SAAS,GACT0B,QAAQ,MAAKO,GAAG,oBAAHA,GAAG,CAAEP,QAAQ,IACxBO,GAAG,CAACK,KAAK,GACTC,IAAI,CAACC,GAAG,CAAC,CAAC;MAClBd,QAAQ;MACRE;IACF,CAAC,CAAC;EACJ;EACA,IAAM9C,aAAa,GAAG,CAACyC,QAAQ,IAAIG,QAAQ,KAAK1B,SAAS,GAAGiC,GAAG,oBAAHA,GAAG,CAAEK,KAAK,GAAGtC,SAAS;EAClF,IAAMyC,eAAe,GAAG3D,aAAa,KAAKkB,SAAS,GAAGyB,WAAW,oBAAXA,WAAW,CAAE1B,EAAE,GAAGC,SAAS;EACjF,IAAM0C,KAAK,GAAG,IAAApB,cAAO,EAAC,MAAM,IAAAqB,gBAAO,EAACtD,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EACxD,IAAMuD,MAAM,GAAGF,KAAK,CAACA,KAAK,CAACrF,MAAM,GAAG,CAAC,CAAC;EACtC,IAAMwF,gBAAgB,GAAG,EAAAnC,qBAAA,GAACkC,MAAM,oBAANA,MAAM,CAAEvD,OAAO,CAAChC,MAAM,YAAAqD,qBAAA,GAAI,CAAC,IAAI,CAAC;EAC1D,IAAMoC,iBAAiB,GAAG7D,WAAW,CAAC2D,MAAM,CAAC;EAC7C,IAAMG,kBAAkB,GAAGD,iBAAiB,KAAK9C,SAAS;EAG1D,IAAAgD,sBAAe,EAAC,MAAM;IACpB3B,KAAK,CAAC4B,MAAM,CAACL,MAAM,oBAANA,MAAM,CAAE7C,EAAE,EAAEwB,QAAQ,EAAEsB,gBAAgB,EAAEE,kBAAkB,CAAC;EAC1E,CAAC,EAAE,CAAC1B,KAAK,EAAEuB,MAAM,oBAANA,MAAM,CAAE7C,EAAE,EAAEgD,kBAAkB,EAAEF,gBAAgB,EAAEtB,QAAQ,CAAC,CAAC;EAGvE,IAAM2B,QAAQ,GAAG,IAAAC,aAAM,EAAC,IAAIC,GAAG,CAAmB,CAAC,CAAC;EACpD,IAAMC,SAAS,GAAG,IAAA/B,cAAO,EAAC,MAAM;IAC9B,IAAMgC,KAAK,GAAG,IAAIF,GAAG,CAAmB,CAAC;IACzC,IAAMpG,IAAgB,GAAG,EAAE;IAC3B0F,KAAK,CAACa,OAAO,CAAErE,IAAI,IAAK;MACtB,IAAML,WAAW,GAAGI,WAAW,CAACC,IAAI,CAAC;MACrCA,IAAI,CAACG,OAAO,CAACkE,OAAO,CAAC,CAAC/E,KAAK,EAAEgF,KAAK,KAAK;QAAA,IAAAC,cAAA;QACrC,IAAMC,MAAM,GAAG;UACblF,KAAK;UACLK,WAAW;UACX8E,IAAI,EAAE,OAAgB;UACtB5E,QAAQ,EAAGyE,KAAK,GAAG,CAAC,GAAG,SAAS,GAAG,MAAsB;UACzD1E,aAAa,EACX2D,eAAe,KAAKzC,SAAS,IAAI,EAAAyD,cAAA,GAAAjF,KAAK,CAACC,OAAO,qBAAbgF,cAAA,CAAe1D,EAAE,MAAK0C,eAAe,GAClE3D,aAAa,GACbkB,SAAS;UACfhB,OAAO,EAAEE,IAAI,CAACa;QAChB,CAAC;QACD,IAAM6D,QAAQ,GAAGV,QAAQ,CAACW,OAAO,CAACC,GAAG,CAACtF,KAAK,CAACuB,EAAE,CAAC;QAC/C,IAAMxB,GAAG,GACPqF,QAAQ,IAAItF,SAAS,CAACsF,QAAQ,EAAEF,MAAM,CAAC,GAAGE,QAAQ,GAAG;UAAE,GAAGF,MAAM;UAAEK,GAAG,EAAEvF,KAAK,CAACuB;QAAG,CAAC;QACnFuD,KAAK,CAACU,GAAG,CAACxF,KAAK,CAACuB,EAAE,EAAExB,GAAG,CAAC;QACxBvB,IAAI,CAACiH,IAAI,CAAC1F,GAAG,CAAC;MAChB,CAAC,CAAC;IACJ,CAAC,CAAC;IACF2E,QAAQ,CAACW,OAAO,GAAGP,KAAK;IACxB,OAAOtG,IAAI;EACb,CAAC,EAAE,CAACyF,eAAe,EAAE3D,aAAa,EAAE4D,KAAK,CAAC,CAAC;EAG3C,IAAMwB,WAAW,GAAGtB,MAAM,oBAANA,MAAM,CAAE7C,EAAE;EAC9B,IAAMoE,OAAO,GAAG,IAAA7C,cAAO,EACrB,MACE4C,WAAW,KAAKlE,SAAS,KAAKuB,QAAQ,IAAIpB,MAAM,CAAC,GAC7C;IACEtB,WAAW,EAAEiE,iBAAiB;IAC9B3C,MAAM;IACNC,UAAU,EAAEmB,QAAQ;IACpBwC,GAAG,EAAE5F,QAAQ;IACbwF,IAAI,EAAE,MAAM;IACZ3E,OAAO,EAAEkF;EACX,CAAC,GACDlE,SAAS,EACf,CAACG,MAAM,EAAE+D,WAAW,EAAEpB,iBAAiB,EAAEvB,QAAQ,CACnD,CAAC;EACD,IAAM6C,IAAI,GAAG,IAAA9C,cAAO,EAClB,MAAO6C,OAAO,GAAG,CAAC,GAAGd,SAAS,EAAEc,OAAO,CAAC,GAAGd,SAAU,EACrD,CAACA,SAAS,EAAEc,OAAO,CACrB,CAAC;EAED,OAAO;IAAEE,SAAS,EAAEH,WAAW;IAAE7C,KAAK;IAAEiD,OAAO,EAAEjB,SAAS,CAAChG,MAAM,KAAK,CAAC;IAAE+G;EAAK,CAAC;AACjF,CAAC;AAACG,OAAA,CAAAtE,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.aiUIActionProblem = exports.aiUIActionJSON = exports.AI_UI_ACTION_MAX_BYTES = exports.AI_UI_ACTION_CUSTOM_DATA_KEY = void 0;
5
+ var _AIUIHelpers = require("./AIUIHelpers");
6
+ var AI_UI_ACTION_CUSTOM_DATA_KEY = exports.AI_UI_ACTION_CUSTOM_DATA_KEY = 'ai_ui_action';
7
+ var AI_UI_ACTION_MAX_BYTES = exports.AI_UI_ACTION_MAX_BYTES = 8 * 1024;
8
+ var aiUIActionJSON = action => ({
9
+ format: action.format,
10
+ message_id: action.messageId,
11
+ name: action.name,
12
+ payload: action.payload,
13
+ v: 1
14
+ });
15
+ exports.aiUIActionJSON = aiUIActionJSON;
16
+ var aiUIActionProblem = action => {
17
+ if (!action.messageId) return 'an action names the reply it came from';
18
+ if (!action.format) return 'an action names the format of its UI';
19
+ if (!action.name) return 'an action names what happened';
20
+ var json;
21
+ try {
22
+ json = JSON.stringify(aiUIActionJSON(action));
23
+ } catch (_unused) {
24
+ return 'an action carries only JSON';
25
+ }
26
+ var bytes = (0, _AIUIHelpers.utf8ByteLength)(json);
27
+ return bytes > AI_UI_ACTION_MAX_BYTES ? `an action takes at most ${AI_UI_ACTION_MAX_BYTES} bytes as JSON, and this one takes ${bytes}` : undefined;
28
+ };
29
+ exports.aiUIActionProblem = aiUIActionProblem;
30
+ //# sourceMappingURL=AIUIAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AIUIHelpers","require","AI_UI_ACTION_CUSTOM_DATA_KEY","exports","AI_UI_ACTION_MAX_BYTES","aiUIActionJSON","action","format","message_id","messageId","name","payload","v","aiUIActionProblem","json","JSON","stringify","_unused","bytes","utf8ByteLength","undefined"],"sourceRoot":"../../../../src","sources":["ai-components/generative-ui/AIUIAction.ts"],"mappings":";;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAiCO,IAAMC,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,GAAG,cAAc;AAKnD,IAAME,sBAAsB,GAAAD,OAAA,CAAAC,sBAAA,GAAG,CAAC,GAAG,IAAI;AAOvC,IAAMC,cAAc,GAAIC,MAAkB,KAAsB;EACrEC,MAAM,EAAED,MAAM,CAACC,MAAM;EACrBC,UAAU,EAAEF,MAAM,CAACG,SAAS;EAC5BC,IAAI,EAAEJ,MAAM,CAACI,IAAI;EACjBC,OAAO,EAAEL,MAAM,CAACK,OAAO;EACvBC,CAAC,EAAE;AACL,CAAC,CAAC;AAACT,OAAA,CAAAE,cAAA,GAAAA,cAAA;AAMI,IAAMQ,iBAAiB,GAAIP,MAAkB,IAAyB;EAC3E,IAAI,CAACA,MAAM,CAACG,SAAS,EAAE,OAAO,wCAAwC;EACtE,IAAI,CAACH,MAAM,CAACC,MAAM,EAAE,OAAO,sCAAsC;EACjE,IAAI,CAACD,MAAM,CAACI,IAAI,EAAE,OAAO,+BAA+B;EACxD,IAAII,IAAY;EAChB,IAAI;IACFA,IAAI,GAAGC,IAAI,CAACC,SAAS,CAACX,cAAc,CAACC,MAAM,CAAC,CAAC;EAC/C,CAAC,CAAC,OAAAW,OAAA,EAAM;IACN,OAAO,6BAA6B;EACtC;EACA,IAAMC,KAAK,GAAG,IAAAC,2BAAc,EAACL,IAAI,CAAC;EAClC,OAAOI,KAAK,GAAGd,sBAAsB,GACjC,2BAA2BA,sBAAsB,sCAAsCc,KAAK,EAAE,GAC9FE,SAAS;AACf,CAAC;AAACjB,OAAA,CAAAU,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -0,0 +1,128 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.decodeAIUIArguments = exports.aiUIDate = exports.aiUICamelCase = void 0;
6
+ var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
7
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
+ var _AIUIComponentDefinition = require("./AIUIComponentDefinition");
9
+ var _AIUIHelpers = require("./AIUIHelpers");
10
+ function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
12
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13
+ class DoesNotFit extends Error {}
14
+ var RFC_3339 = /^\d{4}-\d{2}-\d{2}[Tt ]\d{2}:\d{2}:\d{2}(\.\d+)?([Zz]|[+-]\d{2}:\d{2})$/;
15
+ var DAY = /^(\d{4})-(\d{2})-(\d{2})$/;
16
+ var aiUIDate = text => {
17
+ if (RFC_3339.test(text)) {
18
+ var moment = new Date(text);
19
+ return Number.isNaN(moment.getTime()) ? undefined : moment;
20
+ }
21
+ var day = DAY.exec(text);
22
+ if (!day) return undefined;
23
+ var _ref = [Number(day[1]), Number(day[2]), Number(day[3])],
24
+ year = _ref[0],
25
+ month = _ref[1],
26
+ date = _ref[2];
27
+ var start = new Date(year, month - 1, date);
28
+ start.setFullYear(year);
29
+ return start.getFullYear() === year && start.getMonth() === month - 1 && start.getDate() === date ? start : undefined;
30
+ };
31
+ exports.aiUIDate = aiUIDate;
32
+ var aiUICamelCase = key => {
33
+ var _exec;
34
+ var _ref2 = (_exec = /^(_*)(.*?)(_*)$/.exec(key)) != null ? _exec : [],
35
+ _ref3 = (0, _slicedToArray2.default)(_ref2, 4),
36
+ _ref3$ = _ref3[1],
37
+ leading = _ref3$ === void 0 ? '' : _ref3$,
38
+ _ref3$2 = _ref3[2],
39
+ middle = _ref3$2 === void 0 ? '' : _ref3$2,
40
+ _ref3$3 = _ref3[3],
41
+ trailing = _ref3$3 === void 0 ? '' : _ref3$3;
42
+ if (!middle.includes('_')) return key;
43
+ var _middle$split$filter = middle.split('_').filter(Boolean),
44
+ _middle$split$filter2 = (0, _toArray2.default)(_middle$split$filter),
45
+ _middle$split$filter3 = _middle$split$filter2[0],
46
+ first = _middle$split$filter3 === void 0 ? '' : _middle$split$filter3,
47
+ rest = _arrayLikeToArray(_middle$split$filter2).slice(1);
48
+ return leading + first + rest.map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('') + trailing;
49
+ };
50
+ exports.aiUICamelCase = aiUICamelCase;
51
+ var camelCased = value => {
52
+ if (Array.isArray(value)) return value.map(camelCased);
53
+ if (!(0, _AIUIHelpers.isRecord)(value)) return value;
54
+ return Object.fromEntries(Object.entries(value).map(([key, item]) => [aiUICamelCase(key), camelCased(item)]));
55
+ };
56
+ var decodeObject = (value, parameters) => {
57
+ if (!(0, _AIUIHelpers.isRecord)(value)) throw new DoesNotFit();
58
+ var declared = new Set(parameters.map(({
59
+ name
60
+ }) => name));
61
+ var decoded = {};
62
+ for (var _i = 0, _Object$entries = Object.entries(value); _i < _Object$entries.length; _i++) {
63
+ var _ref4 = _Object$entries[_i];
64
+ var _ref5 = (0, _slicedToArray2.default)(_ref4, 2);
65
+ var key = _ref5[0];
66
+ var item = _ref5[1];
67
+ if (!declared.has(key)) decoded[aiUICamelCase(key)] = camelCased(item);
68
+ }
69
+ for (var _iterator = _createForOfIteratorHelperLoose(parameters), _step; !(_step = _iterator()).done;) {
70
+ var _ref6 = _step.value;
71
+ var isRequired = _ref6.isRequired;
72
+ var name = _ref6.name;
73
+ var type = _ref6.type;
74
+ {
75
+ var _item = value[name];
76
+ if (_item === undefined || _item === null) {
77
+ if (isRequired) throw new DoesNotFit();
78
+ continue;
79
+ }
80
+ decoded[aiUICamelCase(name)] = decodeValue(_item, type);
81
+ }
82
+ }
83
+ return decoded;
84
+ };
85
+ var decodeValue = (value, schema) => {
86
+ switch (schema.type) {
87
+ case 'string':
88
+ {
89
+ if (typeof value !== 'string') throw new DoesNotFit();
90
+ if (Array.isArray(schema.enum) && !schema.enum.includes(value)) throw new DoesNotFit();
91
+ if (schema.format === 'date' || schema.format === 'date-time') {
92
+ var date = aiUIDate(value);
93
+ if (!date) throw new DoesNotFit();
94
+ return date;
95
+ }
96
+ return value;
97
+ }
98
+ case 'number':
99
+ if (typeof value !== 'number' || !Number.isFinite(value)) throw new DoesNotFit();
100
+ return value;
101
+ case 'integer':
102
+ if (!Number.isInteger(value)) throw new DoesNotFit();
103
+ return value;
104
+ case 'boolean':
105
+ if (typeof value !== 'boolean') throw new DoesNotFit();
106
+ return value;
107
+ case 'array':
108
+ {
109
+ if (!Array.isArray(value)) throw new DoesNotFit();
110
+ var items = (0, _AIUIHelpers.isRecord)(schema.items) ? schema.items : {};
111
+ return value.map(item => decodeValue(item, items));
112
+ }
113
+ case 'object':
114
+ return decodeObject(value, (0, _AIUIComponentDefinition.aiUIParametersOf)(schema));
115
+ default:
116
+ return camelCased(value);
117
+ }
118
+ };
119
+ var decodeAIUIArguments = (args, parameters) => {
120
+ try {
121
+ return decodeObject(args, parameters);
122
+ } catch (error) {
123
+ if (error instanceof DoesNotFit) return undefined;
124
+ throw error;
125
+ }
126
+ };
127
+ exports.decodeAIUIArguments = decodeAIUIArguments;
128
+ //# sourceMappingURL=AIUIArguments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AIUIComponentDefinition","require","_AIUIHelpers","_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","DoesNotFit","Error","RFC_3339","DAY","aiUIDate","text","moment","Date","Number","isNaN","getTime","undefined","day","exec","_ref","year","month","date","start","setFullYear","getFullYear","getMonth","getDate","exports","aiUICamelCase","key","_exec","_ref2","_ref3","_slicedToArray2","default","_ref3$","leading","_ref3$2","middle","_ref3$3","trailing","includes","_middle$split$filter","split","filter","Boolean","_middle$split$filter2","_toArray2","_middle$split$filter3","first","rest","map","word","charAt","toUpperCase","join","camelCased","isRecord","Object","fromEntries","entries","item","decodeObject","parameters","declared","Set","decoded","_i","_Object$entries","_ref4","_ref5","has","_iterator","_step","_ref6","isRequired","type","decodeValue","schema","enum","format","isFinite","isInteger","items","aiUIParametersOf","decodeAIUIArguments","args","error"],"sourceRoot":"../../../../src","sources":["ai-components/generative-ui/AIUIArguments.ts"],"mappings":"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","ignoreList":[]}