stream-chat-react-native-core 9.12.1-beta.1 → 9.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (922) hide show
  1. package/a2ui/package.json +6 -0
  2. package/lib/commonjs/a11y/a11yUtils.js.map +1 -1
  3. package/lib/commonjs/a11y/hooks/useResolvedModalAccessibilityProps.js.map +1 -1
  4. package/lib/commonjs/a2ui/A2UIContexts.js +8 -0
  5. package/lib/commonjs/a2ui/A2UIContexts.js.map +1 -0
  6. package/lib/commonjs/a2ui/A2UIInstructions.js +49 -0
  7. package/lib/commonjs/a2ui/A2UIInstructions.js.map +1 -0
  8. package/lib/commonjs/a2ui/A2UIPlaceholder.js +37 -0
  9. package/lib/commonjs/a2ui/A2UIPlaceholder.js.map +1 -0
  10. package/lib/commonjs/a2ui/A2UIRenderer.js +363 -0
  11. package/lib/commonjs/a2ui/A2UIRenderer.js.map +1 -0
  12. package/lib/commonjs/a2ui/A2UIStream.js +91 -0
  13. package/lib/commonjs/a2ui/A2UIStream.js.map +1 -0
  14. package/lib/commonjs/a2ui/A2UISurface.js +212 -0
  15. package/lib/commonjs/a2ui/A2UISurface.js.map +1 -0
  16. package/lib/commonjs/a2ui/basicCatalog.json +1206 -0
  17. package/lib/commonjs/a2ui/basicFunctions.js +398 -0
  18. package/lib/commonjs/a2ui/basicFunctions.js.map +1 -0
  19. package/lib/commonjs/a2ui/catalogDocument.js +80 -0
  20. package/lib/commonjs/a2ui/catalogDocument.js.map +1 -0
  21. package/lib/commonjs/a2ui/catalogs.js +105 -0
  22. package/lib/commonjs/a2ui/catalogs.js.map +1 -0
  23. package/lib/commonjs/a2ui/components/DateTimeInput.js +445 -0
  24. package/lib/commonjs/a2ui/components/DateTimeInput.js.map +1 -0
  25. package/lib/commonjs/a2ui/components/Media.js +316 -0
  26. package/lib/commonjs/a2ui/components/Media.js.map +1 -0
  27. package/lib/commonjs/a2ui/components/basicComponents.js +975 -0
  28. package/lib/commonjs/a2ui/components/basicComponents.js.map +1 -0
  29. package/lib/commonjs/a2ui/components/iconPaths.js +66 -0
  30. package/lib/commonjs/a2ui/components/iconPaths.js.map +1 -0
  31. package/lib/commonjs/a2ui/components/types.js +4 -0
  32. package/lib/commonjs/a2ui/components/types.js.map +1 -0
  33. package/lib/commonjs/a2ui/index.js +70 -0
  34. package/lib/commonjs/a2ui/index.js.map +1 -0
  35. package/lib/commonjs/a2ui/instructions.js +268 -0
  36. package/lib/commonjs/a2ui/instructions.js.map +1 -0
  37. package/lib/commonjs/a2ui/secrets.js +169 -0
  38. package/lib/commonjs/a2ui/secrets.js.map +1 -0
  39. package/lib/commonjs/a2ui/useReplyState.js +35 -0
  40. package/lib/commonjs/a2ui/useReplyState.js.map +1 -0
  41. package/lib/commonjs/ai-components/AITypingIndicatorView.js +8 -18
  42. package/lib/commonjs/ai-components/AITypingIndicatorView.js.map +1 -1
  43. package/lib/commonjs/ai-components/README.md +55 -3
  44. package/lib/commonjs/ai-components/StreamingMessageView.js +26 -0
  45. package/lib/commonjs/ai-components/StreamingMessageView.js.map +1 -1
  46. package/lib/commonjs/ai-components/charts/components/PieLegend.js +2 -1
  47. package/lib/commonjs/ai-components/charts/components/PieLegend.js.map +1 -1
  48. package/lib/commonjs/ai-components/charts/components/VictoryChart.js +7 -2
  49. package/lib/commonjs/ai-components/charts/components/VictoryChart.js.map +1 -1
  50. package/lib/commonjs/ai-components/charts/utils/format-time-label.js +15 -0
  51. package/lib/commonjs/ai-components/charts/utils/format-time-label.js.map +1 -0
  52. package/lib/commonjs/ai-components/charts/vega-lite/schema.js +17 -2
  53. package/lib/commonjs/ai-components/charts/vega-lite/schema.js.map +1 -1
  54. package/lib/commonjs/ai-components/contexts/composer-context.js +13 -6
  55. package/lib/commonjs/ai-components/contexts/composer-context.js.map +1 -1
  56. package/lib/commonjs/ai-components/contexts/index.js +11 -0
  57. package/lib/commonjs/ai-components/contexts/index.js.map +1 -1
  58. package/lib/commonjs/ai-components/contexts/theme-context.js +33 -2
  59. package/lib/commonjs/ai-components/contexts/theme-context.js.map +1 -1
  60. package/lib/commonjs/ai-components/contexts/translation-context.js +29 -0
  61. package/lib/commonjs/ai-components/contexts/translation-context.js.map +1 -0
  62. package/lib/commonjs/ai-components/conversation/AIConversation.js +366 -0
  63. package/lib/commonjs/ai-components/conversation/AIConversation.js.map +1 -0
  64. package/lib/commonjs/ai-components/conversation/controller/AIAgentError.js +13 -0
  65. package/lib/commonjs/ai-components/conversation/controller/AIAgentError.js.map +1 -0
  66. package/lib/commonjs/ai-components/conversation/controller/AIConversationController.js +425 -0
  67. package/lib/commonjs/ai-components/conversation/controller/AIConversationController.js.map +1 -0
  68. package/lib/commonjs/ai-components/conversation/controller/AIConversationExchange.js +89 -0
  69. package/lib/commonjs/ai-components/conversation/controller/AIConversationExchange.js.map +1 -0
  70. package/lib/commonjs/ai-components/conversation/controller/index.js +48 -0
  71. package/lib/commonjs/ai-components/conversation/controller/index.js.map +1 -0
  72. package/lib/commonjs/ai-components/conversation/controller/offers.js +29 -0
  73. package/lib/commonjs/ai-components/conversation/controller/offers.js.map +1 -0
  74. package/lib/commonjs/ai-components/conversation/controller/types.js +13 -0
  75. package/lib/commonjs/ai-components/conversation/controller/types.js.map +1 -0
  76. package/lib/commonjs/ai-components/conversation/controller/useAIConversationState.js +8 -0
  77. package/lib/commonjs/ai-components/conversation/controller/useAIConversationState.js.map +1 -0
  78. package/lib/commonjs/ai-components/conversation/entries.js +98 -0
  79. package/lib/commonjs/ai-components/conversation/entries.js.map +1 -0
  80. package/lib/commonjs/ai-components/conversation/fromStreamMessage.js +66 -0
  81. package/lib/commonjs/ai-components/conversation/fromStreamMessage.js.map +1 -0
  82. package/lib/commonjs/ai-components/conversation/index.js +48 -0
  83. package/lib/commonjs/ai-components/conversation/index.js.map +1 -0
  84. package/lib/commonjs/ai-components/conversation/list/AIChatList.js +224 -0
  85. package/lib/commonjs/ai-components/conversation/list/AIChatList.js.map +1 -0
  86. package/lib/commonjs/ai-components/conversation/list/useChatListController.js +78 -0
  87. package/lib/commonjs/ai-components/conversation/list/useChatListController.js.map +1 -0
  88. package/lib/commonjs/ai-components/conversation/list/useEndInView.js +51 -0
  89. package/lib/commonjs/ai-components/conversation/list/useEndInView.js.map +1 -0
  90. package/lib/commonjs/ai-components/conversation/list/useKeyboardOverlap.js +54 -0
  91. package/lib/commonjs/ai-components/conversation/list/useKeyboardOverlap.js.map +1 -0
  92. package/lib/commonjs/ai-components/conversation/list/useLoadOlder.js +73 -0
  93. package/lib/commonjs/ai-components/conversation/list/useLoadOlder.js.map +1 -0
  94. package/lib/commonjs/ai-components/conversation/list/usePinnedAnchor.js +84 -0
  95. package/lib/commonjs/ai-components/conversation/list/usePinnedAnchor.js.map +1 -0
  96. package/lib/commonjs/ai-components/conversation/types.js +4 -0
  97. package/lib/commonjs/ai-components/conversation/types.js.map +1 -0
  98. package/lib/commonjs/ai-components/conversation/useConversationRows.js +117 -0
  99. package/lib/commonjs/ai-components/conversation/useConversationRows.js.map +1 -0
  100. package/lib/commonjs/ai-components/generative-ui/AIUIAction.js +30 -0
  101. package/lib/commonjs/ai-components/generative-ui/AIUIAction.js.map +1 -0
  102. package/lib/commonjs/ai-components/generative-ui/AIUIArguments.js +128 -0
  103. package/lib/commonjs/ai-components/generative-ui/AIUIArguments.js.map +1 -0
  104. package/lib/commonjs/ai-components/generative-ui/AIUIComponent.js +50 -0
  105. package/lib/commonjs/ai-components/generative-ui/AIUIComponent.js.map +1 -0
  106. package/lib/commonjs/ai-components/generative-ui/AIUIComponentDefinition.js +134 -0
  107. package/lib/commonjs/ai-components/generative-ui/AIUIComponentDefinition.js.map +1 -0
  108. package/lib/commonjs/ai-components/generative-ui/AIUIDocument.js +32 -0
  109. package/lib/commonjs/ai-components/generative-ui/AIUIDocument.js.map +1 -0
  110. package/lib/commonjs/ai-components/generative-ui/AIUIEntrance.js +193 -0
  111. package/lib/commonjs/ai-components/generative-ui/AIUIEntrance.js.map +1 -0
  112. package/lib/commonjs/ai-components/generative-ui/AIUIErrorBoundary.js +30 -0
  113. package/lib/commonjs/ai-components/generative-ui/AIUIErrorBoundary.js.map +1 -0
  114. package/lib/commonjs/ai-components/generative-ui/AIUIHelpers.js +54 -0
  115. package/lib/commonjs/ai-components/generative-ui/AIUIHelpers.js.map +1 -0
  116. package/lib/commonjs/ai-components/generative-ui/AIUIHost.js +259 -0
  117. package/lib/commonjs/ai-components/generative-ui/AIUIHost.js.map +1 -0
  118. package/lib/commonjs/ai-components/generative-ui/AIUIMedia.js +24 -0
  119. package/lib/commonjs/ai-components/generative-ui/AIUIMedia.js.map +1 -0
  120. package/lib/commonjs/ai-components/generative-ui/AIUIRenderer.js +10 -0
  121. package/lib/commonjs/ai-components/generative-ui/AIUIRenderer.js.map +1 -0
  122. package/lib/commonjs/ai-components/generative-ui/AIUIView.js +57 -0
  123. package/lib/commonjs/ai-components/generative-ui/AIUIView.js.map +1 -0
  124. package/lib/commonjs/ai-components/generative-ui/index.js +181 -0
  125. package/lib/commonjs/ai-components/generative-ui/index.js.map +1 -0
  126. package/lib/commonjs/ai-components/icons.js +44 -0
  127. package/lib/commonjs/ai-components/icons.js.map +1 -0
  128. package/lib/commonjs/ai-components/index.js +96 -0
  129. package/lib/commonjs/ai-components/index.js.map +1 -1
  130. package/lib/commonjs/ai-components/internal/Shimmer.js +36 -0
  131. package/lib/commonjs/ai-components/internal/Shimmer.js.map +1 -0
  132. package/lib/commonjs/ai-components/internal/format.js +66 -0
  133. package/lib/commonjs/ai-components/internal/format.js.map +1 -0
  134. package/lib/commonjs/ai-components/internal/hooks/useBottomSafeArea.js +12 -0
  135. package/lib/commonjs/ai-components/internal/hooks/useBottomSafeArea.js.map +1 -0
  136. package/lib/commonjs/ai-components/internal/icons/AgentIcons.js +74 -0
  137. package/lib/commonjs/ai-components/internal/icons/AgentIcons.js.map +1 -0
  138. package/lib/commonjs/ai-components/internal/tokens.js +11 -0
  139. package/lib/commonjs/ai-components/internal/tokens.js.map +1 -0
  140. package/lib/commonjs/ai-components/internal/uuid.js +21 -0
  141. package/lib/commonjs/ai-components/internal/uuid.js.map +1 -0
  142. package/lib/commonjs/ai-components/markdown/components/CodeBlock.js +4 -2
  143. package/lib/commonjs/ai-components/markdown/components/CodeBlock.js.map +1 -1
  144. package/lib/commonjs/ai-components/markdown/components/InlineCode.js +1 -0
  145. package/lib/commonjs/ai-components/markdown/components/InlineCode.js.map +1 -1
  146. package/lib/commonjs/ai-components/markdown/components/Text.js +11 -2
  147. package/lib/commonjs/ai-components/markdown/components/Text.js.map +1 -1
  148. package/lib/commonjs/ai-components/markdown/styles.js +27 -29
  149. package/lib/commonjs/ai-components/markdown/styles.js.map +1 -1
  150. package/lib/commonjs/ai-components/message/AIAssistantMessage.js +63 -0
  151. package/lib/commonjs/ai-components/message/AIAssistantMessage.js.map +1 -0
  152. package/lib/commonjs/ai-components/message/AIMessageAttachment.js +189 -0
  153. package/lib/commonjs/ai-components/message/AIMessageAttachment.js.map +1 -0
  154. package/lib/commonjs/ai-components/message/AIReplyActions.js +132 -0
  155. package/lib/commonjs/ai-components/message/AIReplyActions.js.map +1 -0
  156. package/lib/commonjs/ai-components/message/AIUserMessage.js +104 -0
  157. package/lib/commonjs/ai-components/message/AIUserMessage.js.map +1 -0
  158. package/lib/commonjs/ai-components/message/UserMessageMenu.js +150 -0
  159. package/lib/commonjs/ai-components/message/UserMessageMenu.js.map +1 -0
  160. package/lib/commonjs/ai-components/message/index.js +48 -0
  161. package/lib/commonjs/ai-components/message/index.js.map +1 -0
  162. package/lib/commonjs/ai-components/message-composer/ActionButton.js +2 -1
  163. package/lib/commonjs/ai-components/message-composer/ActionButton.js.map +1 -1
  164. package/lib/commonjs/ai-components/message-composer/ActionSheet.js +22 -6
  165. package/lib/commonjs/ai-components/message-composer/ActionSheet.js.map +1 -1
  166. package/lib/commonjs/ai-components/message-composer/AttachmentButton.js +5 -1
  167. package/lib/commonjs/ai-components/message-composer/AttachmentButton.js.map +1 -1
  168. package/lib/commonjs/ai-components/message-composer/ChatOptions.js +147 -0
  169. package/lib/commonjs/ai-components/message-composer/ChatOptions.js.map +1 -0
  170. package/lib/commonjs/ai-components/message-composer/ComposerView.js +136 -20
  171. package/lib/commonjs/ai-components/message-composer/ComposerView.js.map +1 -1
  172. package/lib/commonjs/ai-components/message-composer/EditingMessageChip.js +80 -0
  173. package/lib/commonjs/ai-components/message-composer/EditingMessageChip.js.map +1 -0
  174. package/lib/commonjs/ai-components/message-composer/MediaPreviewList.js +26 -1
  175. package/lib/commonjs/ai-components/message-composer/MediaPreviewList.js.map +1 -1
  176. package/lib/commonjs/ai-components/message-composer/index.js +11 -0
  177. package/lib/commonjs/ai-components/message-composer/index.js.map +1 -1
  178. package/lib/commonjs/ai-components/message-parts/AIMessageParts.js +110 -0
  179. package/lib/commonjs/ai-components/message-parts/AIMessageParts.js.map +1 -0
  180. package/lib/commonjs/ai-components/message-parts/AIToolApproval.js +197 -0
  181. package/lib/commonjs/ai-components/message-parts/AIToolApproval.js.map +1 -0
  182. package/lib/commonjs/ai-components/message-parts/AIToolAuthorization.js +250 -0
  183. package/lib/commonjs/ai-components/message-parts/AIToolAuthorization.js.map +1 -0
  184. package/lib/commonjs/ai-components/message-parts/AIToolCall.js +159 -0
  185. package/lib/commonjs/ai-components/message-parts/AIToolCall.js.map +1 -0
  186. package/lib/commonjs/ai-components/message-parts/callStates.js +54 -0
  187. package/lib/commonjs/ai-components/message-parts/callStates.js.map +1 -0
  188. package/lib/commonjs/ai-components/message-parts/index.js +70 -0
  189. package/lib/commonjs/ai-components/message-parts/index.js.map +1 -0
  190. package/lib/commonjs/ai-components/message-parts/parseMessageParts.js +126 -0
  191. package/lib/commonjs/ai-components/message-parts/parseMessageParts.js.map +1 -0
  192. package/lib/commonjs/ai-components/message-parts/types.js +2 -0
  193. package/lib/commonjs/ai-components/message-parts/types.js.map +1 -0
  194. package/lib/commonjs/ai-components/native-specs/NativeAIAgent.js +7 -0
  195. package/lib/commonjs/ai-components/native-specs/NativeAIAgent.js.map +1 -0
  196. package/lib/commonjs/ai-components/reasoning/AIReasoning.js +401 -0
  197. package/lib/commonjs/ai-components/reasoning/AIReasoning.js.map +1 -0
  198. package/lib/commonjs/ai-components/reasoning/index.js +26 -0
  199. package/lib/commonjs/ai-components/reasoning/index.js.map +1 -0
  200. package/lib/commonjs/ai-components/reasoning/thinkingClock.js +63 -0
  201. package/lib/commonjs/ai-components/reasoning/thinkingClock.js.map +1 -0
  202. package/lib/commonjs/ai-components/services/clipboard-service/expo.js +7 -2
  203. package/lib/commonjs/ai-components/services/clipboard-service/expo.js.map +1 -1
  204. package/lib/commonjs/ai-components/store/composer/store.js.map +1 -1
  205. package/lib/commonjs/ai-components/store/composer/useComposerChatOption.js +18 -0
  206. package/lib/commonjs/ai-components/store/composer/useComposerChatOption.js.map +1 -0
  207. package/lib/commonjs/ai-components/store/composer/useComposerIsEditing.js +18 -0
  208. package/lib/commonjs/ai-components/store/composer/useComposerIsEditing.js.map +1 -0
  209. package/lib/commonjs/ai-components/store/index.js +22 -0
  210. package/lib/commonjs/ai-components/store/index.js.map +1 -1
  211. package/lib/commonjs/ai-components/suggestions/AISuggestions.js +66 -0
  212. package/lib/commonjs/ai-components/suggestions/AISuggestions.js.map +1 -0
  213. package/lib/commonjs/ai-components/suggestions/index.js +15 -0
  214. package/lib/commonjs/ai-components/suggestions/index.js.map +1 -0
  215. package/lib/commonjs/ai-components/syntax-highlighting/utils/flatten-nodes.js +2 -1
  216. package/lib/commonjs/ai-components/syntax-highlighting/utils/flatten-nodes.js.map +1 -1
  217. package/lib/commonjs/ai-components/syntax-highlighting/utils/renderer.js +3 -2
  218. package/lib/commonjs/ai-components/syntax-highlighting/utils/renderer.js.map +1 -1
  219. package/lib/commonjs/ai-components/theme.js +137 -1
  220. package/lib/commonjs/ai-components/theme.js.map +1 -1
  221. package/lib/commonjs/ai-components/tool-calls/AIClientIdentity.js +22 -0
  222. package/lib/commonjs/ai-components/tool-calls/AIClientIdentity.js.map +1 -0
  223. package/lib/commonjs/ai-components/tool-calls/AIClientToolRunner.js +109 -0
  224. package/lib/commonjs/ai-components/tool-calls/AIClientToolRunner.js.map +1 -0
  225. package/lib/commonjs/ai-components/tool-calls/AIToolApprover.js +23 -0
  226. package/lib/commonjs/ai-components/tool-calls/AIToolApprover.js.map +1 -0
  227. package/lib/commonjs/ai-components/tool-calls/authSessionAuthorizer.js +88 -0
  228. package/lib/commonjs/ai-components/tool-calls/authSessionAuthorizer.js.map +1 -0
  229. package/lib/commonjs/ai-components/tool-calls/index.js +48 -0
  230. package/lib/commonjs/ai-components/tool-calls/index.js.map +1 -0
  231. package/lib/commonjs/ai-components/voice-visualization/glowShader.js.map +1 -1
  232. package/lib/commonjs/components/Accessibility/useAccessibilityAnnouncer.js.map +1 -1
  233. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.js.map +1 -1
  234. package/lib/commonjs/contexts/translationContext/TranslationContext.js +2 -2
  235. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  236. package/lib/commonjs/i18n/ar.json +39 -1
  237. package/lib/commonjs/i18n/en.json +39 -1
  238. package/lib/commonjs/i18n/es.json +39 -1
  239. package/lib/commonjs/i18n/fr.json +39 -1
  240. package/lib/commonjs/i18n/he.json +39 -1
  241. package/lib/commonjs/i18n/hi.json +39 -1
  242. package/lib/commonjs/i18n/it.json +39 -1
  243. package/lib/commonjs/i18n/ja.json +39 -1
  244. package/lib/commonjs/i18n/ko.json +39 -1
  245. package/lib/commonjs/i18n/nl.json +39 -1
  246. package/lib/commonjs/i18n/pt-br.json +39 -1
  247. package/lib/commonjs/i18n/ru.json +39 -1
  248. package/lib/commonjs/i18n/tr.json +39 -1
  249. package/lib/commonjs/mock-builders/a2ui/ohrid.js +84 -0
  250. package/lib/commonjs/mock-builders/a2ui/ohrid.js.map +1 -0
  251. package/lib/commonjs/utils/i18n/Streami18n.js +9 -4
  252. package/lib/commonjs/utils/i18n/Streami18n.js.map +1 -1
  253. package/lib/commonjs/utils/i18n/utils.js +7 -0
  254. package/lib/commonjs/utils/i18n/utils.js.map +1 -0
  255. package/lib/commonjs/version.json +1 -1
  256. package/lib/module/a11y/a11yUtils.js.map +1 -1
  257. package/lib/module/a11y/hooks/useResolvedModalAccessibilityProps.js.map +1 -1
  258. package/lib/module/a2ui/A2UIContexts.js +8 -0
  259. package/lib/module/a2ui/A2UIContexts.js.map +1 -0
  260. package/lib/module/a2ui/A2UIInstructions.js +49 -0
  261. package/lib/module/a2ui/A2UIInstructions.js.map +1 -0
  262. package/lib/module/a2ui/A2UIPlaceholder.js +37 -0
  263. package/lib/module/a2ui/A2UIPlaceholder.js.map +1 -0
  264. package/lib/module/a2ui/A2UIRenderer.js +363 -0
  265. package/lib/module/a2ui/A2UIRenderer.js.map +1 -0
  266. package/lib/module/a2ui/A2UIStream.js +91 -0
  267. package/lib/module/a2ui/A2UIStream.js.map +1 -0
  268. package/lib/module/a2ui/A2UISurface.js +212 -0
  269. package/lib/module/a2ui/A2UISurface.js.map +1 -0
  270. package/lib/module/a2ui/basicCatalog.json +1206 -0
  271. package/lib/module/a2ui/basicFunctions.js +398 -0
  272. package/lib/module/a2ui/basicFunctions.js.map +1 -0
  273. package/lib/module/a2ui/catalogDocument.js +80 -0
  274. package/lib/module/a2ui/catalogDocument.js.map +1 -0
  275. package/lib/module/a2ui/catalogs.js +105 -0
  276. package/lib/module/a2ui/catalogs.js.map +1 -0
  277. package/lib/module/a2ui/components/DateTimeInput.js +445 -0
  278. package/lib/module/a2ui/components/DateTimeInput.js.map +1 -0
  279. package/lib/module/a2ui/components/Media.js +316 -0
  280. package/lib/module/a2ui/components/Media.js.map +1 -0
  281. package/lib/module/a2ui/components/basicComponents.js +975 -0
  282. package/lib/module/a2ui/components/basicComponents.js.map +1 -0
  283. package/lib/module/a2ui/components/iconPaths.js +66 -0
  284. package/lib/module/a2ui/components/iconPaths.js.map +1 -0
  285. package/lib/module/a2ui/components/types.js +4 -0
  286. package/lib/module/a2ui/components/types.js.map +1 -0
  287. package/lib/module/a2ui/index.js +70 -0
  288. package/lib/module/a2ui/index.js.map +1 -0
  289. package/lib/module/a2ui/instructions.js +268 -0
  290. package/lib/module/a2ui/instructions.js.map +1 -0
  291. package/lib/module/a2ui/secrets.js +169 -0
  292. package/lib/module/a2ui/secrets.js.map +1 -0
  293. package/lib/module/a2ui/useReplyState.js +35 -0
  294. package/lib/module/a2ui/useReplyState.js.map +1 -0
  295. package/lib/module/ai-components/AITypingIndicatorView.js +8 -18
  296. package/lib/module/ai-components/AITypingIndicatorView.js.map +1 -1
  297. package/lib/module/ai-components/README.md +55 -3
  298. package/lib/module/ai-components/StreamingMessageView.js +26 -0
  299. package/lib/module/ai-components/StreamingMessageView.js.map +1 -1
  300. package/lib/module/ai-components/charts/components/PieLegend.js +2 -1
  301. package/lib/module/ai-components/charts/components/PieLegend.js.map +1 -1
  302. package/lib/module/ai-components/charts/components/VictoryChart.js +7 -2
  303. package/lib/module/ai-components/charts/components/VictoryChart.js.map +1 -1
  304. package/lib/module/ai-components/charts/utils/format-time-label.js +15 -0
  305. package/lib/module/ai-components/charts/utils/format-time-label.js.map +1 -0
  306. package/lib/module/ai-components/charts/vega-lite/schema.js +17 -2
  307. package/lib/module/ai-components/charts/vega-lite/schema.js.map +1 -1
  308. package/lib/module/ai-components/contexts/composer-context.js +13 -6
  309. package/lib/module/ai-components/contexts/composer-context.js.map +1 -1
  310. package/lib/module/ai-components/contexts/index.js +11 -0
  311. package/lib/module/ai-components/contexts/index.js.map +1 -1
  312. package/lib/module/ai-components/contexts/theme-context.js +33 -2
  313. package/lib/module/ai-components/contexts/theme-context.js.map +1 -1
  314. package/lib/module/ai-components/contexts/translation-context.js +29 -0
  315. package/lib/module/ai-components/contexts/translation-context.js.map +1 -0
  316. package/lib/module/ai-components/conversation/AIConversation.js +366 -0
  317. package/lib/module/ai-components/conversation/AIConversation.js.map +1 -0
  318. package/lib/module/ai-components/conversation/controller/AIAgentError.js +13 -0
  319. package/lib/module/ai-components/conversation/controller/AIAgentError.js.map +1 -0
  320. package/lib/module/ai-components/conversation/controller/AIConversationController.js +425 -0
  321. package/lib/module/ai-components/conversation/controller/AIConversationController.js.map +1 -0
  322. package/lib/module/ai-components/conversation/controller/AIConversationExchange.js +89 -0
  323. package/lib/module/ai-components/conversation/controller/AIConversationExchange.js.map +1 -0
  324. package/lib/module/ai-components/conversation/controller/index.js +48 -0
  325. package/lib/module/ai-components/conversation/controller/index.js.map +1 -0
  326. package/lib/module/ai-components/conversation/controller/offers.js +29 -0
  327. package/lib/module/ai-components/conversation/controller/offers.js.map +1 -0
  328. package/lib/module/ai-components/conversation/controller/types.js +13 -0
  329. package/lib/module/ai-components/conversation/controller/types.js.map +1 -0
  330. package/lib/module/ai-components/conversation/controller/useAIConversationState.js +8 -0
  331. package/lib/module/ai-components/conversation/controller/useAIConversationState.js.map +1 -0
  332. package/lib/module/ai-components/conversation/entries.js +98 -0
  333. package/lib/module/ai-components/conversation/entries.js.map +1 -0
  334. package/lib/module/ai-components/conversation/fromStreamMessage.js +66 -0
  335. package/lib/module/ai-components/conversation/fromStreamMessage.js.map +1 -0
  336. package/lib/module/ai-components/conversation/index.js +48 -0
  337. package/lib/module/ai-components/conversation/index.js.map +1 -0
  338. package/lib/module/ai-components/conversation/list/AIChatList.js +224 -0
  339. package/lib/module/ai-components/conversation/list/AIChatList.js.map +1 -0
  340. package/lib/module/ai-components/conversation/list/useChatListController.js +78 -0
  341. package/lib/module/ai-components/conversation/list/useChatListController.js.map +1 -0
  342. package/lib/module/ai-components/conversation/list/useEndInView.js +51 -0
  343. package/lib/module/ai-components/conversation/list/useEndInView.js.map +1 -0
  344. package/lib/module/ai-components/conversation/list/useKeyboardOverlap.js +54 -0
  345. package/lib/module/ai-components/conversation/list/useKeyboardOverlap.js.map +1 -0
  346. package/lib/module/ai-components/conversation/list/useLoadOlder.js +73 -0
  347. package/lib/module/ai-components/conversation/list/useLoadOlder.js.map +1 -0
  348. package/lib/module/ai-components/conversation/list/usePinnedAnchor.js +84 -0
  349. package/lib/module/ai-components/conversation/list/usePinnedAnchor.js.map +1 -0
  350. package/lib/module/ai-components/conversation/types.js +4 -0
  351. package/lib/module/ai-components/conversation/types.js.map +1 -0
  352. package/lib/module/ai-components/conversation/useConversationRows.js +117 -0
  353. package/lib/module/ai-components/conversation/useConversationRows.js.map +1 -0
  354. package/lib/module/ai-components/generative-ui/AIUIAction.js +30 -0
  355. package/lib/module/ai-components/generative-ui/AIUIAction.js.map +1 -0
  356. package/lib/module/ai-components/generative-ui/AIUIArguments.js +128 -0
  357. package/lib/module/ai-components/generative-ui/AIUIArguments.js.map +1 -0
  358. package/lib/module/ai-components/generative-ui/AIUIComponent.js +50 -0
  359. package/lib/module/ai-components/generative-ui/AIUIComponent.js.map +1 -0
  360. package/lib/module/ai-components/generative-ui/AIUIComponentDefinition.js +134 -0
  361. package/lib/module/ai-components/generative-ui/AIUIComponentDefinition.js.map +1 -0
  362. package/lib/module/ai-components/generative-ui/AIUIDocument.js +32 -0
  363. package/lib/module/ai-components/generative-ui/AIUIDocument.js.map +1 -0
  364. package/lib/module/ai-components/generative-ui/AIUIEntrance.js +193 -0
  365. package/lib/module/ai-components/generative-ui/AIUIEntrance.js.map +1 -0
  366. package/lib/module/ai-components/generative-ui/AIUIErrorBoundary.js +30 -0
  367. package/lib/module/ai-components/generative-ui/AIUIErrorBoundary.js.map +1 -0
  368. package/lib/module/ai-components/generative-ui/AIUIHelpers.js +54 -0
  369. package/lib/module/ai-components/generative-ui/AIUIHelpers.js.map +1 -0
  370. package/lib/module/ai-components/generative-ui/AIUIHost.js +259 -0
  371. package/lib/module/ai-components/generative-ui/AIUIHost.js.map +1 -0
  372. package/lib/module/ai-components/generative-ui/AIUIMedia.js +24 -0
  373. package/lib/module/ai-components/generative-ui/AIUIMedia.js.map +1 -0
  374. package/lib/module/ai-components/generative-ui/AIUIRenderer.js +10 -0
  375. package/lib/module/ai-components/generative-ui/AIUIRenderer.js.map +1 -0
  376. package/lib/module/ai-components/generative-ui/AIUIView.js +57 -0
  377. package/lib/module/ai-components/generative-ui/AIUIView.js.map +1 -0
  378. package/lib/module/ai-components/generative-ui/index.js +181 -0
  379. package/lib/module/ai-components/generative-ui/index.js.map +1 -0
  380. package/lib/module/ai-components/icons.js +44 -0
  381. package/lib/module/ai-components/icons.js.map +1 -0
  382. package/lib/module/ai-components/index.js +96 -0
  383. package/lib/module/ai-components/index.js.map +1 -1
  384. package/lib/module/ai-components/internal/Shimmer.js +36 -0
  385. package/lib/module/ai-components/internal/Shimmer.js.map +1 -0
  386. package/lib/module/ai-components/internal/format.js +66 -0
  387. package/lib/module/ai-components/internal/format.js.map +1 -0
  388. package/lib/module/ai-components/internal/hooks/useBottomSafeArea.js +12 -0
  389. package/lib/module/ai-components/internal/hooks/useBottomSafeArea.js.map +1 -0
  390. package/lib/module/ai-components/internal/icons/AgentIcons.js +74 -0
  391. package/lib/module/ai-components/internal/icons/AgentIcons.js.map +1 -0
  392. package/lib/module/ai-components/internal/tokens.js +11 -0
  393. package/lib/module/ai-components/internal/tokens.js.map +1 -0
  394. package/lib/module/ai-components/internal/uuid.js +21 -0
  395. package/lib/module/ai-components/internal/uuid.js.map +1 -0
  396. package/lib/module/ai-components/markdown/components/CodeBlock.js +4 -2
  397. package/lib/module/ai-components/markdown/components/CodeBlock.js.map +1 -1
  398. package/lib/module/ai-components/markdown/components/InlineCode.js +1 -0
  399. package/lib/module/ai-components/markdown/components/InlineCode.js.map +1 -1
  400. package/lib/module/ai-components/markdown/components/Text.js +11 -2
  401. package/lib/module/ai-components/markdown/components/Text.js.map +1 -1
  402. package/lib/module/ai-components/markdown/styles.js +27 -29
  403. package/lib/module/ai-components/markdown/styles.js.map +1 -1
  404. package/lib/module/ai-components/message/AIAssistantMessage.js +63 -0
  405. package/lib/module/ai-components/message/AIAssistantMessage.js.map +1 -0
  406. package/lib/module/ai-components/message/AIMessageAttachment.js +189 -0
  407. package/lib/module/ai-components/message/AIMessageAttachment.js.map +1 -0
  408. package/lib/module/ai-components/message/AIReplyActions.js +132 -0
  409. package/lib/module/ai-components/message/AIReplyActions.js.map +1 -0
  410. package/lib/module/ai-components/message/AIUserMessage.js +104 -0
  411. package/lib/module/ai-components/message/AIUserMessage.js.map +1 -0
  412. package/lib/module/ai-components/message/UserMessageMenu.js +150 -0
  413. package/lib/module/ai-components/message/UserMessageMenu.js.map +1 -0
  414. package/lib/module/ai-components/message/index.js +48 -0
  415. package/lib/module/ai-components/message/index.js.map +1 -0
  416. package/lib/module/ai-components/message-composer/ActionButton.js +2 -1
  417. package/lib/module/ai-components/message-composer/ActionButton.js.map +1 -1
  418. package/lib/module/ai-components/message-composer/ActionSheet.js +22 -6
  419. package/lib/module/ai-components/message-composer/ActionSheet.js.map +1 -1
  420. package/lib/module/ai-components/message-composer/AttachmentButton.js +5 -1
  421. package/lib/module/ai-components/message-composer/AttachmentButton.js.map +1 -1
  422. package/lib/module/ai-components/message-composer/ChatOptions.js +147 -0
  423. package/lib/module/ai-components/message-composer/ChatOptions.js.map +1 -0
  424. package/lib/module/ai-components/message-composer/ComposerView.js +136 -20
  425. package/lib/module/ai-components/message-composer/ComposerView.js.map +1 -1
  426. package/lib/module/ai-components/message-composer/EditingMessageChip.js +80 -0
  427. package/lib/module/ai-components/message-composer/EditingMessageChip.js.map +1 -0
  428. package/lib/module/ai-components/message-composer/MediaPreviewList.js +26 -1
  429. package/lib/module/ai-components/message-composer/MediaPreviewList.js.map +1 -1
  430. package/lib/module/ai-components/message-composer/index.js +11 -0
  431. package/lib/module/ai-components/message-composer/index.js.map +1 -1
  432. package/lib/module/ai-components/message-parts/AIMessageParts.js +110 -0
  433. package/lib/module/ai-components/message-parts/AIMessageParts.js.map +1 -0
  434. package/lib/module/ai-components/message-parts/AIToolApproval.js +197 -0
  435. package/lib/module/ai-components/message-parts/AIToolApproval.js.map +1 -0
  436. package/lib/module/ai-components/message-parts/AIToolAuthorization.js +250 -0
  437. package/lib/module/ai-components/message-parts/AIToolAuthorization.js.map +1 -0
  438. package/lib/module/ai-components/message-parts/AIToolCall.js +159 -0
  439. package/lib/module/ai-components/message-parts/AIToolCall.js.map +1 -0
  440. package/lib/module/ai-components/message-parts/callStates.js +54 -0
  441. package/lib/module/ai-components/message-parts/callStates.js.map +1 -0
  442. package/lib/module/ai-components/message-parts/index.js +70 -0
  443. package/lib/module/ai-components/message-parts/index.js.map +1 -0
  444. package/lib/module/ai-components/message-parts/parseMessageParts.js +126 -0
  445. package/lib/module/ai-components/message-parts/parseMessageParts.js.map +1 -0
  446. package/lib/module/ai-components/message-parts/types.js +2 -0
  447. package/lib/module/ai-components/message-parts/types.js.map +1 -0
  448. package/lib/module/ai-components/native-specs/NativeAIAgent.js +7 -0
  449. package/lib/module/ai-components/native-specs/NativeAIAgent.js.map +1 -0
  450. package/lib/module/ai-components/reasoning/AIReasoning.js +401 -0
  451. package/lib/module/ai-components/reasoning/AIReasoning.js.map +1 -0
  452. package/lib/module/ai-components/reasoning/index.js +26 -0
  453. package/lib/module/ai-components/reasoning/index.js.map +1 -0
  454. package/lib/module/ai-components/reasoning/thinkingClock.js +63 -0
  455. package/lib/module/ai-components/reasoning/thinkingClock.js.map +1 -0
  456. package/lib/module/ai-components/services/clipboard-service/expo.js +7 -2
  457. package/lib/module/ai-components/services/clipboard-service/expo.js.map +1 -1
  458. package/lib/module/ai-components/store/composer/store.js.map +1 -1
  459. package/lib/module/ai-components/store/composer/useComposerChatOption.js +18 -0
  460. package/lib/module/ai-components/store/composer/useComposerChatOption.js.map +1 -0
  461. package/lib/module/ai-components/store/composer/useComposerIsEditing.js +18 -0
  462. package/lib/module/ai-components/store/composer/useComposerIsEditing.js.map +1 -0
  463. package/lib/module/ai-components/store/index.js +22 -0
  464. package/lib/module/ai-components/store/index.js.map +1 -1
  465. package/lib/module/ai-components/suggestions/AISuggestions.js +66 -0
  466. package/lib/module/ai-components/suggestions/AISuggestions.js.map +1 -0
  467. package/lib/module/ai-components/suggestions/index.js +15 -0
  468. package/lib/module/ai-components/suggestions/index.js.map +1 -0
  469. package/lib/module/ai-components/syntax-highlighting/utils/flatten-nodes.js +2 -1
  470. package/lib/module/ai-components/syntax-highlighting/utils/flatten-nodes.js.map +1 -1
  471. package/lib/module/ai-components/syntax-highlighting/utils/renderer.js +3 -2
  472. package/lib/module/ai-components/syntax-highlighting/utils/renderer.js.map +1 -1
  473. package/lib/module/ai-components/theme.js +137 -1
  474. package/lib/module/ai-components/theme.js.map +1 -1
  475. package/lib/module/ai-components/tool-calls/AIClientIdentity.js +22 -0
  476. package/lib/module/ai-components/tool-calls/AIClientIdentity.js.map +1 -0
  477. package/lib/module/ai-components/tool-calls/AIClientToolRunner.js +109 -0
  478. package/lib/module/ai-components/tool-calls/AIClientToolRunner.js.map +1 -0
  479. package/lib/module/ai-components/tool-calls/AIToolApprover.js +23 -0
  480. package/lib/module/ai-components/tool-calls/AIToolApprover.js.map +1 -0
  481. package/lib/module/ai-components/tool-calls/authSessionAuthorizer.js +88 -0
  482. package/lib/module/ai-components/tool-calls/authSessionAuthorizer.js.map +1 -0
  483. package/lib/module/ai-components/tool-calls/index.js +48 -0
  484. package/lib/module/ai-components/tool-calls/index.js.map +1 -0
  485. package/lib/module/ai-components/voice-visualization/glowShader.js.map +1 -1
  486. package/lib/module/components/Accessibility/useAccessibilityAnnouncer.js.map +1 -1
  487. package/lib/module/components/Message/MessageItemView/utils/renderText.js.map +1 -1
  488. package/lib/module/contexts/translationContext/TranslationContext.js +2 -2
  489. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  490. package/lib/module/i18n/ar.json +39 -1
  491. package/lib/module/i18n/en.json +39 -1
  492. package/lib/module/i18n/es.json +39 -1
  493. package/lib/module/i18n/fr.json +39 -1
  494. package/lib/module/i18n/he.json +39 -1
  495. package/lib/module/i18n/hi.json +39 -1
  496. package/lib/module/i18n/it.json +39 -1
  497. package/lib/module/i18n/ja.json +39 -1
  498. package/lib/module/i18n/ko.json +39 -1
  499. package/lib/module/i18n/nl.json +39 -1
  500. package/lib/module/i18n/pt-br.json +39 -1
  501. package/lib/module/i18n/ru.json +39 -1
  502. package/lib/module/i18n/tr.json +39 -1
  503. package/lib/module/mock-builders/a2ui/ohrid.js +84 -0
  504. package/lib/module/mock-builders/a2ui/ohrid.js.map +1 -0
  505. package/lib/module/utils/i18n/Streami18n.js +9 -4
  506. package/lib/module/utils/i18n/Streami18n.js.map +1 -1
  507. package/lib/module/utils/i18n/utils.js +7 -0
  508. package/lib/module/utils/i18n/utils.js.map +1 -0
  509. package/lib/module/version.json +1 -1
  510. package/lib/typescript/a11y/a11yUtils.d.ts +0 -1
  511. package/lib/typescript/a11y/a11yUtils.d.ts.map +1 -1
  512. package/lib/typescript/a11y/hooks/useResolvedModalAccessibilityProps.d.ts +2 -3
  513. package/lib/typescript/a11y/hooks/useResolvedModalAccessibilityProps.d.ts.map +1 -1
  514. package/lib/typescript/a2ui/A2UIContexts.d.ts +9 -0
  515. package/lib/typescript/a2ui/A2UIContexts.d.ts.map +1 -0
  516. package/lib/typescript/a2ui/A2UIInstructions.d.ts +47 -0
  517. package/lib/typescript/a2ui/A2UIInstructions.d.ts.map +1 -0
  518. package/lib/typescript/a2ui/A2UIPlaceholder.d.ts +4 -0
  519. package/lib/typescript/a2ui/A2UIPlaceholder.d.ts.map +1 -0
  520. package/lib/typescript/a2ui/A2UIRenderer.d.ts +130 -0
  521. package/lib/typescript/a2ui/A2UIRenderer.d.ts.map +1 -0
  522. package/lib/typescript/a2ui/A2UIStream.d.ts +23 -0
  523. package/lib/typescript/a2ui/A2UIStream.d.ts.map +1 -0
  524. package/lib/typescript/a2ui/A2UISurface.d.ts +19 -0
  525. package/lib/typescript/a2ui/A2UISurface.d.ts.map +1 -0
  526. package/lib/typescript/a2ui/basicFunctions.d.ts +10 -0
  527. package/lib/typescript/a2ui/basicFunctions.d.ts.map +1 -0
  528. package/lib/typescript/a2ui/catalogDocument.d.ts +56 -0
  529. package/lib/typescript/a2ui/catalogDocument.d.ts.map +1 -0
  530. package/lib/typescript/a2ui/catalogs.d.ts +42 -0
  531. package/lib/typescript/a2ui/catalogs.d.ts.map +1 -0
  532. package/lib/typescript/a2ui/components/DateTimeInput.d.ts +44 -0
  533. package/lib/typescript/a2ui/components/DateTimeInput.d.ts.map +1 -0
  534. package/lib/typescript/a2ui/components/Media.d.ts +27 -0
  535. package/lib/typescript/a2ui/components/Media.d.ts.map +1 -0
  536. package/lib/typescript/a2ui/components/basicComponents.d.ts +4 -0
  537. package/lib/typescript/a2ui/components/basicComponents.d.ts.map +1 -0
  538. package/lib/typescript/a2ui/components/iconPaths.d.ts +2 -0
  539. package/lib/typescript/a2ui/components/iconPaths.d.ts.map +1 -0
  540. package/lib/typescript/a2ui/components/types.d.ts +23 -0
  541. package/lib/typescript/a2ui/components/types.d.ts.map +1 -0
  542. package/lib/typescript/a2ui/index.d.ts +8 -0
  543. package/lib/typescript/a2ui/index.d.ts.map +1 -0
  544. package/lib/typescript/a2ui/instructions.d.ts +39 -0
  545. package/lib/typescript/a2ui/instructions.d.ts.map +1 -0
  546. package/lib/typescript/a2ui/secrets.d.ts +20 -0
  547. package/lib/typescript/a2ui/secrets.d.ts.map +1 -0
  548. package/lib/typescript/a2ui/useReplyState.d.ts +4 -0
  549. package/lib/typescript/a2ui/useReplyState.d.ts.map +1 -0
  550. package/lib/typescript/ai-components/AITypingIndicatorView.d.ts.map +1 -1
  551. package/lib/typescript/ai-components/StreamingMessageView.d.ts +4 -1
  552. package/lib/typescript/ai-components/StreamingMessageView.d.ts.map +1 -1
  553. package/lib/typescript/ai-components/charts/components/PieLegend.d.ts.map +1 -1
  554. package/lib/typescript/ai-components/charts/components/VictoryChart.d.ts.map +1 -1
  555. package/lib/typescript/ai-components/charts/utils/format-time-label.d.ts +7 -0
  556. package/lib/typescript/ai-components/charts/utils/format-time-label.d.ts.map +1 -0
  557. package/lib/typescript/ai-components/charts/vega-lite/schema.d.ts +8 -8
  558. package/lib/typescript/ai-components/charts/vega-lite/schema.d.ts.map +1 -1
  559. package/lib/typescript/ai-components/contexts/composer-context.d.ts +3 -0
  560. package/lib/typescript/ai-components/contexts/composer-context.d.ts.map +1 -1
  561. package/lib/typescript/ai-components/contexts/index.d.ts +1 -0
  562. package/lib/typescript/ai-components/contexts/index.d.ts.map +1 -1
  563. package/lib/typescript/ai-components/contexts/theme-context.d.ts.map +1 -1
  564. package/lib/typescript/ai-components/contexts/translation-context.d.ts +19 -0
  565. package/lib/typescript/ai-components/contexts/translation-context.d.ts.map +1 -0
  566. package/lib/typescript/ai-components/conversation/AIConversation.d.ts +130 -0
  567. package/lib/typescript/ai-components/conversation/AIConversation.d.ts.map +1 -0
  568. package/lib/typescript/ai-components/conversation/controller/AIAgentError.d.ts +10 -0
  569. package/lib/typescript/ai-components/conversation/controller/AIAgentError.d.ts.map +1 -0
  570. package/lib/typescript/ai-components/conversation/controller/AIConversationController.d.ts +173 -0
  571. package/lib/typescript/ai-components/conversation/controller/AIConversationController.d.ts.map +1 -0
  572. package/lib/typescript/ai-components/conversation/controller/AIConversationExchange.d.ts +23 -0
  573. package/lib/typescript/ai-components/conversation/controller/AIConversationExchange.d.ts.map +1 -0
  574. package/lib/typescript/ai-components/conversation/controller/index.d.ts +5 -0
  575. package/lib/typescript/ai-components/conversation/controller/index.d.ts.map +1 -0
  576. package/lib/typescript/ai-components/conversation/controller/offers.d.ts +23 -0
  577. package/lib/typescript/ai-components/conversation/controller/offers.d.ts.map +1 -0
  578. package/lib/typescript/ai-components/conversation/controller/types.d.ts +142 -0
  579. package/lib/typescript/ai-components/conversation/controller/types.d.ts.map +1 -0
  580. package/lib/typescript/ai-components/conversation/controller/useAIConversationState.d.ts +9 -0
  581. package/lib/typescript/ai-components/conversation/controller/useAIConversationState.d.ts.map +1 -0
  582. package/lib/typescript/ai-components/conversation/entries.d.ts +47 -0
  583. package/lib/typescript/ai-components/conversation/entries.d.ts.map +1 -0
  584. package/lib/typescript/ai-components/conversation/fromStreamMessage.d.ts +25 -0
  585. package/lib/typescript/ai-components/conversation/fromStreamMessage.d.ts.map +1 -0
  586. package/lib/typescript/ai-components/conversation/index.d.ts +6 -0
  587. package/lib/typescript/ai-components/conversation/index.d.ts.map +1 -0
  588. package/lib/typescript/ai-components/conversation/list/AIChatList.d.ts +30 -0
  589. package/lib/typescript/ai-components/conversation/list/AIChatList.d.ts.map +1 -0
  590. package/lib/typescript/ai-components/conversation/list/useChatListController.d.ts +45 -0
  591. package/lib/typescript/ai-components/conversation/list/useChatListController.d.ts.map +1 -0
  592. package/lib/typescript/ai-components/conversation/list/useEndInView.d.ts +26 -0
  593. package/lib/typescript/ai-components/conversation/list/useEndInView.d.ts.map +1 -0
  594. package/lib/typescript/ai-components/conversation/list/useKeyboardOverlap.d.ts +17 -0
  595. package/lib/typescript/ai-components/conversation/list/useKeyboardOverlap.d.ts.map +1 -0
  596. package/lib/typescript/ai-components/conversation/list/useLoadOlder.d.ts +24 -0
  597. package/lib/typescript/ai-components/conversation/list/useLoadOlder.d.ts.map +1 -0
  598. package/lib/typescript/ai-components/conversation/list/usePinnedAnchor.d.ts +26 -0
  599. package/lib/typescript/ai-components/conversation/list/usePinnedAnchor.d.ts.map +1 -0
  600. package/lib/typescript/ai-components/conversation/types.d.ts +55 -0
  601. package/lib/typescript/ai-components/conversation/types.d.ts.map +1 -0
  602. package/lib/typescript/ai-components/conversation/useConversationRows.d.ts +66 -0
  603. package/lib/typescript/ai-components/conversation/useConversationRows.d.ts.map +1 -0
  604. package/lib/typescript/ai-components/generative-ui/AIUIAction.d.ts +48 -0
  605. package/lib/typescript/ai-components/generative-ui/AIUIAction.d.ts.map +1 -0
  606. package/lib/typescript/ai-components/generative-ui/AIUIArguments.d.ts +15 -0
  607. package/lib/typescript/ai-components/generative-ui/AIUIArguments.d.ts.map +1 -0
  608. package/lib/typescript/ai-components/generative-ui/AIUIComponent.d.ts +51 -0
  609. package/lib/typescript/ai-components/generative-ui/AIUIComponent.d.ts.map +1 -0
  610. package/lib/typescript/ai-components/generative-ui/AIUIComponentDefinition.d.ts +84 -0
  611. package/lib/typescript/ai-components/generative-ui/AIUIComponentDefinition.d.ts.map +1 -0
  612. package/lib/typescript/ai-components/generative-ui/AIUIDocument.d.ts +50 -0
  613. package/lib/typescript/ai-components/generative-ui/AIUIDocument.d.ts.map +1 -0
  614. package/lib/typescript/ai-components/generative-ui/AIUIEntrance.d.ts +75 -0
  615. package/lib/typescript/ai-components/generative-ui/AIUIEntrance.d.ts.map +1 -0
  616. package/lib/typescript/ai-components/generative-ui/AIUIErrorBoundary.d.ts +26 -0
  617. package/lib/typescript/ai-components/generative-ui/AIUIErrorBoundary.d.ts.map +1 -0
  618. package/lib/typescript/ai-components/generative-ui/AIUIHelpers.d.ts +23 -0
  619. package/lib/typescript/ai-components/generative-ui/AIUIHelpers.d.ts.map +1 -0
  620. package/lib/typescript/ai-components/generative-ui/AIUIHost.d.ts +160 -0
  621. package/lib/typescript/ai-components/generative-ui/AIUIHost.d.ts.map +1 -0
  622. package/lib/typescript/ai-components/generative-ui/AIUIMedia.d.ts +22 -0
  623. package/lib/typescript/ai-components/generative-ui/AIUIMedia.d.ts.map +1 -0
  624. package/lib/typescript/ai-components/generative-ui/AIUIRenderer.d.ts +53 -0
  625. package/lib/typescript/ai-components/generative-ui/AIUIRenderer.d.ts.map +1 -0
  626. package/lib/typescript/ai-components/generative-ui/AIUIView.d.ts +35 -0
  627. package/lib/typescript/ai-components/generative-ui/AIUIView.d.ts.map +1 -0
  628. package/lib/typescript/ai-components/generative-ui/index.d.ts +11 -0
  629. package/lib/typescript/ai-components/generative-ui/index.d.ts.map +1 -0
  630. package/lib/typescript/ai-components/icons.d.ts +66 -0
  631. package/lib/typescript/ai-components/icons.d.ts.map +1 -0
  632. package/lib/typescript/ai-components/index.d.ts +8 -0
  633. package/lib/typescript/ai-components/index.d.ts.map +1 -1
  634. package/lib/typescript/ai-components/internal/Shimmer.d.ts +14 -0
  635. package/lib/typescript/ai-components/internal/Shimmer.d.ts.map +1 -0
  636. package/lib/typescript/ai-components/internal/format.d.ts +7 -0
  637. package/lib/typescript/ai-components/internal/format.d.ts.map +1 -0
  638. package/lib/typescript/ai-components/internal/hooks/useBottomSafeArea.d.ts +3 -0
  639. package/lib/typescript/ai-components/internal/hooks/useBottomSafeArea.d.ts.map +1 -0
  640. package/lib/typescript/ai-components/internal/icons/AgentIcons.d.ts +31 -0
  641. package/lib/typescript/ai-components/internal/icons/AgentIcons.d.ts.map +1 -0
  642. package/lib/typescript/ai-components/internal/tokens.d.ts +2 -0
  643. package/lib/typescript/ai-components/internal/tokens.d.ts.map +1 -0
  644. package/lib/typescript/ai-components/internal/uuid.d.ts +2 -0
  645. package/lib/typescript/ai-components/internal/uuid.d.ts.map +1 -0
  646. package/lib/typescript/ai-components/markdown/components/CodeBlock.d.ts.map +1 -1
  647. package/lib/typescript/ai-components/markdown/components/InlineCode.d.ts.map +1 -1
  648. package/lib/typescript/ai-components/markdown/components/Text.d.ts.map +1 -1
  649. package/lib/typescript/ai-components/markdown/styles.d.ts +23 -4
  650. package/lib/typescript/ai-components/markdown/styles.d.ts.map +1 -1
  651. package/lib/typescript/ai-components/markdown/types.d.ts +1 -0
  652. package/lib/typescript/ai-components/markdown/types.d.ts.map +1 -1
  653. package/lib/typescript/ai-components/message/AIAssistantMessage.d.ts +40 -0
  654. package/lib/typescript/ai-components/message/AIAssistantMessage.d.ts.map +1 -0
  655. package/lib/typescript/ai-components/message/AIMessageAttachment.d.ts +33 -0
  656. package/lib/typescript/ai-components/message/AIMessageAttachment.d.ts.map +1 -0
  657. package/lib/typescript/ai-components/message/AIReplyActions.d.ts +19 -0
  658. package/lib/typescript/ai-components/message/AIReplyActions.d.ts.map +1 -0
  659. package/lib/typescript/ai-components/message/AIUserMessage.d.ts +17 -0
  660. package/lib/typescript/ai-components/message/AIUserMessage.d.ts.map +1 -0
  661. package/lib/typescript/ai-components/message/UserMessageMenu.d.ts +31 -0
  662. package/lib/typescript/ai-components/message/UserMessageMenu.d.ts.map +1 -0
  663. package/lib/typescript/ai-components/message/index.d.ts +5 -0
  664. package/lib/typescript/ai-components/message/index.d.ts.map +1 -0
  665. package/lib/typescript/ai-components/message-composer/ActionButton.d.ts.map +1 -1
  666. package/lib/typescript/ai-components/message-composer/ActionSheet.d.ts +2 -2
  667. package/lib/typescript/ai-components/message-composer/ActionSheet.d.ts.map +1 -1
  668. package/lib/typescript/ai-components/message-composer/AttachmentButton.d.ts.map +1 -1
  669. package/lib/typescript/ai-components/message-composer/ChatOptions.d.ts +35 -0
  670. package/lib/typescript/ai-components/message-composer/ChatOptions.d.ts.map +1 -0
  671. package/lib/typescript/ai-components/message-composer/ComposerView.d.ts +34 -3
  672. package/lib/typescript/ai-components/message-composer/ComposerView.d.ts.map +1 -1
  673. package/lib/typescript/ai-components/message-composer/EditingMessageChip.d.ts +7 -0
  674. package/lib/typescript/ai-components/message-composer/EditingMessageChip.d.ts.map +1 -0
  675. package/lib/typescript/ai-components/message-composer/MediaPreviewList.d.ts.map +1 -1
  676. package/lib/typescript/ai-components/message-composer/index.d.ts +1 -0
  677. package/lib/typescript/ai-components/message-composer/index.d.ts.map +1 -1
  678. package/lib/typescript/ai-components/message-parts/AIMessageParts.d.ts +38 -0
  679. package/lib/typescript/ai-components/message-parts/AIMessageParts.d.ts.map +1 -0
  680. package/lib/typescript/ai-components/message-parts/AIToolApproval.d.ts +38 -0
  681. package/lib/typescript/ai-components/message-parts/AIToolApproval.d.ts.map +1 -0
  682. package/lib/typescript/ai-components/message-parts/AIToolAuthorization.d.ts +48 -0
  683. package/lib/typescript/ai-components/message-parts/AIToolAuthorization.d.ts.map +1 -0
  684. package/lib/typescript/ai-components/message-parts/AIToolCall.d.ts +11 -0
  685. package/lib/typescript/ai-components/message-parts/AIToolCall.d.ts.map +1 -0
  686. package/lib/typescript/ai-components/message-parts/callStates.d.ts +9 -0
  687. package/lib/typescript/ai-components/message-parts/callStates.d.ts.map +1 -0
  688. package/lib/typescript/ai-components/message-parts/index.d.ts +7 -0
  689. package/lib/typescript/ai-components/message-parts/index.d.ts.map +1 -0
  690. package/lib/typescript/ai-components/message-parts/parseMessageParts.d.ts +47 -0
  691. package/lib/typescript/ai-components/message-parts/parseMessageParts.d.ts.map +1 -0
  692. package/lib/typescript/ai-components/message-parts/types.d.ts +137 -0
  693. package/lib/typescript/ai-components/message-parts/types.d.ts.map +1 -0
  694. package/lib/typescript/ai-components/native-specs/NativeAIAgent.d.ts +22 -0
  695. package/lib/typescript/ai-components/native-specs/NativeAIAgent.d.ts.map +1 -0
  696. package/lib/typescript/ai-components/reasoning/AIReasoning.d.ts +63 -0
  697. package/lib/typescript/ai-components/reasoning/AIReasoning.d.ts.map +1 -0
  698. package/lib/typescript/ai-components/reasoning/index.d.ts +3 -0
  699. package/lib/typescript/ai-components/reasoning/index.d.ts.map +1 -0
  700. package/lib/typescript/ai-components/reasoning/thinkingClock.d.ts +29 -0
  701. package/lib/typescript/ai-components/reasoning/thinkingClock.d.ts.map +1 -0
  702. package/lib/typescript/ai-components/services/clipboard-service/expo.d.ts.map +1 -1
  703. package/lib/typescript/ai-components/store/composer/store.d.ts +8 -0
  704. package/lib/typescript/ai-components/store/composer/store.d.ts.map +1 -1
  705. package/lib/typescript/ai-components/store/composer/useComposerChatOption.d.ts +5 -0
  706. package/lib/typescript/ai-components/store/composer/useComposerChatOption.d.ts.map +1 -0
  707. package/lib/typescript/ai-components/store/composer/useComposerIsEditing.d.ts +5 -0
  708. package/lib/typescript/ai-components/store/composer/useComposerIsEditing.d.ts.map +1 -0
  709. package/lib/typescript/ai-components/store/index.d.ts +2 -0
  710. package/lib/typescript/ai-components/store/index.d.ts.map +1 -1
  711. package/lib/typescript/ai-components/suggestions/AISuggestions.d.ts +13 -0
  712. package/lib/typescript/ai-components/suggestions/AISuggestions.d.ts.map +1 -0
  713. package/lib/typescript/ai-components/suggestions/index.d.ts +2 -0
  714. package/lib/typescript/ai-components/suggestions/index.d.ts.map +1 -0
  715. package/lib/typescript/ai-components/syntax-highlighting/utils/flatten-nodes.d.ts.map +1 -1
  716. package/lib/typescript/ai-components/syntax-highlighting/utils/renderer.d.ts +1 -1
  717. package/lib/typescript/ai-components/syntax-highlighting/utils/renderer.d.ts.map +1 -1
  718. package/lib/typescript/ai-components/theme.d.ts +200 -0
  719. package/lib/typescript/ai-components/theme.d.ts.map +1 -1
  720. package/lib/typescript/ai-components/tool-calls/AIClientIdentity.d.ts +14 -0
  721. package/lib/typescript/ai-components/tool-calls/AIClientIdentity.d.ts.map +1 -0
  722. package/lib/typescript/ai-components/tool-calls/AIClientToolRunner.d.ts +109 -0
  723. package/lib/typescript/ai-components/tool-calls/AIClientToolRunner.d.ts.map +1 -0
  724. package/lib/typescript/ai-components/tool-calls/AIToolApprover.d.ts +48 -0
  725. package/lib/typescript/ai-components/tool-calls/AIToolApprover.d.ts.map +1 -0
  726. package/lib/typescript/ai-components/tool-calls/authSessionAuthorizer.d.ts +57 -0
  727. package/lib/typescript/ai-components/tool-calls/authSessionAuthorizer.d.ts.map +1 -0
  728. package/lib/typescript/ai-components/tool-calls/index.d.ts +5 -0
  729. package/lib/typescript/ai-components/tool-calls/index.d.ts.map +1 -0
  730. package/lib/typescript/ai-components/voice-visualization/glowShader.d.ts.map +1 -1
  731. package/lib/typescript/ai-components/voice-visualization/simplex.d.ts +1 -1
  732. package/lib/typescript/components/Accessibility/NotificationAnnouncer.d.ts +5 -5
  733. package/lib/typescript/components/Accessibility/hooks/useIncomingMessageAnnouncements.d.ts +1 -1
  734. package/lib/typescript/components/Accessibility/useAccessibilityAnnouncer.d.ts +0 -2
  735. package/lib/typescript/components/Accessibility/useAccessibilityAnnouncer.d.ts.map +1 -1
  736. package/lib/typescript/components/Message/MessageItemView/utils/renderText.d.ts.map +1 -1
  737. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +1 -1
  738. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts.map +1 -1
  739. package/lib/typescript/i18n/ar.json +39 -1
  740. package/lib/typescript/i18n/en.json +39 -1
  741. package/lib/typescript/i18n/es.json +39 -1
  742. package/lib/typescript/i18n/fr.json +39 -1
  743. package/lib/typescript/i18n/he.json +39 -1
  744. package/lib/typescript/i18n/hi.json +39 -1
  745. package/lib/typescript/i18n/it.json +39 -1
  746. package/lib/typescript/i18n/ja.json +39 -1
  747. package/lib/typescript/i18n/ko.json +39 -1
  748. package/lib/typescript/i18n/nl.json +39 -1
  749. package/lib/typescript/i18n/pt-br.json +39 -1
  750. package/lib/typescript/i18n/ru.json +39 -1
  751. package/lib/typescript/i18n/tr.json +39 -1
  752. package/lib/typescript/utils/i18n/Streami18n.d.ts +40 -2
  753. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  754. package/lib/typescript/utils/i18n/utils.d.ts +3 -0
  755. package/lib/typescript/utils/i18n/utils.d.ts.map +1 -0
  756. package/package.json +10 -2
  757. package/src/a11y/a11yUtils.ts +0 -1
  758. package/src/a11y/hooks/useResolvedModalAccessibilityProps.ts +2 -3
  759. package/src/a2ui/A2UIContexts.ts +15 -0
  760. package/src/a2ui/A2UIInstructions.ts +102 -0
  761. package/src/a2ui/A2UIPlaceholder.tsx +24 -0
  762. package/src/a2ui/A2UIRenderer.tsx +504 -0
  763. package/src/a2ui/A2UIStream.ts +105 -0
  764. package/src/a2ui/A2UISurface.tsx +241 -0
  765. package/src/a2ui/__tests__/A2UIInstructions.test.ts +233 -0
  766. package/src/a2ui/__tests__/A2UIRenderer.test.tsx +1514 -0
  767. package/src/a2ui/__tests__/conformance.test.ts +579 -0
  768. package/src/a2ui/basicCatalog.json +1206 -0
  769. package/src/a2ui/basicFunctions.ts +429 -0
  770. package/src/a2ui/catalogDocument.ts +119 -0
  771. package/src/a2ui/catalogs.ts +185 -0
  772. package/src/a2ui/components/DateTimeInput.tsx +381 -0
  773. package/src/a2ui/components/Media.tsx +278 -0
  774. package/src/a2ui/components/basicComponents.tsx +832 -0
  775. package/src/a2ui/components/iconPaths.ts +116 -0
  776. package/src/a2ui/components/types.ts +24 -0
  777. package/src/a2ui/index.ts +18 -0
  778. package/src/a2ui/instructions.ts +341 -0
  779. package/src/a2ui/secrets.ts +154 -0
  780. package/src/a2ui/useReplyState.ts +26 -0
  781. package/src/ai-components/AITypingIndicatorView.tsx +6 -22
  782. package/src/ai-components/README.md +55 -3
  783. package/src/ai-components/StreamingMessageView.tsx +27 -3
  784. package/src/ai-components/__tests__/ComposerView.test.tsx +227 -2
  785. package/src/ai-components/__tests__/Markdown.test.tsx +13 -0
  786. package/src/ai-components/__tests__/StreamingMessageView.test.tsx +69 -0
  787. package/src/ai-components/__tests__/charts.test.ts +75 -0
  788. package/src/ai-components/__tests__/clientToolRunner.test.ts +239 -0
  789. package/src/ai-components/__tests__/conversation.test.tsx +705 -0
  790. package/src/ai-components/__tests__/conversationController.test.ts +1561 -0
  791. package/src/ai-components/__tests__/conversationExchange.test.ts +187 -0
  792. package/src/ai-components/__tests__/conversationRows.test.ts +207 -0
  793. package/src/ai-components/__tests__/conversationUI.test.tsx +586 -0
  794. package/src/ai-components/__tests__/format.test.ts +32 -0
  795. package/src/ai-components/__tests__/generativeUI.test.ts +634 -0
  796. package/src/ai-components/__tests__/keyboard.test.ts +14 -0
  797. package/src/ai-components/__tests__/messagePartViews.test.tsx +343 -0
  798. package/src/ai-components/__tests__/messageParts.test.ts +336 -0
  799. package/src/ai-components/__tests__/messageViews.test.tsx +321 -0
  800. package/src/ai-components/__tests__/signIn.test.tsx +324 -0
  801. package/src/ai-components/__tests__/theme.test.tsx +18 -0
  802. package/src/ai-components/__tests__/translation.test.tsx +85 -0
  803. package/src/ai-components/__tests__/voiceDriver.test.ts +0 -3
  804. package/src/ai-components/__tests__/voicePalette.test.ts +1 -1
  805. package/src/ai-components/charts/components/PieLegend.tsx +2 -1
  806. package/src/ai-components/charts/components/VictoryChart.tsx +10 -2
  807. package/src/ai-components/charts/utils/format-time-label.ts +18 -0
  808. package/src/ai-components/charts/vega-lite/schema.ts +19 -2
  809. package/src/ai-components/contexts/composer-context.tsx +13 -5
  810. package/src/ai-components/contexts/index.ts +1 -0
  811. package/src/ai-components/contexts/theme-context.tsx +19 -4
  812. package/src/ai-components/contexts/translation-context.tsx +44 -0
  813. package/src/ai-components/conversation/AIConversation.tsx +590 -0
  814. package/src/ai-components/conversation/controller/AIAgentError.ts +14 -0
  815. package/src/ai-components/conversation/controller/AIConversationController.ts +623 -0
  816. package/src/ai-components/conversation/controller/AIConversationExchange.ts +132 -0
  817. package/src/ai-components/conversation/controller/index.ts +4 -0
  818. package/src/ai-components/conversation/controller/offers.ts +43 -0
  819. package/src/ai-components/conversation/controller/types.ts +154 -0
  820. package/src/ai-components/conversation/controller/useAIConversationState.ts +21 -0
  821. package/src/ai-components/conversation/entries.ts +177 -0
  822. package/src/ai-components/conversation/fromStreamMessage.ts +87 -0
  823. package/src/ai-components/conversation/index.ts +5 -0
  824. package/src/ai-components/conversation/list/AIChatList.tsx +227 -0
  825. package/src/ai-components/conversation/list/useChatListController.ts +91 -0
  826. package/src/ai-components/conversation/list/useEndInView.ts +61 -0
  827. package/src/ai-components/conversation/list/useKeyboardOverlap.ts +51 -0
  828. package/src/ai-components/conversation/list/useLoadOlder.ts +97 -0
  829. package/src/ai-components/conversation/list/usePinnedAnchor.ts +113 -0
  830. package/src/ai-components/conversation/types.ts +57 -0
  831. package/src/ai-components/conversation/useConversationRows.ts +230 -0
  832. package/src/ai-components/generative-ui/AIUIAction.ts +73 -0
  833. package/src/ai-components/generative-ui/AIUIArguments.ts +117 -0
  834. package/src/ai-components/generative-ui/AIUIComponent.tsx +106 -0
  835. package/src/ai-components/generative-ui/AIUIComponentDefinition.ts +163 -0
  836. package/src/ai-components/generative-ui/AIUIDocument.ts +77 -0
  837. package/src/ai-components/generative-ui/AIUIEntrance.tsx +223 -0
  838. package/src/ai-components/generative-ui/AIUIErrorBoundary.tsx +39 -0
  839. package/src/ai-components/generative-ui/AIUIHelpers.ts +86 -0
  840. package/src/ai-components/generative-ui/AIUIHost.ts +358 -0
  841. package/src/ai-components/generative-ui/AIUIMedia.ts +45 -0
  842. package/src/ai-components/generative-ui/AIUIRenderer.ts +60 -0
  843. package/src/ai-components/generative-ui/AIUIView.tsx +87 -0
  844. package/src/ai-components/generative-ui/index.ts +48 -0
  845. package/src/ai-components/icons.ts +101 -0
  846. package/src/ai-components/index.ts +10 -0
  847. package/src/ai-components/internal/Shimmer.tsx +40 -0
  848. package/src/ai-components/internal/format.ts +69 -0
  849. package/src/ai-components/internal/hooks/useBottomSafeArea.ts +6 -0
  850. package/src/ai-components/internal/icons/AgentIcons.tsx +138 -0
  851. package/src/ai-components/internal/tokens.ts +4 -0
  852. package/src/ai-components/internal/uuid.ts +17 -0
  853. package/src/ai-components/markdown/components/CodeBlock.tsx +13 -2
  854. package/src/ai-components/markdown/components/InlineCode.tsx +1 -0
  855. package/src/ai-components/markdown/components/Text.tsx +7 -2
  856. package/src/ai-components/markdown/styles.ts +29 -27
  857. package/src/ai-components/markdown/types.ts +1 -0
  858. package/src/ai-components/message/AIAssistantMessage.tsx +99 -0
  859. package/src/ai-components/message/AIMessageAttachment.tsx +245 -0
  860. package/src/ai-components/message/AIReplyActions.tsx +139 -0
  861. package/src/ai-components/message/AIUserMessage.tsx +121 -0
  862. package/src/ai-components/message/UserMessageMenu.tsx +149 -0
  863. package/src/ai-components/message/index.ts +4 -0
  864. package/src/ai-components/message-composer/ActionButton.tsx +5 -1
  865. package/src/ai-components/message-composer/ActionSheet.tsx +28 -6
  866. package/src/ai-components/message-composer/AttachmentButton.tsx +9 -1
  867. package/src/ai-components/message-composer/ChatOptions.tsx +144 -0
  868. package/src/ai-components/message-composer/ComposerView.tsx +179 -29
  869. package/src/ai-components/message-composer/EditingMessageChip.tsx +61 -0
  870. package/src/ai-components/message-composer/MediaPreviewList.tsx +34 -8
  871. package/src/ai-components/message-composer/index.ts +1 -0
  872. package/src/ai-components/message-parts/AIMessageParts.tsx +120 -0
  873. package/src/ai-components/message-parts/AIToolApproval.tsx +196 -0
  874. package/src/ai-components/message-parts/AIToolAuthorization.tsx +279 -0
  875. package/src/ai-components/message-parts/AIToolCall.tsx +117 -0
  876. package/src/ai-components/message-parts/callStates.ts +44 -0
  877. package/src/ai-components/message-parts/index.ts +6 -0
  878. package/src/ai-components/message-parts/parseMessageParts.ts +195 -0
  879. package/src/ai-components/message-parts/types.ts +157 -0
  880. package/src/ai-components/native-specs/NativeAIAgent.ts +25 -0
  881. package/src/ai-components/reasoning/AIReasoning.tsx +509 -0
  882. package/src/ai-components/reasoning/index.ts +2 -0
  883. package/src/ai-components/reasoning/thinkingClock.ts +109 -0
  884. package/src/ai-components/services/clipboard-service/expo.ts +18 -4
  885. package/src/ai-components/store/composer/store.ts +9 -0
  886. package/src/ai-components/store/composer/useComposerChatOption.ts +15 -0
  887. package/src/ai-components/store/composer/useComposerIsEditing.ts +15 -0
  888. package/src/ai-components/store/index.ts +2 -0
  889. package/src/ai-components/suggestions/AISuggestions.tsx +73 -0
  890. package/src/ai-components/suggestions/index.ts +1 -0
  891. package/src/ai-components/syntax-highlighting/utils/flatten-nodes.ts +2 -1
  892. package/src/ai-components/syntax-highlighting/utils/renderer.tsx +4 -2
  893. package/src/ai-components/theme.ts +334 -0
  894. package/src/ai-components/tool-calls/AIClientIdentity.ts +33 -0
  895. package/src/ai-components/tool-calls/AIClientToolRunner.ts +200 -0
  896. package/src/ai-components/tool-calls/AIToolApprover.tsx +60 -0
  897. package/src/ai-components/tool-calls/authSessionAuthorizer.ts +137 -0
  898. package/src/ai-components/tool-calls/index.ts +4 -0
  899. package/src/ai-components/voice-visualization/glowShader.ts +1 -3
  900. package/src/ai-components/voice-visualization/simplex.ts +1 -1
  901. package/src/components/Accessibility/NotificationAnnouncer.tsx +5 -5
  902. package/src/components/Accessibility/hooks/useIncomingMessageAnnouncements.ts +1 -1
  903. package/src/components/Accessibility/useAccessibilityAnnouncer.ts +0 -2
  904. package/src/components/Message/MessageItemView/utils/renderText.tsx +1 -2
  905. package/src/contexts/translationContext/TranslationContext.tsx +2 -2
  906. package/src/i18n/ar.json +39 -1
  907. package/src/i18n/en.json +39 -1
  908. package/src/i18n/es.json +39 -1
  909. package/src/i18n/fr.json +39 -1
  910. package/src/i18n/he.json +39 -1
  911. package/src/i18n/hi.json +39 -1
  912. package/src/i18n/it.json +39 -1
  913. package/src/i18n/ja.json +39 -1
  914. package/src/i18n/ko.json +39 -1
  915. package/src/i18n/nl.json +39 -1
  916. package/src/i18n/pt-br.json +39 -1
  917. package/src/i18n/ru.json +39 -1
  918. package/src/i18n/tr.json +39 -1
  919. package/src/mock-builders/a2ui/ohrid.ts +106 -0
  920. package/src/utils/i18n/Streami18n.ts +4 -1
  921. package/src/utils/i18n/utils.ts +3 -0
  922. package/src/version.json +1 -1
