stream-chat-react-native-core 9.12.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,975 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.A2UI_BASIC_COMPONENTS = void 0;
6
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
10
+ var _DateTimeInput = require("./DateTimeInput");
11
+ var _iconPaths = require("./iconPaths");
12
+ var _Media = require("./Media");
13
+ var _contexts = require("../../ai-components/contexts");
14
+ var _AIUIHelpers = require("../../ai-components/generative-ui/AIUIHelpers");
15
+ var _tokens = require("../../ai-components/internal/tokens");
16
+ var _markdown = require("../../ai-components/markdown");
17
+ var _A2UIContexts = require("../A2UIContexts");
18
+ var _A2UISurface = require("../A2UISurface");
19
+ var _useReplyState7 = require("../useReplyState");
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+ var _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/a2ui/components/basicComponents.tsx";
22
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
23
+ 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."); }
24
+ 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; } }
25
+ 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; }
26
+ var A2UILabelContext = (0, _react.createContext)(undefined);
27
+ var textOf = value => typeof value === 'string' ? value : value === undefined || value === null ? '' : String(value);
28
+ var stringsOf = value => Array.isArray(value) ? value.filter(item => typeof item === 'string') : [];
29
+ var errorsOf = ({
30
+ isValid,
31
+ validationErrors
32
+ }) => isValid === false ? stringsOf(validationErrors) : [];
33
+ var setterOf = (props, key) => {
34
+ var setter = props[`set${key.charAt(0).toUpperCase()}${key.slice(1)}`];
35
+ return typeof setter === 'function' ? setter : undefined;
36
+ };
37
+ var useA2UITheme = () => {
38
+ var _useTheme$theme$a2ui;
39
+ return (_useTheme$theme$a2ui = (0, _contexts.useTheme)().theme.a2ui) != null ? _useTheme$theme$a2ui : {};
40
+ };
41
+ var usePalette = () => {
42
+ var _useTheme = (0, _contexts.useTheme)(),
43
+ _useTheme$theme = _useTheme.theme,
44
+ a2ui = _useTheme$theme.a2ui,
45
+ colors = _useTheme$theme.colors;
46
+ var own = a2ui == null ? void 0 : a2ui.colors;
47
+ return (0, _react.useMemo)(() => ({
48
+ accent: colors.accent_blue,
49
+ border: colors.grey_gainsboro,
50
+ error: colors.accent_red,
51
+ onAccent: colors.white,
52
+ secondaryText: colors.grey,
53
+ subtleSurface: colors.white_smoke,
54
+ surface: colors.white,
55
+ text: colors.black,
56
+ ...own
57
+ }), [colors, own]);
58
+ };
59
+ var tint = (color, alpha) => /^#[0-9a-f]{6}$/i.test(color) ? `${color}${Math.round(alpha * 255).toString(16).padStart(2, '0')}` : color;
60
+ var Problems = ({
61
+ errors
62
+ }) => {
63
+ var palette = usePalette();
64
+ return errors.length ? (0, _jsxRuntime.jsx)(_reactNative.Text, {
65
+ accessibilityRole: "alert",
66
+ style: [styles.problems, {
67
+ color: palette.error
68
+ }],
69
+ children: errors.join(' ')
70
+ }) : null;
71
+ };
72
+ var HEADINGS = {
73
+ h1: {
74
+ fontSize: 28,
75
+ fontWeight: '700',
76
+ lineHeight: 34
77
+ },
78
+ h2: {
79
+ fontSize: 22,
80
+ fontWeight: '700',
81
+ lineHeight: 28
82
+ },
83
+ h3: {
84
+ fontSize: 20,
85
+ fontWeight: '600',
86
+ lineHeight: 25
87
+ },
88
+ h4: {
89
+ fontSize: _tokens.primitives.typographyFontSizeLg,
90
+ fontWeight: '700',
91
+ lineHeight: 23
92
+ },
93
+ h5: {
94
+ fontSize: _tokens.primitives.typographyFontSizeMd,
95
+ fontWeight: '600',
96
+ lineHeight: 21
97
+ }
98
+ };
99
+ var Text = ({
100
+ props
101
+ }) => {
102
+ var theme = useA2UITheme();
103
+ var engine = (0, _react.useContext)(_A2UIContexts.A2UIEngineContext);
104
+ var label = (0, _react.useContext)(A2UILabelContext);
105
+ var palette = usePalette();
106
+ var text = textOf(props.text);
107
+ var variant = textOf(props.variant);
108
+ if (label) return (0, _jsxRuntime.jsx)(_reactNative.Text, {
109
+ style: label,
110
+ children: text
111
+ });
112
+ if (HEADINGS[variant]) {
113
+ return (0, _jsxRuntime.jsx)(_reactNative.Text, {
114
+ accessibilityRole: "header",
115
+ style: [HEADINGS[variant], {
116
+ color: palette.text
117
+ }],
118
+ children: text
119
+ });
120
+ }
121
+ if (variant === 'caption') {
122
+ return (0, _jsxRuntime.jsx)(_reactNative.Text, {
123
+ style: [styles.caption, {
124
+ color: palette.secondaryText
125
+ }, theme.caption],
126
+ children: text
127
+ });
128
+ }
129
+ return (0, _jsxRuntime.jsx)(_markdown.Markdown, {
130
+ onLink: url => engine == null ? void 0 : engine.host.open(url),
131
+ children: text
132
+ });
133
+ };
134
+ var IMAGE_SIZES = {
135
+ avatar: {
136
+ borderRadius: 24,
137
+ height: 48,
138
+ width: 48
139
+ },
140
+ header: {
141
+ height: 200,
142
+ width: '100%'
143
+ },
144
+ icon: {
145
+ height: 24,
146
+ width: 24
147
+ },
148
+ largeFeature: {
149
+ height: 240,
150
+ width: '100%'
151
+ },
152
+ mediumFeature: {
153
+ height: 160,
154
+ width: '100%'
155
+ },
156
+ smallFeature: {
157
+ height: 72,
158
+ width: 72
159
+ }
160
+ };
161
+ var RESIZE_MODES = {
162
+ contain: 'contain',
163
+ cover: 'cover',
164
+ fill: 'stretch',
165
+ none: 'center',
166
+ scaleDown: 'contain'
167
+ };
168
+ var useMediaSource = value => {
169
+ var _useContext;
170
+ return (_useContext = (0, _react.useContext)(_A2UIContexts.A2UIEngineContext)) == null ? void 0 : _useContext.mediaSource(value);
171
+ };
172
+ var ImageComponent = ({
173
+ props
174
+ }) => {
175
+ var _IMAGE_SIZES$textOf, _RESIZE_MODES$textOf;
176
+ var theme = useA2UITheme();
177
+ var palette = usePalette();
178
+ var url = useMediaSource(props.url);
179
+ if (!url) return null;
180
+ var size = (_IMAGE_SIZES$textOf = IMAGE_SIZES[textOf(props.variant)]) != null ? _IMAGE_SIZES$textOf : IMAGE_SIZES.mediumFeature;
181
+ var description = textOf(props.description);
182
+ return (0, _jsxRuntime.jsx)(_reactNative.Image, {
183
+ accessibilityIgnoresInvertColors: true,
184
+ accessibilityLabel: description || undefined,
185
+ accessible: !!description,
186
+ resizeMode: (_RESIZE_MODES$textOf = RESIZE_MODES[textOf(props.fit)]) != null ? _RESIZE_MODES$textOf : 'cover',
187
+ source: {
188
+ uri: url
189
+ },
190
+ style: [styles.image, {
191
+ backgroundColor: palette.subtleSurface
192
+ }, size, theme.image]
193
+ });
194
+ };
195
+ var MIRRORED_ICONS = new Set(['arrowBack', 'arrowForward', 'help', 'send', 'volumeUp']);
196
+ var SVG_PATH = /^[MmLlHhVvCcSsQqTtAaZz0-9.,\s+-]+$/;
197
+ var ICON_SIZE = 24;
198
+ var Icon = ({
199
+ props
200
+ }) => {
201
+ var _ref;
202
+ var engine = (0, _react.useContext)(_A2UIContexts.A2UIEngineContext);
203
+ var palette = usePalette();
204
+ var name = props.name;
205
+ var AppIcon = typeof name === 'string' ? engine == null ? void 0 : engine.icons[name] : undefined;
206
+ if (AppIcon) return (0, _jsxRuntime.jsx)(AppIcon, {
207
+ color: palette.text,
208
+ size: ICON_SIZE
209
+ });
210
+ var drawn = (0, _AIUIHelpers.isRecord)(name) && typeof name.svgPath === 'string' && SVG_PATH.test(name.svgPath) ? name.svgPath : undefined;
211
+ var d = (_ref = drawn != null ? drawn : typeof name === 'string' ? _iconPaths.A2UI_ICON_PATHS[name] : undefined) != null ? _ref : _iconPaths.A2UI_ICON_PATHS.help;
212
+ var mirrored = _reactNative.I18nManager.isRTL && typeof name === 'string' && MIRRORED_ICONS.has(name);
213
+ return (0, _jsxRuntime.jsx)(_reactNativeSvg.default, {
214
+ accessibilityElementsHidden: true,
215
+ height: ICON_SIZE,
216
+ importantForAccessibility: "no-hide-descendants",
217
+ viewBox: "0 0 24 24",
218
+ width: ICON_SIZE,
219
+ children: (0, _jsxRuntime.jsx)(_reactNativeSvg.Path, {
220
+ d: d,
221
+ fill: palette.text,
222
+ transform: mirrored ? 'matrix(-1 0 0 1 24 0)' : undefined
223
+ })
224
+ });
225
+ };
226
+ var Video = ({
227
+ props
228
+ }) => {
229
+ var palette = usePalette();
230
+ var url = useMediaSource(props.url);
231
+ var poster = useMediaSource(props.posterUrl);
232
+ if (!url) return null;
233
+ return (0, _jsxRuntime.jsx)(_Media.VideoView, {
234
+ palette: palette,
235
+ posterUrl: poster,
236
+ url: url
237
+ });
238
+ };
239
+ var AudioPlayer = ({
240
+ props
241
+ }) => {
242
+ var palette = usePalette();
243
+ var url = useMediaSource(props.url);
244
+ if (!url) return null;
245
+ return (0, _jsxRuntime.jsx)(_Media.AudioView, {
246
+ description: textOf(props.description) || undefined,
247
+ palette: palette,
248
+ url: url
249
+ });
250
+ };
251
+ var JUSTIFY = {
252
+ center: 'center',
253
+ end: 'flex-end',
254
+ spaceAround: 'space-around',
255
+ spaceBetween: 'space-between',
256
+ spaceEvenly: 'space-evenly',
257
+ start: 'flex-start',
258
+ stretch: 'flex-start'
259
+ };
260
+ var ALIGN = {
261
+ center: 'center',
262
+ end: 'flex-end',
263
+ start: 'flex-start',
264
+ stretch: 'stretch'
265
+ };
266
+ var Flex = ({
267
+ direction,
268
+ props
269
+ }) => {
270
+ var _ALIGN$textOf, _JUSTIFY$textOf;
271
+ return (0, _jsxRuntime.jsx)(_A2UISurface.A2UIAxisContext.Provider, {
272
+ value: direction,
273
+ children: (0, _jsxRuntime.jsx)(_reactNative.View, {
274
+ style: [styles.flex, {
275
+ alignItems: (_ALIGN$textOf = ALIGN[textOf(props.align)]) != null ? _ALIGN$textOf : direction === 'row' ? 'center' : 'stretch',
276
+ flexDirection: direction,
277
+ justifyContent: (_JUSTIFY$textOf = JUSTIFY[textOf(props.justify)]) != null ? _JUSTIFY$textOf : 'flex-start'
278
+ }],
279
+ children: (0, _jsxRuntime.jsx)(_A2UISurface.A2UIChildren, {
280
+ nodes: props.children
281
+ })
282
+ })
283
+ });
284
+ };
285
+ var Row = props => (0, _jsxRuntime.jsx)(Flex, {
286
+ ...props,
287
+ direction: "row"
288
+ });
289
+ var Column = props => (0, _jsxRuntime.jsx)(Flex, {
290
+ ...props,
291
+ direction: "column"
292
+ });
293
+ var List = ({
294
+ props
295
+ }) => {
296
+ var _ALIGN$textOf2;
297
+ var horizontal = textOf(props.direction) === 'horizontal';
298
+ var align = (_ALIGN$textOf2 = ALIGN[textOf(props.align)]) != null ? _ALIGN$textOf2 : 'stretch';
299
+ if (!horizontal) {
300
+ return (0, _jsxRuntime.jsx)(_reactNative.View, {
301
+ style: [styles.flex, {
302
+ alignItems: align
303
+ }],
304
+ children: (0, _jsxRuntime.jsx)(_A2UISurface.A2UIChildren, {
305
+ nodes: props.children
306
+ })
307
+ });
308
+ }
309
+ return (0, _jsxRuntime.jsx)(_A2UISurface.A2UIAxisContext.Provider, {
310
+ value: "row",
311
+ children: (0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
312
+ contentContainerStyle: [styles.flex, styles.row, {
313
+ alignItems: align
314
+ }],
315
+ horizontal: true,
316
+ showsHorizontalScrollIndicator: false,
317
+ children: (0, _jsxRuntime.jsx)(_A2UISurface.A2UIChildren, {
318
+ nodes: props.children
319
+ })
320
+ })
321
+ });
322
+ };
323
+ var Card = ({
324
+ props
325
+ }) => {
326
+ var theme = useA2UITheme();
327
+ var palette = usePalette();
328
+ return (0, _jsxRuntime.jsx)(_reactNative.View, {
329
+ style: [styles.card, {
330
+ backgroundColor: palette.subtleSurface
331
+ }, theme.card],
332
+ children: (0, _jsxRuntime.jsx)(_A2UISurface.A2UIChild, {
333
+ node: props.child
334
+ })
335
+ });
336
+ };
337
+ var Tabs = ({
338
+ props
339
+ }) => {
340
+ var theme = useA2UITheme();
341
+ var palette = usePalette();
342
+ var tabs = Array.isArray(props.tabs) ? props.tabs.filter(_AIUIHelpers.isRecord) : [];
343
+ var _useReplyState = (0, _useReplyState7.useReplyState)(0),
344
+ _useReplyState2 = (0, _slicedToArray2.default)(_useReplyState, 2),
345
+ selected = _useReplyState2[0],
346
+ setSelected = _useReplyState2[1];
347
+ var current = tabs[Math.min(selected, tabs.length - 1)];
348
+ return (0, _jsxRuntime.jsxs)(_reactNative.View, {
349
+ style: styles.flex,
350
+ children: [(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
351
+ accessibilityRole: "tablist",
352
+ contentContainerStyle: styles.tabs,
353
+ horizontal: true,
354
+ showsHorizontalScrollIndicator: false,
355
+ children: tabs.map((tab, index) => {
356
+ var isSelected = tab === current;
357
+ return (0, _jsxRuntime.jsx)(_reactNative.Pressable, {
358
+ accessibilityRole: "tab",
359
+ accessibilityState: {
360
+ selected: isSelected
361
+ },
362
+ onPress: () => setSelected(index),
363
+ style: [styles.capsule, {
364
+ backgroundColor: isSelected ? tint(palette.accent, 0.15) : 'transparent'
365
+ }, theme.tab],
366
+ children: (0, _jsxRuntime.jsx)(_reactNative.Text, {
367
+ style: [styles.capsuleText, {
368
+ color: isSelected ? palette.accent : palette.secondaryText
369
+ }, theme.tabText],
370
+ children: textOf(tab.title)
371
+ })
372
+ }, index);
373
+ })
374
+ }), current ? (0, _jsxRuntime.jsx)(_A2UISurface.A2UIChild, {
375
+ node: current.child
376
+ }) : null]
377
+ });
378
+ };
379
+ var Modal = ({
380
+ props
381
+ }) => {
382
+ var _useAITranslation = (0, _contexts.useAITranslation)(),
383
+ t = _useAITranslation.t;
384
+ var palette = usePalette();
385
+ var _useReplyState3 = (0, _useReplyState7.useReplyState)(false),
386
+ _useReplyState4 = (0, _slicedToArray2.default)(_useReplyState3, 2),
387
+ open = _useReplyState4[0],
388
+ setOpen = _useReplyState4[1];
389
+ return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
390
+ children: [(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
391
+ accessibilityRole: "button",
392
+ onPress: () => setOpen(true),
393
+ children: (0, _jsxRuntime.jsx)(_reactNative.View, {
394
+ pointerEvents: "none",
395
+ children: (0, _jsxRuntime.jsx)(_A2UISurface.A2UIChild, {
396
+ node: props.trigger
397
+ })
398
+ })
399
+ }), (0, _jsxRuntime.jsx)(_reactNative.Modal, {
400
+ animationType: "slide",
401
+ onRequestClose: () => setOpen(false),
402
+ presentationStyle: "pageSheet",
403
+ visible: open,
404
+ children: (0, _jsxRuntime.jsxs)(_reactNative.View, {
405
+ style: [styles.sheet, {
406
+ backgroundColor: palette.surface
407
+ }],
408
+ children: [(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
409
+ accessibilityRole: "button",
410
+ hitSlop: 12,
411
+ onPress: () => setOpen(false),
412
+ style: styles.sheetClose,
413
+ children: (0, _jsxRuntime.jsx)(_reactNative.Text, {
414
+ style: [styles.buttonText, {
415
+ color: palette.accent
416
+ }],
417
+ children: t('Close')
418
+ })
419
+ }), (0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
420
+ contentContainerStyle: styles.flex,
421
+ children: (0, _jsxRuntime.jsx)(_A2UISurface.A2UIChild, {
422
+ node: props.content
423
+ })
424
+ })]
425
+ })
426
+ })]
427
+ });
428
+ };
429
+ var Divider = ({
430
+ props
431
+ }) => {
432
+ var theme = useA2UITheme();
433
+ var palette = usePalette();
434
+ var vertical = textOf(props.axis) === 'vertical';
435
+ return (0, _jsxRuntime.jsx)(_reactNative.View, {
436
+ style: [vertical ? styles.dividerVertical : styles.divider, {
437
+ backgroundColor: palette.border
438
+ }, theme.divider]
439
+ });
440
+ };
441
+ var isBorderlessButton = (context, id) => {
442
+ if (typeof id !== 'string') return false;
443
+ var component = context.surfaceComponents.get(id);
444
+ return (component == null ? void 0 : component.type) === 'Button' && component.properties.variant === 'borderless';
445
+ };
446
+ var followUpPlaceOf = context => {
447
+ if (!context) return undefined;
448
+ var id = context.componentModel.id;
449
+ for (var _iterator = _createForOfIteratorHelperLoose(context.surfaceComponents.values), _step; !(_step = _iterator()).done;) {
450
+ var parent = _step.value;
451
+ var children = parent.properties.children;
452
+ if (parent.type !== 'Column' || !Array.isArray(children)) continue;
453
+ var index = children.indexOf(id);
454
+ if (index < 0) continue;
455
+ return index > 0 && isBorderlessButton(context, children[index - 1]) ? 'after' : 'first';
456
+ }
457
+ return undefined;
458
+ };
459
+ var Button = ({
460
+ node,
461
+ props
462
+ }) => {
463
+ var theme = useA2UITheme();
464
+ var palette = usePalette();
465
+ var variant = textOf(props.variant);
466
+ var errors = errorsOf(props);
467
+ var disabled = props.isValid === false;
468
+ var action = typeof props.action === 'function' ? props.action : undefined;
469
+ var look = variant === 'primary' ? {
470
+ container: {
471
+ backgroundColor: palette.accent
472
+ },
473
+ text: {
474
+ color: palette.onAccent
475
+ }
476
+ } : variant === 'borderless' ? {
477
+ container: styles.borderless,
478
+ text: {
479
+ color: palette.accent
480
+ }
481
+ } : {
482
+ container: {
483
+ backgroundColor: palette.subtleSurface
484
+ },
485
+ text: {
486
+ color: palette.text
487
+ }
488
+ };
489
+ var label = (0, _react.useMemo)(() => ({
490
+ ...styles.buttonText,
491
+ ...look.text,
492
+ ...theme.buttonText
493
+ }), [look.text, theme.buttonText]);
494
+ var followUp = variant === 'borderless' ? followUpPlaceOf(node.context) : undefined;
495
+ return (0, _jsxRuntime.jsxs)(_reactNative.View, {
496
+ style: [styles.field, followUp && styles.followUp, followUp === 'after' && [styles.followUpAfter, {
497
+ borderTopColor: palette.border
498
+ }]],
499
+ children: [(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
500
+ accessibilityRole: "button",
501
+ accessibilityState: {
502
+ disabled
503
+ },
504
+ disabled: disabled || !action,
505
+ onPress: () => void (action == null ? void 0 : action()),
506
+ style: ({
507
+ pressed
508
+ }) => [styles.button, look.container, followUp && styles.followUpButton, theme.button, {
509
+ opacity: disabled ? 0.5 : pressed ? 0.7 : 1
510
+ }],
511
+ children: (0, _jsxRuntime.jsx)(A2UILabelContext.Provider, {
512
+ value: label,
513
+ children: (0, _jsxRuntime.jsx)(_A2UISurface.A2UIChild, {
514
+ node: props.child
515
+ })
516
+ })
517
+ }), (0, _jsxRuntime.jsx)(Problems, {
518
+ errors: errors
519
+ })]
520
+ });
521
+ };
522
+ var FieldLabel = ({
523
+ text
524
+ }) => {
525
+ var theme = useA2UITheme();
526
+ var palette = usePalette();
527
+ return text ? (0, _jsxRuntime.jsx)(_reactNative.Text, {
528
+ style: [styles.label, {
529
+ color: palette.secondaryText
530
+ }, theme.label],
531
+ children: text
532
+ }) : null;
533
+ };
534
+ var TextField = ({
535
+ props
536
+ }) => {
537
+ var theme = useA2UITheme();
538
+ var palette = usePalette();
539
+ var variant = textOf(props.variant);
540
+ var setValue = setterOf(props, 'value');
541
+ var errors = errorsOf(props);
542
+ var label = textOf(props.label);
543
+ return (0, _jsxRuntime.jsxs)(_reactNative.View, {
544
+ style: styles.field,
545
+ children: [(0, _jsxRuntime.jsx)(FieldLabel, {
546
+ text: label
547
+ }), (0, _jsxRuntime.jsx)(_reactNative.TextInput, {
548
+ accessibilityLabel: label || undefined,
549
+ editable: !!setValue,
550
+ keyboardType: variant === 'number' ? 'decimal-pad' : 'default',
551
+ multiline: variant === 'longText',
552
+ onChangeText: text => setValue == null ? void 0 : setValue(text),
553
+ placeholder: textOf(props.placeholder) || undefined,
554
+ placeholderTextColor: palette.secondaryText,
555
+ secureTextEntry: variant === 'obscured',
556
+ style: [styles.input, variant === 'longText' && styles.longText, {
557
+ backgroundColor: palette.surface,
558
+ borderColor: errors.length ? palette.error : palette.border,
559
+ color: palette.text
560
+ }, theme.input],
561
+ value: textOf(props.value)
562
+ }), (0, _jsxRuntime.jsx)(Problems, {
563
+ errors: errors
564
+ })]
565
+ });
566
+ };
567
+ var Mark = ({
568
+ checked,
569
+ round
570
+ }) => {
571
+ var palette = usePalette();
572
+ return (0, _jsxRuntime.jsx)(_reactNative.View, {
573
+ style: [styles.mark, round && styles.markRound, {
574
+ backgroundColor: checked ? palette.accent : palette.surface,
575
+ borderColor: checked ? palette.accent : palette.border
576
+ }],
577
+ children: checked ? (0, _jsxRuntime.jsx)(_reactNative.View, {
578
+ style: [styles.markDot, {
579
+ backgroundColor: palette.onAccent
580
+ }]
581
+ }) : null
582
+ });
583
+ };
584
+ var CheckBox = ({
585
+ props
586
+ }) => {
587
+ var palette = usePalette();
588
+ var checked = props.value === true;
589
+ var setValue = setterOf(props, 'value');
590
+ var errors = errorsOf(props);
591
+ return (0, _jsxRuntime.jsxs)(_reactNative.View, {
592
+ style: styles.field,
593
+ children: [(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
594
+ accessibilityRole: "checkbox",
595
+ accessibilityState: {
596
+ checked,
597
+ disabled: !setValue
598
+ },
599
+ disabled: !setValue,
600
+ onPress: () => setValue == null ? void 0 : setValue(!checked),
601
+ style: styles.choice,
602
+ children: [(0, _jsxRuntime.jsx)(Mark, {
603
+ checked: checked
604
+ }), (0, _jsxRuntime.jsx)(_reactNative.Text, {
605
+ style: [styles.choiceText, {
606
+ color: palette.text
607
+ }],
608
+ children: textOf(props.label)
609
+ })]
610
+ }), (0, _jsxRuntime.jsx)(Problems, {
611
+ errors: errors
612
+ })]
613
+ });
614
+ };
615
+ var ChoicePicker = ({
616
+ props
617
+ }) => {
618
+ var theme = useA2UITheme();
619
+ var _useAITranslation2 = (0, _contexts.useAITranslation)(),
620
+ t = _useAITranslation2.t;
621
+ var palette = usePalette();
622
+ var _useReplyState5 = (0, _useReplyState7.useReplyState)(''),
623
+ _useReplyState6 = (0, _slicedToArray2.default)(_useReplyState5, 2),
624
+ filter = _useReplyState6[0],
625
+ setFilter = _useReplyState6[1];
626
+ var single = textOf(props.variant) !== 'multipleSelection';
627
+ var chips = textOf(props.displayStyle) === 'chips';
628
+ var chosen = stringsOf(props.value);
629
+ var setValue = setterOf(props, 'value');
630
+ var options = (Array.isArray(props.options) ? props.options.filter(_AIUIHelpers.isRecord) : []).map(option => ({
631
+ label: textOf(option.label),
632
+ value: textOf(option.value)
633
+ })).filter(({
634
+ label
635
+ }) => !filter || label.toLowerCase().includes(filter.toLowerCase()));
636
+ var toggle = value => {
637
+ if (!setValue) return;
638
+ if (single) setValue(chosen.includes(value) ? [] : [value]);else setValue(chosen.includes(value) ? chosen.filter(item => item !== value) : [...chosen, value]);
639
+ };
640
+ return (0, _jsxRuntime.jsxs)(_reactNative.View, {
641
+ style: styles.field,
642
+ children: [(0, _jsxRuntime.jsx)(FieldLabel, {
643
+ text: textOf(props.label)
644
+ }), props.filterable === true ? (0, _jsxRuntime.jsx)(_reactNative.TextInput, {
645
+ onChangeText: setFilter,
646
+ placeholder: t('Search'),
647
+ placeholderTextColor: palette.secondaryText,
648
+ style: [styles.input, {
649
+ backgroundColor: palette.surface,
650
+ borderColor: palette.border,
651
+ color: palette.text
652
+ }, theme.input],
653
+ value: filter
654
+ }) : null, (0, _jsxRuntime.jsx)(_reactNative.View, {
655
+ style: chips ? styles.chips : styles.flex,
656
+ children: options.map(({
657
+ label,
658
+ value
659
+ }) => {
660
+ var isChosen = chosen.includes(value);
661
+ return chips ? (0, _jsxRuntime.jsx)(_reactNative.Pressable, {
662
+ accessibilityRole: single ? 'radio' : 'checkbox',
663
+ accessibilityState: {
664
+ checked: isChosen
665
+ },
666
+ onPress: () => toggle(value),
667
+ style: [styles.capsule, styles.chip, {
668
+ backgroundColor: isChosen ? tint(palette.accent, 0.18) : palette.surface,
669
+ borderColor: isChosen ? palette.accent : palette.border
670
+ }, theme.chip],
671
+ children: (0, _jsxRuntime.jsx)(_reactNative.Text, {
672
+ style: [styles.capsuleText, {
673
+ color: isChosen ? palette.accent : palette.text
674
+ }, theme.chipText],
675
+ children: label
676
+ })
677
+ }, value) : (0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
678
+ accessibilityRole: single ? 'radio' : 'checkbox',
679
+ accessibilityState: {
680
+ checked: isChosen
681
+ },
682
+ onPress: () => toggle(value),
683
+ style: styles.choice,
684
+ children: [(0, _jsxRuntime.jsx)(Mark, {
685
+ checked: isChosen,
686
+ round: single
687
+ }), (0, _jsxRuntime.jsx)(_reactNative.Text, {
688
+ style: [styles.choiceText, {
689
+ color: palette.text
690
+ }],
691
+ children: label
692
+ })]
693
+ }, value);
694
+ })
695
+ }), (0, _jsxRuntime.jsx)(Problems, {
696
+ errors: errorsOf(props)
697
+ })]
698
+ });
699
+ };
700
+ var Slider = ({
701
+ props
702
+ }) => {
703
+ var palette = usePalette();
704
+ var min = typeof props.min === 'number' ? props.min : 0;
705
+ var max = typeof props.max === 'number' && props.max > min ? props.max : min + 100;
706
+ var steps = typeof props.steps === 'number' && props.steps > 0 ? props.steps : undefined;
707
+ var value = Math.min(Math.max(typeof props.value === 'number' ? props.value : min, min), max);
708
+ var setValue = setterOf(props, 'value');
709
+ var width = (0, _react.useRef)(0);
710
+ var set = (0, _react.useRef)(setValue);
711
+ set.current = setValue;
712
+ var valueAt = x => {
713
+ var share = width.current > 0 ? Math.min(Math.max(x / width.current, 0), 1) : 0;
714
+ var raw = min + share * (max - min);
715
+ if (!steps) return raw;
716
+ var step = (max - min) / steps;
717
+ return min + Math.round((raw - min) / step) * step;
718
+ };
719
+ var valueAtRef = (0, _react.useRef)(valueAt);
720
+ valueAtRef.current = valueAt;
721
+ var responder = (0, _react.useMemo)(() => _reactNative.PanResponder.create({
722
+ onMoveShouldSetPanResponder: () => true,
723
+ onPanResponderGrant: ({
724
+ nativeEvent
725
+ }) => set.current == null ? void 0 : set.current(valueAtRef.current(nativeEvent.locationX)),
726
+ onPanResponderMove: ({
727
+ nativeEvent
728
+ }) => set.current == null ? void 0 : set.current(valueAtRef.current(nativeEvent.locationX)),
729
+ onPanResponderTerminationRequest: () => false,
730
+ onStartShouldSetPanResponder: () => true
731
+ }), []);
732
+ var share = `${(value - min) / (max - min) * 100}%`;
733
+ var step = steps ? (max - min) / steps : (max - min) / 10;
734
+ return (0, _jsxRuntime.jsxs)(_reactNative.View, {
735
+ style: styles.field,
736
+ children: [(0, _jsxRuntime.jsx)(FieldLabel, {
737
+ text: textOf(props.label)
738
+ }), (0, _jsxRuntime.jsxs)(_reactNative.View, {
739
+ accessibilityActions: [{
740
+ name: 'increment'
741
+ }, {
742
+ name: 'decrement'
743
+ }],
744
+ accessibilityRole: "adjustable",
745
+ accessibilityValue: {
746
+ max,
747
+ min,
748
+ now: value
749
+ },
750
+ onAccessibilityAction: ({
751
+ nativeEvent
752
+ }) => setValue == null ? void 0 : setValue(Math.min(Math.max(value + (nativeEvent.actionName === 'increment' ? step : -step), min), max)),
753
+ onLayout: ({
754
+ nativeEvent
755
+ }) => {
756
+ width.current = nativeEvent.layout.width;
757
+ },
758
+ style: styles.slider,
759
+ ...responder.panHandlers,
760
+ children: [(0, _jsxRuntime.jsx)(_reactNative.View, {
761
+ style: [styles.track, {
762
+ backgroundColor: palette.border
763
+ }],
764
+ children: (0, _jsxRuntime.jsx)(_reactNative.View, {
765
+ style: [styles.trackFill, {
766
+ backgroundColor: palette.accent,
767
+ width: share
768
+ }]
769
+ })
770
+ }), (0, _jsxRuntime.jsx)(_reactNative.View, {
771
+ pointerEvents: "none",
772
+ style: [styles.thumb, {
773
+ backgroundColor: palette.surface,
774
+ borderColor: palette.accent,
775
+ left: share
776
+ }]
777
+ })]
778
+ })]
779
+ });
780
+ };
781
+ var DateTimeInput = ({
782
+ props
783
+ }) => {
784
+ var theme = useA2UITheme();
785
+ var palette = usePalette();
786
+ var errors = errorsOf(props);
787
+ var label = textOf(props.label);
788
+ var enableTime = props.enableTime === true;
789
+ var enableDate = props.enableDate === true || !enableTime;
790
+ return (0, _jsxRuntime.jsxs)(_reactNative.View, {
791
+ style: styles.field,
792
+ children: [(0, _jsxRuntime.jsx)(FieldLabel, {
793
+ text: label
794
+ }), (0, _jsxRuntime.jsx)(_DateTimeInput.DateTimeInputView, {
795
+ enableDate: enableDate,
796
+ enableTime: enableTime,
797
+ hasError: errors.length > 0,
798
+ inputStyle: theme.input,
799
+ label: label || undefined,
800
+ max: typeof props.max === 'string' ? props.max : undefined,
801
+ min: typeof props.min === 'string' ? props.min : undefined,
802
+ onChange: setterOf(props, 'value'),
803
+ palette: palette,
804
+ value: textOf(props.value)
805
+ }), (0, _jsxRuntime.jsx)(Problems, {
806
+ errors: errors
807
+ })]
808
+ });
809
+ };
810
+ var A2UI_BASIC_COMPONENTS = exports.A2UI_BASIC_COMPONENTS = {
811
+ AudioPlayer,
812
+ Button,
813
+ Card,
814
+ CheckBox,
815
+ ChoicePicker,
816
+ Column,
817
+ DateTimeInput,
818
+ Divider,
819
+ Icon,
820
+ Image: ImageComponent,
821
+ List,
822
+ Modal,
823
+ Row,
824
+ Slider,
825
+ Tabs,
826
+ Text,
827
+ TextField,
828
+ Video
829
+ };
830
+ var styles = _reactNative.StyleSheet.create({
831
+ borderless: {
832
+ paddingHorizontal: 0
833
+ },
834
+ followUp: {
835
+ alignSelf: 'stretch'
836
+ },
837
+ followUpAfter: {
838
+ borderTopWidth: _reactNative.StyleSheet.hairlineWidth
839
+ },
840
+ followUpButton: {
841
+ alignItems: 'flex-start',
842
+ alignSelf: 'stretch'
843
+ },
844
+ button: {
845
+ alignItems: 'center',
846
+ alignSelf: 'flex-start',
847
+ borderRadius: 10,
848
+ paddingHorizontal: _tokens.primitives.spacingMd,
849
+ paddingVertical: 10
850
+ },
851
+ buttonText: {
852
+ fontSize: _tokens.primitives.typographyFontSizeMd,
853
+ fontWeight: '600'
854
+ },
855
+ capsule: {
856
+ borderRadius: 9999,
857
+ paddingHorizontal: _tokens.primitives.spacingSm,
858
+ paddingVertical: _tokens.primitives.spacingXs
859
+ },
860
+ capsuleText: {
861
+ fontSize: _tokens.primitives.typographyFontSizeSm,
862
+ fontWeight: '600'
863
+ },
864
+ caption: {
865
+ fontSize: _tokens.primitives.typographyFontSizeXs
866
+ },
867
+ card: {
868
+ borderRadius: _tokens.primitives.radiusLg,
869
+ padding: _tokens.primitives.spacingSm
870
+ },
871
+ chip: {
872
+ borderWidth: 1
873
+ },
874
+ chips: {
875
+ flexDirection: 'row',
876
+ flexWrap: 'wrap',
877
+ gap: _tokens.primitives.spacingXs
878
+ },
879
+ choice: {
880
+ alignItems: 'center',
881
+ flexDirection: 'row',
882
+ gap: _tokens.primitives.spacingXs,
883
+ paddingVertical: 6
884
+ },
885
+ choiceText: {
886
+ flexShrink: 1,
887
+ fontSize: _tokens.primitives.typographyFontSizeMd
888
+ },
889
+ divider: {
890
+ alignSelf: 'stretch',
891
+ height: _reactNative.StyleSheet.hairlineWidth
892
+ },
893
+ dividerVertical: {
894
+ alignSelf: 'stretch',
895
+ width: _reactNative.StyleSheet.hairlineWidth
896
+ },
897
+ field: {
898
+ gap: _tokens.primitives.spacingXxs
899
+ },
900
+ flex: {
901
+ gap: _tokens.primitives.spacingXs
902
+ },
903
+ image: {
904
+ borderRadius: _tokens.primitives.radiusMd
905
+ },
906
+ input: {
907
+ borderRadius: _tokens.primitives.radiusMd,
908
+ borderWidth: 1,
909
+ fontSize: _tokens.primitives.typographyFontSizeMd,
910
+ paddingHorizontal: 10,
911
+ paddingVertical: 10
912
+ },
913
+ label: {
914
+ fontSize: _tokens.primitives.typographyFontSizeSm
915
+ },
916
+ longText: {
917
+ minHeight: 80,
918
+ textAlignVertical: 'top'
919
+ },
920
+ mark: {
921
+ alignItems: 'center',
922
+ borderRadius: 4,
923
+ borderWidth: 1.5,
924
+ height: 20,
925
+ justifyContent: 'center',
926
+ width: 20
927
+ },
928
+ markDot: {
929
+ borderRadius: 4,
930
+ height: 8,
931
+ width: 8
932
+ },
933
+ markRound: {
934
+ borderRadius: 10
935
+ },
936
+ problems: {
937
+ fontSize: _tokens.primitives.typographyFontSizeXs
938
+ },
939
+ row: {
940
+ flexDirection: 'row'
941
+ },
942
+ sheet: {
943
+ flex: 1,
944
+ padding: _tokens.primitives.spacingMd
945
+ },
946
+ sheetClose: {
947
+ alignSelf: 'flex-end',
948
+ paddingVertical: _tokens.primitives.spacingXs
949
+ },
950
+ slider: {
951
+ height: 32,
952
+ justifyContent: 'center'
953
+ },
954
+ tabs: {
955
+ gap: _tokens.primitives.spacingXs,
956
+ paddingBottom: _tokens.primitives.spacingXs
957
+ },
958
+ thumb: {
959
+ borderRadius: 11,
960
+ borderWidth: 2,
961
+ height: 22,
962
+ marginLeft: -11,
963
+ position: 'absolute',
964
+ width: 22
965
+ },
966
+ track: {
967
+ borderRadius: 2,
968
+ height: 4,
969
+ overflow: 'hidden'
970
+ },
971
+ trackFill: {
972
+ height: 4
973
+ }
974
+ });
975
+ //# sourceMappingURL=basicComponents.js.map