@@ -0,0 +1,1206 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://a2ui.org/specification/v1_0/catalogs/basic/catalog.json",
4
+ "protocolVersion": "1.0",
5
+ "title": "A2UI Basic Catalog",
6
+ "description": "Unified catalog of basic A2UI components and functions.",
7
+ "catalogId": "https://a2ui.org/specification/v1_0/catalogs/basic/catalog.json",
8
+ "instructions": "For layout, use the Row and Column components to organize other components.\n\n## Catalog Guidelines\n\n1. String Concatenation & Formatting: A2UI does not support binary operators like '+' or formatting symbols. To concatenate strings or dynamically inject data bindings into text, you must use the catalog function `formatString(value)` where the value string contains placeholders formatted as `${expression}`:\n formatString(\"Hello ${/user/name}\")\n\n2. Strict Hierarchy: You must strictly adhere to the requested component nesting and hierarchy. If the prompt specifies that a component is 'inside' or 'contained in' another component, you MUST place it as a child of that specific component, not as a sibling or in a different container.\n\n3. Validation Checks: When components support validation checks, specify any custom error messages directly as the 'message' inside the check. Do NOT create separate text-display components to display validation errors.\n\n## Examples\n\nExample 1: Dynamic text form\n```json\n[\n {\n \"version\": \"1.0\",\n \"createSurface\": {\n \"surfaceId\": \"main\",\n \"catalogId\": \"https://a2ui.org/specification/v1_0/catalogs/basic/catalog.json\",\n \"components\": [\n {\n \"id\": \"root\",\n \"component\": \"Column\",\n \"children\": [\"repField\", \"valueField\"]\n },\n {\n \"id\": \"repField\",\n \"component\": \"TextField\",\n \"label\": \"Representative\",\n \"value\": {\"@path\": \"/form/rep\"},\n \"placeholder\": \"Enter name\"\n },\n {\n \"id\": \"valueField\",\n \"component\": \"TextField\",\n \"label\": \"Deal Value\",\n \"value\": {\"@path\": \"/form/value\"},\n \"placeholder\": \"0.00\",\n \"variant\": \"number\",\n \"checks\": [\n {\n \"condition\": {\n \"@call\": \"required\",\n \"args\": {\"value\": {\"@path\": \"/form/value\"}}\n },\n \"message\": \"Deal value is required.\"\n }\n ]\n }\n ],\n \"dataModel\": {\n \"form\": {\n \"rep\": \"John Doe\",\n \"value\": 1500.00\n }\n }\n }\n }\n]\n```\n\nExample 2: Dynamic list with templates\n```json\n[\n {\n \"version\": \"1.0\",\n \"createSurface\": {\n \"surfaceId\": \"main\",\n \"catalogId\": \"https://a2ui.org/specification/v1_0/catalogs/basic/catalog.json\",\n \"components\": [\n {\n \"id\": \"root\",\n \"component\": \"Card\",\n \"child\": \"breedList\"\n },\n {\n \"id\": \"breedList\",\n \"component\": \"List\",\n \"children\": {\n \"path\": \"/breeds\",\n \"componentId\": \"breedTemplate\"\n },\n \"direction\": \"horizontal\"\n },\n {\n \"id\": \"breedTemplate\",\n \"component\": \"Image\",\n \"url\": {\"@path\": \"url\"}\n }\n ],\n \"dataModel\": {\n \"breeds\": [\n {\n \"url\": \"https://example.com/poodle.jpg\"\n },\n {\n \"url\": \"https://example.com/lab.jpg\"\n }\n ]\n }\n }\n }\n]\n```",
9
+ "components": {
10
+ "Text": {
11
+ "type": "object",
12
+ "properties": {
13
+ "component": {
14
+ "const": "Text"
15
+ },
16
+ "text": {
17
+ "$ref": "common_types.json#/$defs/DynamicString",
18
+ "description": "The text content to display. While simple Markdown formatting is supported (i.e. without HTML, images, or links), utilizing dedicated UI components is generally preferred for a richer and more structured presentation."
19
+ },
20
+ "variant": {
21
+ "type": "string",
22
+ "description": "A hint for the base text style.",
23
+ "enum": ["caption", "body"],
24
+ "default": "body"
25
+ },
26
+ "weight": {
27
+ "$ref": "#/$defs/Weight"
28
+ }
29
+ },
30
+ "required": ["component", "text"]
31
+ },
32
+ "Image": {
33
+ "type": "object",
34
+ "properties": {
35
+ "component": {
36
+ "const": "Image"
37
+ },
38
+ "url": {
39
+ "$ref": "common_types.json#/$defs/DynamicString",
40
+ "description": "The URL of the image to display."
41
+ },
42
+ "description": {
43
+ "$ref": "common_types.json#/$defs/DynamicString",
44
+ "description": "Accessibility text for the image."
45
+ },
46
+ "fit": {
47
+ "type": "string",
48
+ "description": "Specifies how the image should be resized to fit its container. This corresponds to the CSS 'object-fit' property.",
49
+ "enum": ["contain", "cover", "fill", "none", "scaleDown"],
50
+ "default": "fill"
51
+ },
52
+ "variant": {
53
+ "type": "string",
54
+ "description": "A hint for the image size and style.",
55
+ "enum": ["icon", "avatar", "smallFeature", "mediumFeature", "largeFeature", "header"],
56
+ "default": "mediumFeature"
57
+ },
58
+ "weight": {
59
+ "$ref": "#/$defs/Weight"
60
+ }
61
+ },
62
+ "required": ["component", "url"]
63
+ },
64
+ "Icon": {
65
+ "type": "object",
66
+ "properties": {
67
+ "component": {
68
+ "const": "Icon"
69
+ },
70
+ "name": {
71
+ "description": "The name of the icon to display.",
72
+ "oneOf": [
73
+ {
74
+ "type": "string",
75
+ "enum": [
76
+ "accountCircle",
77
+ "add",
78
+ "arrowBack",
79
+ "arrowForward",
80
+ "attachFile",
81
+ "calendarToday",
82
+ "call",
83
+ "camera",
84
+ "check",
85
+ "close",
86
+ "delete",
87
+ "download",
88
+ "edit",
89
+ "event",
90
+ "error",
91
+ "fastForward",
92
+ "favorite",
93
+ "favoriteOff",
94
+ "folder",
95
+ "help",
96
+ "home",
97
+ "info",
98
+ "locationOn",
99
+ "lock",
100
+ "lockOpen",
101
+ "mail",
102
+ "menu",
103
+ "moreVert",
104
+ "moreHoriz",
105
+ "notificationsOff",
106
+ "notifications",
107
+ "pause",
108
+ "payment",
109
+ "person",
110
+ "phone",
111
+ "photo",
112
+ "play",
113
+ "print",
114
+ "refresh",
115
+ "rewind",
116
+ "search",
117
+ "send",
118
+ "settings",
119
+ "share",
120
+ "shoppingCart",
121
+ "skipNext",
122
+ "skipPrevious",
123
+ "star",
124
+ "starHalf",
125
+ "starOff",
126
+ "stop",
127
+ "upload",
128
+ "visibility",
129
+ "visibilityOff",
130
+ "volumeDown",
131
+ "volumeMute",
132
+ "volumeOff",
133
+ "volumeUp",
134
+ "warning"
135
+ ]
136
+ },
137
+ {
138
+ "type": "object",
139
+ "properties": {
140
+ "svgPath": {
141
+ "$ref": "common_types.json#/$defs/DynamicString"
142
+ }
143
+ },
144
+ "required": ["svgPath"],
145
+ "additionalProperties": false
146
+ },
147
+ {
148
+ "$ref": "common_types.json#/$defs/DataBinding"
149
+ }
150
+ ]
151
+ },
152
+ "weight": {
153
+ "$ref": "#/$defs/Weight"
154
+ }
155
+ },
156
+ "required": ["component", "name"]
157
+ },
158
+ "Video": {
159
+ "type": "object",
160
+ "properties": {
161
+ "component": {
162
+ "const": "Video"
163
+ },
164
+ "url": {
165
+ "$ref": "common_types.json#/$defs/DynamicString",
166
+ "description": "The URL of the video to display."
167
+ },
168
+ "posterUrl": {
169
+ "$ref": "common_types.json#/$defs/DynamicString",
170
+ "description": "The URL of the poster image to display before the video plays."
171
+ },
172
+ "weight": {
173
+ "$ref": "#/$defs/Weight"
174
+ }
175
+ },
176
+ "required": ["component", "url"]
177
+ },
178
+ "AudioPlayer": {
179
+ "type": "object",
180
+ "properties": {
181
+ "component": {
182
+ "const": "AudioPlayer"
183
+ },
184
+ "url": {
185
+ "$ref": "common_types.json#/$defs/DynamicString",
186
+ "description": "The URL of the audio to be played."
187
+ },
188
+ "description": {
189
+ "description": "A description of the audio, such as a title or summary.",
190
+ "$ref": "common_types.json#/$defs/DynamicString"
191
+ },
192
+ "weight": {
193
+ "$ref": "#/$defs/Weight"
194
+ }
195
+ },
196
+ "required": ["component", "url"]
197
+ },
198
+ "Row": {
199
+ "type": "object",
200
+ "description": "A layout component that arranges its children horizontally. To create a grid layout, nest Columns within this Row.",
201
+ "properties": {
202
+ "component": {
203
+ "const": "Row"
204
+ },
205
+ "children": {
206
+ "description": "Defines the children. Use an array of strings for a fixed set of children, or a template object to generate children from a data list. Children cannot be defined inline, they must be referred to by ID.",
207
+ "$ref": "common_types.json#/$defs/ChildList"
208
+ },
209
+ "justify": {
210
+ "type": "string",
211
+ "description": "Defines the arrangement of children along the main axis (horizontally). Use 'spaceBetween' to push items to the edges, or 'start'/'end'/'center' to pack them together.",
212
+ "enum": [
213
+ "center",
214
+ "end",
215
+ "spaceAround",
216
+ "spaceBetween",
217
+ "spaceEvenly",
218
+ "start",
219
+ "stretch"
220
+ ],
221
+ "default": "start"
222
+ },
223
+ "align": {
224
+ "type": "string",
225
+ "description": "Defines the alignment of children along the cross axis (vertically). This is similar to the CSS 'align-items' property, but uses camelCase values (e.g., 'start').",
226
+ "enum": ["start", "center", "end", "stretch"],
227
+ "default": "stretch"
228
+ },
229
+ "weight": {
230
+ "$ref": "#/$defs/Weight"
231
+ }
232
+ },
233
+ "required": ["component", "children"]
234
+ },
235
+ "Column": {
236
+ "type": "object",
237
+ "description": "A layout component that arranges its children vertically. To create a grid layout, nest Rows within this Column.",
238
+ "properties": {
239
+ "component": {
240
+ "const": "Column"
241
+ },
242
+ "children": {
243
+ "description": "Defines the children. Use an array of strings for a fixed set of children, or a template object to generate children from a data list. Children cannot be defined inline, they must be referred to by ID.",
244
+ "$ref": "common_types.json#/$defs/ChildList"
245
+ },
246
+ "justify": {
247
+ "type": "string",
248
+ "description": "Defines the arrangement of children along the main axis (vertically). Use 'spaceBetween' to push items to the edges (e.g. header at top, footer at bottom), or 'start'/'end'/'center' to pack them together.",
249
+ "enum": [
250
+ "start",
251
+ "center",
252
+ "end",
253
+ "spaceBetween",
254
+ "spaceAround",
255
+ "spaceEvenly",
256
+ "stretch"
257
+ ],
258
+ "default": "start"
259
+ },
260
+ "align": {
261
+ "type": "string",
262
+ "description": "Defines the alignment of children along the cross axis (horizontally). This is similar to the CSS 'align-items' property.",
263
+ "enum": ["center", "end", "start", "stretch"],
264
+ "default": "stretch"
265
+ },
266
+ "weight": {
267
+ "$ref": "#/$defs/Weight"
268
+ }
269
+ },
270
+ "required": ["component", "children"]
271
+ },
272
+ "List": {
273
+ "type": "object",
274
+ "properties": {
275
+ "component": {
276
+ "const": "List"
277
+ },
278
+ "children": {
279
+ "description": "Defines the children. Use an array of strings for a fixed set of children, or a template object to generate children from a data list.",
280
+ "$ref": "common_types.json#/$defs/ChildList"
281
+ },
282
+ "direction": {
283
+ "type": "string",
284
+ "description": "The direction in which the list items are laid out.",
285
+ "enum": ["vertical", "horizontal"],
286
+ "default": "vertical"
287
+ },
288
+ "align": {
289
+ "type": "string",
290
+ "description": "Defines the alignment of children along the cross axis.",
291
+ "enum": ["start", "center", "end", "stretch"],
292
+ "default": "stretch"
293
+ },
294
+ "weight": {
295
+ "$ref": "#/$defs/Weight"
296
+ }
297
+ },
298
+ "required": ["component", "children"]
299
+ },
300
+ "Card": {
301
+ "type": "object",
302
+ "properties": {
303
+ "component": {
304
+ "const": "Card"
305
+ },
306
+ "child": {
307
+ "$ref": "common_types.json#/$defs/Child",
308
+ "description": "The ID of the single child component to be rendered inside the card. To display multiple elements, you MUST wrap them in a layout component (like Column or Row) and pass that container's ID here. Do NOT pass multiple IDs or a non-existent ID."
309
+ },
310
+ "weight": {
311
+ "$ref": "#/$defs/Weight"
312
+ }
313
+ },
314
+ "required": ["component", "child"]
315
+ },
316
+ "Tabs": {
317
+ "type": "object",
318
+ "properties": {
319
+ "component": {
320
+ "const": "Tabs"
321
+ },
322
+ "tabs": {
323
+ "type": "array",
324
+ "description": "An array of objects, where each object defines a tab with a title and a child component.",
325
+ "minItems": 1,
326
+ "items": {
327
+ "type": "object",
328
+ "properties": {
329
+ "title": {
330
+ "description": "The tab title.",
331
+ "$ref": "common_types.json#/$defs/DynamicString"
332
+ },
333
+ "child": {
334
+ "$ref": "common_types.json#/$defs/Child",
335
+ "description": "The ID of the child component."
336
+ }
337
+ },
338
+ "required": ["title", "child"],
339
+ "additionalProperties": false
340
+ }
341
+ },
342
+ "weight": {
343
+ "$ref": "#/$defs/Weight"
344
+ }
345
+ },
346
+ "required": ["component", "tabs"]
347
+ },
348
+ "Modal": {
349
+ "type": "object",
350
+ "properties": {
351
+ "component": {
352
+ "const": "Modal"
353
+ },
354
+ "trigger": {
355
+ "$ref": "common_types.json#/$defs/Child",
356
+ "description": "The ID of the component that opens the modal when interacted with (e.g., a button)."
357
+ },
358
+ "content": {
359
+ "$ref": "common_types.json#/$defs/Child",
360
+ "description": "The ID of the component to be displayed inside the modal."
361
+ },
362
+ "weight": {
363
+ "$ref": "#/$defs/Weight"
364
+ }
365
+ },
366
+ "required": ["component", "trigger", "content"]
367
+ },
368
+ "Divider": {
369
+ "type": "object",
370
+ "properties": {
371
+ "component": {
372
+ "const": "Divider"
373
+ },
374
+ "axis": {
375
+ "type": "string",
376
+ "description": "The orientation of the divider.",
377
+ "enum": ["horizontal", "vertical"],
378
+ "default": "horizontal"
379
+ },
380
+ "weight": {
381
+ "$ref": "#/$defs/Weight"
382
+ }
383
+ },
384
+ "required": ["component"]
385
+ },
386
+ "Button": {
387
+ "type": "object",
388
+ "allOf": [
389
+ {
390
+ "$ref": "common_types.json#/$defs/Checkable"
391
+ },
392
+ {
393
+ "type": "object",
394
+ "properties": {
395
+ "component": {
396
+ "const": "Button"
397
+ },
398
+ "child": {
399
+ "$ref": "common_types.json#/$defs/Child",
400
+ "description": "The ID of the child component. Use a 'Text' component for a labeled button. Only use an 'Icon' if the requirements explicitly ask for an icon-only button."
401
+ },
402
+ "variant": {
403
+ "type": "string",
404
+ "description": "A hint for the button style. If omitted, a default button style is used. 'primary' indicates this is the main call-to-action button. 'borderless' means the button has no visual border or background, making its child content appear like a clickable link.",
405
+ "enum": ["default", "primary", "borderless"],
406
+ "default": "default"
407
+ },
408
+ "action": {
409
+ "$ref": "common_types.json#/$defs/Action"
410
+ },
411
+ "weight": {
412
+ "$ref": "#/$defs/Weight"
413
+ }
414
+ },
415
+ "required": ["component", "child", "action"]
416
+ }
417
+ ]
418
+ },
419
+ "TextField": {
420
+ "type": "object",
421
+ "allOf": [
422
+ {
423
+ "$ref": "common_types.json#/$defs/Checkable"
424
+ },
425
+ {
426
+ "type": "object",
427
+ "properties": {
428
+ "component": {
429
+ "const": "TextField"
430
+ },
431
+ "label": {
432
+ "$ref": "common_types.json#/$defs/DynamicString",
433
+ "description": "The text label for the input field."
434
+ },
435
+ "value": {
436
+ "$ref": "common_types.json#/$defs/DynamicString",
437
+ "description": "The value of the text field."
438
+ },
439
+ "placeholder": {
440
+ "$ref": "common_types.json#/$defs/DynamicString",
441
+ "description": "The placeholder text for the input field."
442
+ },
443
+ "variant": {
444
+ "type": "string",
445
+ "description": "The type of input field to display.",
446
+ "enum": ["longText", "number", "shortText", "obscured"],
447
+ "default": "shortText"
448
+ },
449
+ "weight": {
450
+ "$ref": "#/$defs/Weight"
451
+ }
452
+ },
453
+ "required": ["component", "label"]
454
+ }
455
+ ]
456
+ },
457
+ "CheckBox": {
458
+ "type": "object",
459
+ "allOf": [
460
+ {
461
+ "$ref": "common_types.json#/$defs/Checkable"
462
+ },
463
+ {
464
+ "type": "object",
465
+ "properties": {
466
+ "component": {
467
+ "const": "CheckBox"
468
+ },
469
+ "label": {
470
+ "$ref": "common_types.json#/$defs/DynamicString",
471
+ "description": "The text to display next to the checkbox."
472
+ },
473
+ "value": {
474
+ "$ref": "common_types.json#/$defs/DynamicBoolean",
475
+ "description": "The current state of the checkbox (true for checked, false for unchecked)."
476
+ },
477
+ "weight": {
478
+ "$ref": "#/$defs/Weight"
479
+ }
480
+ },
481
+ "required": ["component", "label", "value"]
482
+ }
483
+ ]
484
+ },
485
+ "ChoicePicker": {
486
+ "type": "object",
487
+ "description": "A component that allows selecting one or more options from a list.",
488
+ "allOf": [
489
+ {
490
+ "$ref": "common_types.json#/$defs/Checkable"
491
+ },
492
+ {
493
+ "type": "object",
494
+ "properties": {
495
+ "component": {
496
+ "const": "ChoicePicker"
497
+ },
498
+ "label": {
499
+ "$ref": "common_types.json#/$defs/DynamicString",
500
+ "description": "The label for the group of options."
501
+ },
502
+ "variant": {
503
+ "type": "string",
504
+ "description": "A hint for how the choice picker should be displayed and behave.",
505
+ "enum": ["multipleSelection", "mutuallyExclusive"],
506
+ "default": "mutuallyExclusive"
507
+ },
508
+ "options": {
509
+ "type": "array",
510
+ "description": "The list of available options to choose from.",
511
+ "items": {
512
+ "type": "object",
513
+ "properties": {
514
+ "label": {
515
+ "description": "The text to display for this option.",
516
+ "$ref": "common_types.json#/$defs/DynamicString"
517
+ },
518
+ "value": {
519
+ "type": "string",
520
+ "description": "The stable value associated with this option."
521
+ }
522
+ },
523
+ "required": ["label", "value"],
524
+ "additionalProperties": false
525
+ }
526
+ },
527
+ "value": {
528
+ "$ref": "common_types.json#/$defs/DynamicStringList",
529
+ "description": "The list of currently selected values. This should be bound to a string array in the data model."
530
+ },
531
+ "displayStyle": {
532
+ "type": "string",
533
+ "description": "The display style of the component.",
534
+ "enum": ["checkbox", "chips"],
535
+ "default": "checkbox"
536
+ },
537
+ "filterable": {
538
+ "type": "boolean",
539
+ "description": "If true, displays a search input to filter the options.",
540
+ "default": false
541
+ },
542
+ "weight": {
543
+ "$ref": "#/$defs/Weight"
544
+ }
545
+ },
546
+ "required": ["component", "options", "value"]
547
+ }
548
+ ]
549
+ },
550
+ "Slider": {
551
+ "type": "object",
552
+ "allOf": [
553
+ {
554
+ "$ref": "common_types.json#/$defs/Checkable"
555
+ },
556
+ {
557
+ "type": "object",
558
+ "properties": {
559
+ "component": {
560
+ "const": "Slider"
561
+ },
562
+ "label": {
563
+ "$ref": "common_types.json#/$defs/DynamicString",
564
+ "description": "The label for the slider."
565
+ },
566
+ "min": {
567
+ "type": "number",
568
+ "description": "The minimum value of the slider.",
569
+ "default": 0
570
+ },
571
+ "max": {
572
+ "type": "number",
573
+ "description": "The maximum value of the slider."
574
+ },
575
+ "value": {
576
+ "$ref": "common_types.json#/$defs/DynamicNumber",
577
+ "description": "The current value of the slider."
578
+ },
579
+ "steps": {
580
+ "type": "integer",
581
+ "minimum": 1,
582
+ "description": "The number of discrete divisions in the slider range. If specified, the slider will snap to discrete values."
583
+ },
584
+ "weight": {
585
+ "$ref": "#/$defs/Weight"
586
+ }
587
+ },
588
+ "required": ["component", "value", "max"]
589
+ }
590
+ ]
591
+ },
592
+ "DateTimeInput": {
593
+ "type": "object",
594
+ "allOf": [
595
+ {
596
+ "$ref": "common_types.json#/$defs/Checkable"
597
+ },
598
+ {
599
+ "type": "object",
600
+ "properties": {
601
+ "component": {
602
+ "const": "DateTimeInput"
603
+ },
604
+ "value": {
605
+ "$ref": "common_types.json#/$defs/DynamicString",
606
+ "description": "The selected date and/or time value in ISO 8601 format. If not yet set, initialize with an empty string."
607
+ },
608
+ "enableDate": {
609
+ "type": "boolean",
610
+ "description": "If true, allows the user to select a date.",
611
+ "default": false
612
+ },
613
+ "enableTime": {
614
+ "type": "boolean",
615
+ "description": "If true, allows the user to select a time.",
616
+ "default": false
617
+ },
618
+ "min": {
619
+ "allOf": [
620
+ {
621
+ "$ref": "common_types.json#/$defs/DynamicString"
622
+ },
623
+ {
624
+ "if": {
625
+ "type": "string"
626
+ },
627
+ "then": {
628
+ "oneOf": [
629
+ {
630
+ "format": "date"
631
+ },
632
+ {
633
+ "format": "time"
634
+ },
635
+ {
636
+ "format": "date-time"
637
+ }
638
+ ]
639
+ }
640
+ }
641
+ ],
642
+ "description": "The minimum allowed date/time in ISO 8601 format."
643
+ },
644
+ "max": {
645
+ "allOf": [
646
+ {
647
+ "$ref": "common_types.json#/$defs/DynamicString"
648
+ },
649
+ {
650
+ "if": {
651
+ "type": "string"
652
+ },
653
+ "then": {
654
+ "oneOf": [
655
+ {
656
+ "format": "date"
657
+ },
658
+ {
659
+ "format": "time"
660
+ },
661
+ {
662
+ "format": "date-time"
663
+ }
664
+ ]
665
+ }
666
+ }
667
+ ],
668
+ "description": "The maximum allowed date/time in ISO 8601 format."
669
+ },
670
+ "label": {
671
+ "$ref": "common_types.json#/$defs/DynamicString",
672
+ "description": "The text label for the input field."
673
+ },
674
+ "weight": {
675
+ "$ref": "#/$defs/Weight"
676
+ }
677
+ },
678
+ "required": ["component", "value"]
679
+ }
680
+ ]
681
+ }
682
+ },
683
+ "functions": {
684
+ "required": {
685
+ "type": "object",
686
+ "description": "Checks that the value is not null, undefined, or empty.",
687
+ "returnType": "validationResult",
688
+ "properties": {
689
+ "@call": {
690
+ "const": "required"
691
+ },
692
+ "args": {
693
+ "type": "object",
694
+ "properties": {
695
+ "value": {
696
+ "description": "The value to check."
697
+ }
698
+ },
699
+ "required": ["value"],
700
+ "unevaluatedProperties": false
701
+ }
702
+ },
703
+ "required": ["@call", "args"]
704
+ },
705
+ "regex": {
706
+ "type": "object",
707
+ "description": "Checks that the value matches a regular expression string.",
708
+ "returnType": "validationResult",
709
+ "properties": {
710
+ "@call": {
711
+ "const": "regex"
712
+ },
713
+ "args": {
714
+ "type": "object",
715
+ "properties": {
716
+ "value": {
717
+ "$ref": "common_types.json#/$defs/DynamicString"
718
+ },
719
+ "pattern": {
720
+ "type": "string",
721
+ "description": "The regex pattern to match against."
722
+ }
723
+ },
724
+ "required": ["value", "pattern"],
725
+ "unevaluatedProperties": false
726
+ }
727
+ },
728
+ "required": ["@call", "args"]
729
+ },
730
+ "length": {
731
+ "type": "object",
732
+ "description": "Checks string length constraints.",
733
+ "returnType": "validationResult",
734
+ "properties": {
735
+ "@call": {
736
+ "const": "length"
737
+ },
738
+ "args": {
739
+ "type": "object",
740
+ "properties": {
741
+ "value": {
742
+ "$ref": "common_types.json#/$defs/DynamicString"
743
+ },
744
+ "min": {
745
+ "type": "integer",
746
+ "minimum": 0,
747
+ "description": "The minimum allowed length."
748
+ },
749
+ "max": {
750
+ "type": "integer",
751
+ "minimum": 0,
752
+ "description": "The maximum allowed length."
753
+ }
754
+ },
755
+ "required": ["value"],
756
+ "anyOf": [
757
+ {
758
+ "required": ["min"]
759
+ },
760
+ {
761
+ "required": ["max"]
762
+ }
763
+ ],
764
+ "unevaluatedProperties": false
765
+ }
766
+ },
767
+ "required": ["@call", "args"]
768
+ },
769
+ "numeric": {
770
+ "type": "object",
771
+ "description": "Checks numeric range constraints.",
772
+ "returnType": "validationResult",
773
+ "properties": {
774
+ "@call": {
775
+ "const": "numeric"
776
+ },
777
+ "args": {
778
+ "type": "object",
779
+ "properties": {
780
+ "value": {
781
+ "$ref": "common_types.json#/$defs/DynamicNumber"
782
+ },
783
+ "min": {
784
+ "type": "number",
785
+ "description": "The minimum allowed value."
786
+ },
787
+ "max": {
788
+ "type": "number",
789
+ "description": "The maximum allowed value."
790
+ }
791
+ },
792
+ "required": ["value"],
793
+ "anyOf": [
794
+ {
795
+ "required": ["min"]
796
+ },
797
+ {
798
+ "required": ["max"]
799
+ }
800
+ ],
801
+ "unevaluatedProperties": false
802
+ }
803
+ },
804
+ "required": ["@call", "args"]
805
+ },
806
+ "email": {
807
+ "type": "object",
808
+ "description": "Checks that the value is a valid email address.",
809
+ "returnType": "validationResult",
810
+ "properties": {
811
+ "@call": {
812
+ "const": "email"
813
+ },
814
+ "args": {
815
+ "type": "object",
816
+ "properties": {
817
+ "value": {
818
+ "$ref": "common_types.json#/$defs/DynamicString"
819
+ }
820
+ },
821
+ "required": ["value"],
822
+ "unevaluatedProperties": false
823
+ }
824
+ },
825
+ "required": ["@call", "args"]
826
+ },
827
+ "formatString": {
828
+ "type": "object",
829
+ "description": "Performs string interpolation of data model values and other functions in the catalog functions list and returns the resulting string. The value string can contain interpolated expressions in the `${expression}` format. Supported expression types include: JSON Pointer paths to the data model (e.g., `${/absolute/path}` or `${relative/path}`), and renderer-side function calls (e.g., `${now()}`). Function arguments must be named (e.g., `${formatDate(value:${/currentDate}, format:'MM-dd')}`). To include a literal `${` sequence, escape it as `\\${`.",
830
+ "returnType": "string",
831
+ "properties": {
832
+ "@call": {
833
+ "const": "formatString"
834
+ },
835
+ "args": {
836
+ "type": "object",
837
+ "properties": {
838
+ "value": {
839
+ "$ref": "common_types.json#/$defs/DynamicString"
840
+ }
841
+ },
842
+ "required": ["value"],
843
+ "unevaluatedProperties": false
844
+ }
845
+ },
846
+ "required": ["@call", "args"]
847
+ },
848
+ "formatNumber": {
849
+ "type": "object",
850
+ "description": "Formats a number with the specified grouping and decimal precision.",
851
+ "returnType": "string",
852
+ "properties": {
853
+ "@call": {
854
+ "const": "formatNumber"
855
+ },
856
+ "args": {
857
+ "type": "object",
858
+ "properties": {
859
+ "value": {
860
+ "$ref": "common_types.json#/$defs/DynamicNumber",
861
+ "description": "The number to format."
862
+ },
863
+ "decimals": {
864
+ "$ref": "common_types.json#/$defs/DynamicNumber",
865
+ "description": "Optional. The number of decimal places to show. Defaults to 0 or 2 depending on locale."
866
+ },
867
+ "grouping": {
868
+ "$ref": "common_types.json#/$defs/DynamicBoolean",
869
+ "description": "Optional. If true, uses locale-specific grouping separators (e.g. '1,000'). If false, returns raw digits (e.g. '1000'). Defaults to true."
870
+ }
871
+ },
872
+ "required": ["value"],
873
+ "unevaluatedProperties": false
874
+ }
875
+ },
876
+ "required": ["@call", "args"]
877
+ },
878
+ "formatCurrency": {
879
+ "type": "object",
880
+ "description": "Formats a number as a currency string.",
881
+ "returnType": "string",
882
+ "properties": {
883
+ "@call": {
884
+ "const": "formatCurrency"
885
+ },
886
+ "args": {
887
+ "type": "object",
888
+ "properties": {
889
+ "value": {
890
+ "$ref": "common_types.json#/$defs/DynamicNumber",
891
+ "description": "The monetary amount."
892
+ },
893
+ "currency": {
894
+ "$ref": "common_types.json#/$defs/DynamicString",
895
+ "description": "The ISO 4217 currency code (e.g., 'USD', 'EUR')."
896
+ },
897
+ "decimals": {
898
+ "$ref": "common_types.json#/$defs/DynamicNumber",
899
+ "description": "Optional. The number of decimal places to show. Defaults to 0 or 2 depending on locale."
900
+ },
901
+ "grouping": {
902
+ "$ref": "common_types.json#/$defs/DynamicBoolean",
903
+ "description": "Optional. If true, uses locale-specific grouping separators (e.g. '1,000'). If false, returns raw digits (e.g. '1000'). Defaults to true."
904
+ }
905
+ },
906
+ "required": ["currency", "value"],
907
+ "unevaluatedProperties": false
908
+ }
909
+ },
910
+ "required": ["@call", "args"]
911
+ },
912
+ "formatDate": {
913
+ "type": "object",
914
+ "description": "Formats a timestamp into a string using a pattern.",
915
+ "returnType": "string",
916
+ "properties": {
917
+ "@call": {
918
+ "const": "formatDate"
919
+ },
920
+ "args": {
921
+ "type": "object",
922
+ "properties": {
923
+ "value": {
924
+ "$ref": "common_types.json#/$defs/DynamicValue",
925
+ "description": "The date to format."
926
+ },
927
+ "format": {
928
+ "$ref": "common_types.json#/$defs/DynamicString",
929
+ "description": "A Unicode TR35 date pattern string.\n\nToken Reference:\n- Year: 'yy' (26), 'yyyy' (2026)\n- Month: 'M' (1), 'MM' (01), 'MMM' (Jan), 'MMMM' (January)\n- Day: 'd' (1), 'dd' (01), 'E' (Tue), 'EEEE' (Tuesday)\n- Hour (12h): 'h' (1-12), 'hh' (01-12) - requires 'a' for AM/PM\n- Hour (24h): 'H' (0-23), 'HH' (00-23) - Military Time\n- Minute: 'mm' (00-59)\n- Second: 'ss' (00-59)\n- Period: 'a' (AM/PM)\n\nExamples:\n- 'MMM dd, yyyy' -> 'Jan 16, 2026'\n- 'HH:mm' -> '14:30' (Military)\n- 'h:mm a' -> '2:30 PM'\n- 'EEEE, d MMMM' -> 'Friday, 16 January'"
930
+ }
931
+ },
932
+ "required": ["format", "value"],
933
+ "unevaluatedProperties": false
934
+ }
935
+ },
936
+ "required": ["@call", "args"]
937
+ },
938
+ "pluralize": {
939
+ "type": "object",
940
+ "description": "Returns a localized string based on the Common Locale Data Repository (CLDR) plural category of the count (zero, one, two, few, many, other). Requires an 'other' fallback. For English, just use 'one' and 'other'.",
941
+ "returnType": "string",
942
+ "properties": {
943
+ "@call": {
944
+ "const": "pluralize"
945
+ },
946
+ "args": {
947
+ "type": "object",
948
+ "properties": {
949
+ "value": {
950
+ "$ref": "common_types.json#/$defs/DynamicNumber",
951
+ "description": "The numeric value used to determine the plural category."
952
+ },
953
+ "zero": {
954
+ "$ref": "common_types.json#/$defs/DynamicString",
955
+ "description": "String for the 'zero' category (e.g., 0 items)."
956
+ },
957
+ "one": {
958
+ "$ref": "common_types.json#/$defs/DynamicString",
959
+ "description": "String for the 'one' category (e.g., 1 item)."
960
+ },
961
+ "two": {
962
+ "$ref": "common_types.json#/$defs/DynamicString",
963
+ "description": "String for the 'two' category (used in Arabic, Welsh, etc.)."
964
+ },
965
+ "few": {
966
+ "$ref": "common_types.json#/$defs/DynamicString",
967
+ "description": "String for the 'few' category (e.g., small groups in Slavic languages)."
968
+ },
969
+ "many": {
970
+ "$ref": "common_types.json#/$defs/DynamicString",
971
+ "description": "String for the 'many' category (e.g., large groups in various languages)."
972
+ },
973
+ "other": {
974
+ "$ref": "common_types.json#/$defs/DynamicString",
975
+ "description": "The default/fallback string (used for general plural cases)."
976
+ }
977
+ },
978
+ "required": ["value", "other"],
979
+ "unevaluatedProperties": false
980
+ }
981
+ },
982
+ "required": ["@call", "args"]
983
+ },
984
+ "openUrl": {
985
+ "type": "object",
986
+ "description": "Opens the specified URL in a browser or handler (requires user activation). This function has no return value.",
987
+ "returnType": "void",
988
+ "requiresUserActivation": true,
989
+ "properties": {
990
+ "@call": {
991
+ "const": "openUrl"
992
+ },
993
+ "args": {
994
+ "type": "object",
995
+ "properties": {
996
+ "url": {
997
+ "description": "The URL to open.",
998
+ "oneOf": [
999
+ {
1000
+ "type": "string",
1001
+ "format": "uri"
1002
+ },
1003
+ {
1004
+ "$ref": "common_types.json#/$defs/DataBinding"
1005
+ },
1006
+ {
1007
+ "$ref": "common_types.json#/$defs/FunctionCall"
1008
+ }
1009
+ ]
1010
+ }
1011
+ },
1012
+ "required": ["url"],
1013
+ "unevaluatedProperties": false
1014
+ }
1015
+ },
1016
+ "required": ["@call", "args"]
1017
+ },
1018
+ "and": {
1019
+ "type": "object",
1020
+ "description": "Performs a logical AND operation on a list of boolean values.",
1021
+ "returnType": "boolean",
1022
+ "properties": {
1023
+ "@call": {
1024
+ "const": "and"
1025
+ },
1026
+ "args": {
1027
+ "type": "object",
1028
+ "properties": {
1029
+ "values": {
1030
+ "type": "array",
1031
+ "description": "The list of boolean values to evaluate.",
1032
+ "items": {
1033
+ "$ref": "common_types.json#/$defs/DynamicBoolean"
1034
+ },
1035
+ "minItems": 2
1036
+ }
1037
+ },
1038
+ "required": ["values"],
1039
+ "unevaluatedProperties": false
1040
+ }
1041
+ },
1042
+ "required": ["@call", "args"]
1043
+ },
1044
+ "or": {
1045
+ "type": "object",
1046
+ "description": "Performs a logical OR operation on a list of boolean values.",
1047
+ "returnType": "boolean",
1048
+ "properties": {
1049
+ "@call": {
1050
+ "const": "or"
1051
+ },
1052
+ "args": {
1053
+ "type": "object",
1054
+ "properties": {
1055
+ "values": {
1056
+ "type": "array",
1057
+ "description": "The list of boolean values to evaluate.",
1058
+ "items": {
1059
+ "$ref": "common_types.json#/$defs/DynamicBoolean"
1060
+ },
1061
+ "minItems": 2
1062
+ }
1063
+ },
1064
+ "required": ["values"],
1065
+ "unevaluatedProperties": false
1066
+ }
1067
+ },
1068
+ "required": ["@call", "args"]
1069
+ },
1070
+ "not": {
1071
+ "type": "object",
1072
+ "description": "Performs a logical NOT operation on a boolean value.",
1073
+ "returnType": "boolean",
1074
+ "properties": {
1075
+ "@call": {
1076
+ "const": "not"
1077
+ },
1078
+ "args": {
1079
+ "type": "object",
1080
+ "properties": {
1081
+ "value": {
1082
+ "$ref": "common_types.json#/$defs/DynamicBoolean",
1083
+ "description": "The boolean value to negate."
1084
+ }
1085
+ },
1086
+ "required": ["value"],
1087
+ "unevaluatedProperties": false
1088
+ }
1089
+ },
1090
+ "required": ["@call", "args"]
1091
+ }
1092
+ },
1093
+ "$defs": {
1094
+ "anyComponent": {
1095
+ "oneOf": [
1096
+ {
1097
+ "$ref": "#/components/Text"
1098
+ },
1099
+ {
1100
+ "$ref": "#/components/Image"
1101
+ },
1102
+ {
1103
+ "$ref": "#/components/Icon"
1104
+ },
1105
+ {
1106
+ "$ref": "#/components/Video"
1107
+ },
1108
+ {
1109
+ "$ref": "#/components/AudioPlayer"
1110
+ },
1111
+ {
1112
+ "$ref": "#/components/Row"
1113
+ },
1114
+ {
1115
+ "$ref": "#/components/Column"
1116
+ },
1117
+ {
1118
+ "$ref": "#/components/List"
1119
+ },
1120
+ {
1121
+ "$ref": "#/components/Card"
1122
+ },
1123
+ {
1124
+ "$ref": "#/components/Tabs"
1125
+ },
1126
+ {
1127
+ "$ref": "#/components/Modal"
1128
+ },
1129
+ {
1130
+ "$ref": "#/components/Divider"
1131
+ },
1132
+ {
1133
+ "$ref": "#/components/Button"
1134
+ },
1135
+ {
1136
+ "$ref": "#/components/TextField"
1137
+ },
1138
+ {
1139
+ "$ref": "#/components/CheckBox"
1140
+ },
1141
+ {
1142
+ "$ref": "#/components/ChoicePicker"
1143
+ },
1144
+ {
1145
+ "$ref": "#/components/Slider"
1146
+ },
1147
+ {
1148
+ "$ref": "#/components/DateTimeInput"
1149
+ }
1150
+ ],
1151
+ "discriminator": {
1152
+ "propertyName": "component"
1153
+ }
1154
+ },
1155
+ "anyFunction": {
1156
+ "oneOf": [
1157
+ {
1158
+ "$ref": "#/functions/required"
1159
+ },
1160
+ {
1161
+ "$ref": "#/functions/regex"
1162
+ },
1163
+ {
1164
+ "$ref": "#/functions/length"
1165
+ },
1166
+ {
1167
+ "$ref": "#/functions/numeric"
1168
+ },
1169
+ {
1170
+ "$ref": "#/functions/email"
1171
+ },
1172
+ {
1173
+ "$ref": "#/functions/formatString"
1174
+ },
1175
+ {
1176
+ "$ref": "#/functions/formatNumber"
1177
+ },
1178
+ {
1179
+ "$ref": "#/functions/formatCurrency"
1180
+ },
1181
+ {
1182
+ "$ref": "#/functions/formatDate"
1183
+ },
1184
+ {
1185
+ "$ref": "#/functions/pluralize"
1186
+ },
1187
+ {
1188
+ "$ref": "#/functions/openUrl"
1189
+ },
1190
+ {
1191
+ "$ref": "#/functions/and"
1192
+ },
1193
+ {
1194
+ "$ref": "#/functions/or"
1195
+ },
1196
+ {
1197
+ "$ref": "#/functions/not"
1198
+ }
1199
+ ]
1200
+ },
1201
+ "Weight": {
1202
+ "type": "number",
1203
+ "description": "The relative weight of this component within a Row or Column. This is similar to the CSS 'flex-grow' property. Note: this may ONLY be set when the component is a direct descendant of a Row or Column."
1204
+ }
1205
+ }
1206
+ }