@tambo-ai/react 0.75.0 → 1.0.0-rc.4

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 (613) hide show
  1. package/dist/hoc/with-tambo-interactable.d.ts.map +1 -1
  2. package/dist/hoc/with-tambo-interactable.js +13 -13
  3. package/dist/hoc/with-tambo-interactable.js.map +1 -1
  4. package/dist/hoc/with-tambo-interactable.test.js +3 -3
  5. package/dist/hoc/with-tambo-interactable.test.js.map +1 -1
  6. package/dist/index.d.ts +7 -25
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +7 -59
  9. package/dist/index.js.map +1 -1
  10. package/dist/mcp/mcp-hooks.js +5 -5
  11. package/dist/mcp/mcp-hooks.js.map +1 -1
  12. package/dist/model/component-metadata.d.ts +4 -4
  13. package/dist/model/component-metadata.js.map +1 -1
  14. package/dist/providers/tambo-client-provider.d.ts +6 -0
  15. package/dist/providers/tambo-client-provider.d.ts.map +1 -1
  16. package/dist/providers/tambo-client-provider.js +4 -2
  17. package/dist/providers/tambo-client-provider.js.map +1 -1
  18. package/dist/providers/tambo-interactable-provider.d.ts +1 -1
  19. package/dist/providers/tambo-interactables-additional-context-edge-cases.test.js +2 -10
  20. package/dist/providers/tambo-interactables-additional-context-edge-cases.test.js.map +1 -1
  21. package/dist/providers/tambo-interactables-additional-context.test.js +3 -19
  22. package/dist/providers/tambo-interactables-additional-context.test.js.map +1 -1
  23. package/dist/providers/tambo-mcp-token-provider.d.ts +8 -17
  24. package/dist/providers/tambo-mcp-token-provider.d.ts.map +1 -1
  25. package/dist/providers/tambo-mcp-token-provider.js +20 -97
  26. package/dist/providers/tambo-mcp-token-provider.js.map +1 -1
  27. package/dist/testing/tools.d.ts +3 -3
  28. package/dist/testing/tools.d.ts.map +1 -1
  29. package/dist/testing/tools.js.map +1 -1
  30. package/dist/util/registry-validators.js +1 -1
  31. package/dist/util/registry-validators.js.map +1 -1
  32. package/dist/v1/__tests__/v1-interactables.test.js +1 -1
  33. package/dist/v1/__tests__/v1-interactables.test.js.map +1 -1
  34. package/dist/v1/components/v1-component-renderer.d.ts +9 -9
  35. package/dist/v1/components/v1-component-renderer.d.ts.map +1 -1
  36. package/dist/v1/components/v1-component-renderer.js +13 -13
  37. package/dist/v1/components/v1-component-renderer.js.map +1 -1
  38. package/dist/v1/components/v1-component-renderer.test.js +15 -15
  39. package/dist/v1/components/v1-component-renderer.test.js.map +1 -1
  40. package/{esm/hooks/use-current-message.d.ts → dist/v1/hooks/use-tambo-current-message.d.ts} +30 -9
  41. package/dist/v1/hooks/use-tambo-current-message.d.ts.map +1 -0
  42. package/dist/{hooks/use-current-message.js → v1/hooks/use-tambo-current-message.js} +13 -8
  43. package/dist/v1/hooks/use-tambo-current-message.js.map +1 -0
  44. package/dist/v1/hooks/use-tambo-v1-auth-state.d.ts +5 -5
  45. package/dist/v1/hooks/use-tambo-v1-auth-state.d.ts.map +1 -1
  46. package/dist/v1/hooks/use-tambo-v1-auth-state.js +8 -8
  47. package/dist/v1/hooks/use-tambo-v1-auth-state.js.map +1 -1
  48. package/dist/v1/hooks/use-tambo-v1-auth-state.test.js +12 -12
  49. package/dist/v1/hooks/use-tambo-v1-auth-state.test.js.map +1 -1
  50. package/dist/v1/hooks/use-tambo-v1-component-state.d.ts +7 -6
  51. package/dist/v1/hooks/use-tambo-v1-component-state.d.ts.map +1 -1
  52. package/dist/v1/hooks/use-tambo-v1-component-state.js +50 -24
  53. package/dist/v1/hooks/use-tambo-v1-component-state.js.map +1 -1
  54. package/dist/v1/hooks/use-tambo-v1-component-state.test.js +60 -35
  55. package/dist/v1/hooks/use-tambo-v1-component-state.test.js.map +1 -1
  56. package/dist/v1/hooks/use-tambo-v1-messages.d.ts +9 -9
  57. package/dist/v1/hooks/use-tambo-v1-messages.d.ts.map +1 -1
  58. package/dist/v1/hooks/use-tambo-v1-messages.js +4 -4
  59. package/dist/v1/hooks/use-tambo-v1-messages.js.map +1 -1
  60. package/dist/v1/hooks/use-tambo-v1-messages.test.js +7 -7
  61. package/dist/v1/hooks/use-tambo-v1-messages.test.js.map +1 -1
  62. package/dist/v1/hooks/use-tambo-v1-send-message.d.ts +3 -3
  63. package/dist/v1/hooks/use-tambo-v1-send-message.d.ts.map +1 -1
  64. package/dist/v1/hooks/use-tambo-v1-send-message.js +20 -22
  65. package/dist/v1/hooks/use-tambo-v1-send-message.js.map +1 -1
  66. package/dist/v1/hooks/use-tambo-v1-send-message.test.js +51 -51
  67. package/dist/v1/hooks/use-tambo-v1-send-message.test.js.map +1 -1
  68. package/dist/v1/hooks/use-tambo-v1-stream-status.d.ts +5 -5
  69. package/dist/v1/hooks/use-tambo-v1-stream-status.d.ts.map +1 -1
  70. package/dist/v1/hooks/use-tambo-v1-stream-status.js +12 -14
  71. package/dist/v1/hooks/use-tambo-v1-stream-status.js.map +1 -1
  72. package/dist/v1/hooks/use-tambo-v1-stream-status.test.js +19 -19
  73. package/dist/v1/hooks/use-tambo-v1-stream-status.test.js.map +1 -1
  74. package/dist/v1/hooks/use-tambo-v1-suggestions.d.ts +7 -7
  75. package/dist/v1/hooks/use-tambo-v1-suggestions.d.ts.map +1 -1
  76. package/dist/v1/hooks/use-tambo-v1-suggestions.js +9 -9
  77. package/dist/v1/hooks/use-tambo-v1-suggestions.js.map +1 -1
  78. package/dist/v1/hooks/use-tambo-v1-suggestions.test.js +44 -44
  79. package/dist/v1/hooks/use-tambo-v1-suggestions.test.js.map +1 -1
  80. package/dist/v1/hooks/use-tambo-v1-thread-input.d.ts +3 -3
  81. package/dist/v1/hooks/use-tambo-v1-thread-input.d.ts.map +1 -1
  82. package/dist/v1/hooks/use-tambo-v1-thread-input.js +4 -4
  83. package/dist/v1/hooks/use-tambo-v1-thread-input.js.map +1 -1
  84. package/dist/v1/hooks/use-tambo-v1-thread-input.test.js +29 -29
  85. package/dist/v1/hooks/use-tambo-v1-thread-input.test.js.map +1 -1
  86. package/dist/v1/hooks/use-tambo-v1-thread-list.d.ts +4 -4
  87. package/dist/v1/hooks/use-tambo-v1-thread-list.d.ts.map +1 -1
  88. package/dist/v1/hooks/use-tambo-v1-thread-list.js +5 -5
  89. package/dist/v1/hooks/use-tambo-v1-thread-list.js.map +1 -1
  90. package/dist/v1/hooks/use-tambo-v1-thread-list.test.js +13 -17
  91. package/dist/v1/hooks/use-tambo-v1-thread-list.test.js.map +1 -1
  92. package/dist/v1/hooks/use-tambo-v1-thread.d.ts +3 -3
  93. package/dist/v1/hooks/use-tambo-v1-thread.d.ts.map +1 -1
  94. package/dist/v1/hooks/use-tambo-v1-thread.js +4 -4
  95. package/dist/v1/hooks/use-tambo-v1-thread.js.map +1 -1
  96. package/dist/v1/hooks/use-tambo-v1-thread.test.js +5 -5
  97. package/dist/v1/hooks/use-tambo-v1-thread.test.js.map +1 -1
  98. package/dist/v1/hooks/use-tambo-v1.d.ts +16 -7
  99. package/dist/v1/hooks/use-tambo-v1.d.ts.map +1 -1
  100. package/dist/v1/hooks/use-tambo-v1.js +41 -10
  101. package/dist/v1/hooks/use-tambo-v1.js.map +1 -1
  102. package/dist/v1/hooks/use-tambo-v1.test.js +176 -48
  103. package/dist/v1/hooks/use-tambo-v1.test.js.map +1 -1
  104. package/dist/v1/index.d.ts +31 -27
  105. package/dist/v1/index.d.ts.map +1 -1
  106. package/dist/v1/index.js +45 -35
  107. package/dist/v1/index.js.map +1 -1
  108. package/dist/v1/providers/tambo-v1-provider.d.ts +20 -20
  109. package/dist/v1/providers/tambo-v1-provider.d.ts.map +1 -1
  110. package/dist/v1/providers/tambo-v1-provider.js +32 -32
  111. package/dist/v1/providers/tambo-v1-provider.js.map +1 -1
  112. package/dist/v1/providers/tambo-v1-provider.test.js +22 -22
  113. package/dist/v1/providers/tambo-v1-provider.test.js.map +1 -1
  114. package/dist/v1/providers/tambo-v1-stream-context.d.ts +15 -15
  115. package/dist/v1/providers/tambo-v1-stream-context.d.ts.map +1 -1
  116. package/dist/v1/providers/tambo-v1-stream-context.js +17 -17
  117. package/dist/v1/providers/tambo-v1-stream-context.js.map +1 -1
  118. package/dist/v1/providers/tambo-v1-stream-context.test.js +9 -9
  119. package/dist/v1/providers/tambo-v1-stream-context.test.js.map +1 -1
  120. package/dist/v1/providers/tambo-v1-stub-provider.d.ts +9 -9
  121. package/dist/v1/providers/tambo-v1-stub-provider.d.ts.map +1 -1
  122. package/dist/v1/providers/tambo-v1-stub-provider.js +7 -7
  123. package/dist/v1/providers/tambo-v1-stub-provider.js.map +1 -1
  124. package/dist/v1/providers/tambo-v1-stub-provider.test.js +25 -25
  125. package/dist/v1/providers/tambo-v1-stub-provider.test.js.map +1 -1
  126. package/dist/v1/providers/tambo-v1-thread-input-provider.d.ts +9 -9
  127. package/dist/v1/providers/tambo-v1-thread-input-provider.d.ts.map +1 -1
  128. package/dist/v1/providers/tambo-v1-thread-input-provider.js +16 -16
  129. package/dist/v1/providers/tambo-v1-thread-input-provider.js.map +1 -1
  130. package/dist/v1/types/auth.d.ts +2 -2
  131. package/dist/v1/types/auth.d.ts.map +1 -1
  132. package/dist/v1/types/auth.js.map +1 -1
  133. package/dist/v1/types/component.d.ts +3 -3
  134. package/dist/v1/types/component.d.ts.map +1 -1
  135. package/dist/v1/types/component.js +2 -2
  136. package/dist/v1/types/component.js.map +1 -1
  137. package/dist/v1/types/event.d.ts +1 -1
  138. package/dist/v1/types/event.js +1 -1
  139. package/dist/v1/types/event.js.map +1 -1
  140. package/dist/v1/types/message.d.ts +17 -24
  141. package/dist/v1/types/message.d.ts.map +1 -1
  142. package/dist/v1/types/message.js +1 -1
  143. package/dist/v1/types/message.js.map +1 -1
  144. package/dist/v1/types/thread.d.ts +10 -8
  145. package/dist/v1/types/thread.d.ts.map +1 -1
  146. package/dist/v1/types/thread.js +1 -1
  147. package/dist/v1/types/thread.js.map +1 -1
  148. package/dist/v1/types/tool-choice.d.ts +1 -1
  149. package/dist/v1/types/tool-choice.js.map +1 -1
  150. package/dist/v1/utils/component-renderer.d.ts +11 -5
  151. package/dist/v1/utils/component-renderer.d.ts.map +1 -1
  152. package/dist/v1/utils/component-renderer.js +16 -7
  153. package/dist/v1/utils/component-renderer.js.map +1 -1
  154. package/dist/v1/utils/component-renderer.test.js +7 -7
  155. package/dist/v1/utils/component-renderer.test.js.map +1 -1
  156. package/dist/v1/utils/event-accumulator.d.ts +13 -13
  157. package/dist/v1/utils/event-accumulator.d.ts.map +1 -1
  158. package/dist/v1/utils/event-accumulator.js +26 -15
  159. package/dist/v1/utils/event-accumulator.js.map +1 -1
  160. package/dist/v1/utils/event-accumulator.test.js +54 -19
  161. package/dist/v1/utils/event-accumulator.test.js.map +1 -1
  162. package/dist/v1/utils/registry-conversion.d.ts +18 -18
  163. package/dist/v1/utils/registry-conversion.js +23 -23
  164. package/dist/v1/utils/registry-conversion.js.map +1 -1
  165. package/dist/v1/utils/stream-handler.d.ts +1 -1
  166. package/dist/v1/utils/stream-handler.js +1 -1
  167. package/dist/v1/utils/stream-handler.js.map +1 -1
  168. package/dist/v1/utils/thread-utils.d.ts +2 -2
  169. package/dist/v1/utils/thread-utils.d.ts.map +1 -1
  170. package/dist/v1/utils/thread-utils.js.map +1 -1
  171. package/dist/v1/utils/tool-call-tracker.d.ts +1 -1
  172. package/dist/v1/utils/tool-call-tracker.js +1 -1
  173. package/dist/v1/utils/tool-call-tracker.js.map +1 -1
  174. package/dist/v1/utils/tool-executor.d.ts +1 -1
  175. package/dist/v1/utils/tool-executor.js +2 -2
  176. package/dist/v1/utils/tool-executor.js.map +1 -1
  177. package/esm/hoc/with-tambo-interactable.d.ts.map +1 -1
  178. package/esm/hoc/with-tambo-interactable.js +13 -13
  179. package/esm/hoc/with-tambo-interactable.js.map +1 -1
  180. package/esm/hoc/with-tambo-interactable.test.js +1 -1
  181. package/esm/hoc/with-tambo-interactable.test.js.map +1 -1
  182. package/esm/index.d.ts +7 -25
  183. package/esm/index.d.ts.map +1 -1
  184. package/esm/index.js +7 -21
  185. package/esm/index.js.map +1 -1
  186. package/esm/mcp/mcp-hooks.js +1 -1
  187. package/esm/mcp/mcp-hooks.js.map +1 -1
  188. package/esm/model/component-metadata.d.ts +4 -4
  189. package/esm/model/component-metadata.js.map +1 -1
  190. package/esm/providers/tambo-client-provider.d.ts +6 -0
  191. package/esm/providers/tambo-client-provider.d.ts.map +1 -1
  192. package/esm/providers/tambo-client-provider.js +4 -2
  193. package/esm/providers/tambo-client-provider.js.map +1 -1
  194. package/esm/providers/tambo-interactable-provider.d.ts +1 -1
  195. package/esm/providers/tambo-interactables-additional-context-edge-cases.test.js +2 -10
  196. package/esm/providers/tambo-interactables-additional-context-edge-cases.test.js.map +1 -1
  197. package/esm/providers/tambo-interactables-additional-context.test.js +3 -19
  198. package/esm/providers/tambo-interactables-additional-context.test.js.map +1 -1
  199. package/esm/providers/tambo-mcp-token-provider.d.ts +8 -17
  200. package/esm/providers/tambo-mcp-token-provider.d.ts.map +1 -1
  201. package/esm/providers/tambo-mcp-token-provider.js +20 -97
  202. package/esm/providers/tambo-mcp-token-provider.js.map +1 -1
  203. package/esm/testing/tools.d.ts +3 -3
  204. package/esm/testing/tools.d.ts.map +1 -1
  205. package/esm/testing/tools.js.map +1 -1
  206. package/esm/util/registry-validators.js +1 -1
  207. package/esm/util/registry-validators.js.map +1 -1
  208. package/esm/v1/__tests__/v1-interactables.test.js +1 -1
  209. package/esm/v1/__tests__/v1-interactables.test.js.map +1 -1
  210. package/esm/v1/components/v1-component-renderer.d.ts +9 -9
  211. package/esm/v1/components/v1-component-renderer.d.ts.map +1 -1
  212. package/esm/v1/components/v1-component-renderer.js +12 -12
  213. package/esm/v1/components/v1-component-renderer.js.map +1 -1
  214. package/esm/v1/components/v1-component-renderer.test.js +16 -16
  215. package/esm/v1/components/v1-component-renderer.test.js.map +1 -1
  216. package/{dist/hooks/use-current-message.d.ts → esm/v1/hooks/use-tambo-current-message.d.ts} +30 -9
  217. package/esm/v1/hooks/use-tambo-current-message.d.ts.map +1 -0
  218. package/esm/{hooks/use-current-message.js → v1/hooks/use-tambo-current-message.js} +13 -8
  219. package/esm/v1/hooks/use-tambo-current-message.js.map +1 -0
  220. package/esm/v1/hooks/use-tambo-v1-auth-state.d.ts +5 -5
  221. package/esm/v1/hooks/use-tambo-v1-auth-state.d.ts.map +1 -1
  222. package/esm/v1/hooks/use-tambo-v1-auth-state.js +8 -8
  223. package/esm/v1/hooks/use-tambo-v1-auth-state.js.map +1 -1
  224. package/esm/v1/hooks/use-tambo-v1-auth-state.test.js +14 -14
  225. package/esm/v1/hooks/use-tambo-v1-auth-state.test.js.map +1 -1
  226. package/esm/v1/hooks/use-tambo-v1-component-state.d.ts +7 -6
  227. package/esm/v1/hooks/use-tambo-v1-component-state.d.ts.map +1 -1
  228. package/esm/v1/hooks/use-tambo-v1-component-state.js +50 -24
  229. package/esm/v1/hooks/use-tambo-v1-component-state.js.map +1 -1
  230. package/esm/v1/hooks/use-tambo-v1-component-state.test.js +62 -37
  231. package/esm/v1/hooks/use-tambo-v1-component-state.test.js.map +1 -1
  232. package/esm/v1/hooks/use-tambo-v1-messages.d.ts +9 -9
  233. package/esm/v1/hooks/use-tambo-v1-messages.d.ts.map +1 -1
  234. package/esm/v1/hooks/use-tambo-v1-messages.js +3 -3
  235. package/esm/v1/hooks/use-tambo-v1-messages.js.map +1 -1
  236. package/esm/v1/hooks/use-tambo-v1-messages.test.js +9 -9
  237. package/esm/v1/hooks/use-tambo-v1-messages.test.js.map +1 -1
  238. package/esm/v1/hooks/use-tambo-v1-send-message.d.ts +3 -3
  239. package/esm/v1/hooks/use-tambo-v1-send-message.d.ts.map +1 -1
  240. package/esm/v1/hooks/use-tambo-v1-send-message.js +21 -23
  241. package/esm/v1/hooks/use-tambo-v1-send-message.js.map +1 -1
  242. package/esm/v1/hooks/use-tambo-v1-send-message.test.js +54 -54
  243. package/esm/v1/hooks/use-tambo-v1-send-message.test.js.map +1 -1
  244. package/esm/v1/hooks/use-tambo-v1-stream-status.d.ts +5 -5
  245. package/esm/v1/hooks/use-tambo-v1-stream-status.d.ts.map +1 -1
  246. package/esm/v1/hooks/use-tambo-v1-stream-status.js +12 -14
  247. package/esm/v1/hooks/use-tambo-v1-stream-status.js.map +1 -1
  248. package/esm/v1/hooks/use-tambo-v1-stream-status.test.js +21 -21
  249. package/esm/v1/hooks/use-tambo-v1-stream-status.test.js.map +1 -1
  250. package/esm/v1/hooks/use-tambo-v1-suggestions.d.ts +7 -7
  251. package/esm/v1/hooks/use-tambo-v1-suggestions.d.ts.map +1 -1
  252. package/esm/v1/hooks/use-tambo-v1-suggestions.js +11 -11
  253. package/esm/v1/hooks/use-tambo-v1-suggestions.js.map +1 -1
  254. package/esm/v1/hooks/use-tambo-v1-suggestions.test.js +48 -48
  255. package/esm/v1/hooks/use-tambo-v1-suggestions.test.js.map +1 -1
  256. package/esm/v1/hooks/use-tambo-v1-thread-input.d.ts +3 -3
  257. package/esm/v1/hooks/use-tambo-v1-thread-input.d.ts.map +1 -1
  258. package/esm/v1/hooks/use-tambo-v1-thread-input.js +3 -3
  259. package/esm/v1/hooks/use-tambo-v1-thread-input.js.map +1 -1
  260. package/esm/v1/hooks/use-tambo-v1-thread-input.test.js +32 -32
  261. package/esm/v1/hooks/use-tambo-v1-thread-input.test.js.map +1 -1
  262. package/esm/v1/hooks/use-tambo-v1-thread-list.d.ts +4 -4
  263. package/esm/v1/hooks/use-tambo-v1-thread-list.d.ts.map +1 -1
  264. package/esm/v1/hooks/use-tambo-v1-thread-list.js +6 -6
  265. package/esm/v1/hooks/use-tambo-v1-thread-list.js.map +1 -1
  266. package/esm/v1/hooks/use-tambo-v1-thread-list.test.js +15 -19
  267. package/esm/v1/hooks/use-tambo-v1-thread-list.test.js.map +1 -1
  268. package/esm/v1/hooks/use-tambo-v1-thread.d.ts +3 -3
  269. package/esm/v1/hooks/use-tambo-v1-thread.d.ts.map +1 -1
  270. package/esm/v1/hooks/use-tambo-v1-thread.js +4 -4
  271. package/esm/v1/hooks/use-tambo-v1-thread.js.map +1 -1
  272. package/esm/v1/hooks/use-tambo-v1-thread.test.js +6 -6
  273. package/esm/v1/hooks/use-tambo-v1-thread.test.js.map +1 -1
  274. package/esm/v1/hooks/use-tambo-v1.d.ts +16 -7
  275. package/esm/v1/hooks/use-tambo-v1.d.ts.map +1 -1
  276. package/esm/v1/hooks/use-tambo-v1.js +43 -12
  277. package/esm/v1/hooks/use-tambo-v1.js.map +1 -1
  278. package/esm/v1/hooks/use-tambo-v1.test.js +178 -50
  279. package/esm/v1/hooks/use-tambo-v1.test.js.map +1 -1
  280. package/esm/v1/index.d.ts +31 -27
  281. package/esm/v1/index.d.ts.map +1 -1
  282. package/esm/v1/index.js +38 -33
  283. package/esm/v1/index.js.map +1 -1
  284. package/esm/v1/providers/tambo-v1-provider.d.ts +20 -20
  285. package/esm/v1/providers/tambo-v1-provider.d.ts.map +1 -1
  286. package/esm/v1/providers/tambo-v1-provider.js +32 -32
  287. package/esm/v1/providers/tambo-v1-provider.js.map +1 -1
  288. package/esm/v1/providers/tambo-v1-provider.test.js +23 -23
  289. package/esm/v1/providers/tambo-v1-provider.test.js.map +1 -1
  290. package/esm/v1/providers/tambo-v1-stream-context.d.ts +15 -15
  291. package/esm/v1/providers/tambo-v1-stream-context.d.ts.map +1 -1
  292. package/esm/v1/providers/tambo-v1-stream-context.js +17 -17
  293. package/esm/v1/providers/tambo-v1-stream-context.js.map +1 -1
  294. package/esm/v1/providers/tambo-v1-stream-context.test.js +10 -10
  295. package/esm/v1/providers/tambo-v1-stream-context.test.js.map +1 -1
  296. package/esm/v1/providers/tambo-v1-stub-provider.d.ts +9 -9
  297. package/esm/v1/providers/tambo-v1-stub-provider.d.ts.map +1 -1
  298. package/esm/v1/providers/tambo-v1-stub-provider.js +9 -9
  299. package/esm/v1/providers/tambo-v1-stub-provider.js.map +1 -1
  300. package/esm/v1/providers/tambo-v1-stub-provider.test.js +28 -28
  301. package/esm/v1/providers/tambo-v1-stub-provider.test.js.map +1 -1
  302. package/esm/v1/providers/tambo-v1-thread-input-provider.d.ts +9 -9
  303. package/esm/v1/providers/tambo-v1-thread-input-provider.d.ts.map +1 -1
  304. package/esm/v1/providers/tambo-v1-thread-input-provider.js +15 -15
  305. package/esm/v1/providers/tambo-v1-thread-input-provider.js.map +1 -1
  306. package/esm/v1/types/auth.d.ts +2 -2
  307. package/esm/v1/types/auth.d.ts.map +1 -1
  308. package/esm/v1/types/auth.js.map +1 -1
  309. package/esm/v1/types/component.d.ts +3 -3
  310. package/esm/v1/types/component.d.ts.map +1 -1
  311. package/esm/v1/types/component.js +2 -2
  312. package/esm/v1/types/component.js.map +1 -1
  313. package/esm/v1/types/event.d.ts +1 -1
  314. package/esm/v1/types/event.js +1 -1
  315. package/esm/v1/types/event.js.map +1 -1
  316. package/esm/v1/types/message.d.ts +17 -24
  317. package/esm/v1/types/message.d.ts.map +1 -1
  318. package/esm/v1/types/message.js +1 -1
  319. package/esm/v1/types/message.js.map +1 -1
  320. package/esm/v1/types/thread.d.ts +10 -8
  321. package/esm/v1/types/thread.d.ts.map +1 -1
  322. package/esm/v1/types/thread.js +1 -1
  323. package/esm/v1/types/thread.js.map +1 -1
  324. package/esm/v1/types/tool-choice.d.ts +1 -1
  325. package/esm/v1/types/tool-choice.js.map +1 -1
  326. package/esm/v1/utils/component-renderer.d.ts +11 -5
  327. package/esm/v1/utils/component-renderer.d.ts.map +1 -1
  328. package/esm/v1/utils/component-renderer.js +13 -5
  329. package/esm/v1/utils/component-renderer.js.map +1 -1
  330. package/esm/v1/utils/component-renderer.test.js +8 -8
  331. package/esm/v1/utils/component-renderer.test.js.map +1 -1
  332. package/esm/v1/utils/event-accumulator.d.ts +13 -13
  333. package/esm/v1/utils/event-accumulator.d.ts.map +1 -1
  334. package/esm/v1/utils/event-accumulator.js +26 -15
  335. package/esm/v1/utils/event-accumulator.js.map +1 -1
  336. package/esm/v1/utils/event-accumulator.test.js +54 -19
  337. package/esm/v1/utils/event-accumulator.test.js.map +1 -1
  338. package/esm/v1/utils/registry-conversion.d.ts +18 -18
  339. package/esm/v1/utils/registry-conversion.js +23 -23
  340. package/esm/v1/utils/registry-conversion.js.map +1 -1
  341. package/esm/v1/utils/stream-handler.d.ts +1 -1
  342. package/esm/v1/utils/stream-handler.js +1 -1
  343. package/esm/v1/utils/stream-handler.js.map +1 -1
  344. package/esm/v1/utils/thread-utils.d.ts +2 -2
  345. package/esm/v1/utils/thread-utils.d.ts.map +1 -1
  346. package/esm/v1/utils/thread-utils.js.map +1 -1
  347. package/esm/v1/utils/tool-call-tracker.d.ts +1 -1
  348. package/esm/v1/utils/tool-call-tracker.js +1 -1
  349. package/esm/v1/utils/tool-call-tracker.js.map +1 -1
  350. package/esm/v1/utils/tool-executor.d.ts +1 -1
  351. package/esm/v1/utils/tool-executor.js +2 -2
  352. package/esm/v1/utils/tool-executor.js.map +1 -1
  353. package/package.json +4 -9
  354. package/dist/hooks/index.d.ts +0 -9
  355. package/dist/hooks/index.d.ts.map +0 -1
  356. package/dist/hooks/index.js +0 -34
  357. package/dist/hooks/index.js.map +0 -1
  358. package/dist/hooks/use-component-state.d.ts +0 -30
  359. package/dist/hooks/use-component-state.d.ts.map +0 -1
  360. package/dist/hooks/use-component-state.js +0 -139
  361. package/dist/hooks/use-component-state.js.map +0 -1
  362. package/dist/hooks/use-component-state.test.d.ts +0 -2
  363. package/dist/hooks/use-component-state.test.d.ts.map +0 -1
  364. package/dist/hooks/use-component-state.test.js +0 -406
  365. package/dist/hooks/use-component-state.test.js.map +0 -1
  366. package/dist/hooks/use-current-message.d.ts.map +0 -1
  367. package/dist/hooks/use-current-message.js.map +0 -1
  368. package/dist/hooks/use-current-message.test.d.ts +0 -2
  369. package/dist/hooks/use-current-message.test.d.ts.map +0 -1
  370. package/dist/hooks/use-current-message.test.js +0 -269
  371. package/dist/hooks/use-current-message.test.js.map +0 -1
  372. package/dist/hooks/use-streaming-props.d.ts +0 -11
  373. package/dist/hooks/use-streaming-props.d.ts.map +0 -1
  374. package/dist/hooks/use-streaming-props.js +0 -37
  375. package/dist/hooks/use-streaming-props.js.map +0 -1
  376. package/dist/hooks/use-suggestions.d.ts +0 -46
  377. package/dist/hooks/use-suggestions.d.ts.map +0 -1
  378. package/dist/hooks/use-suggestions.js +0 -118
  379. package/dist/hooks/use-suggestions.js.map +0 -1
  380. package/dist/hooks/use-suggestions.test.d.ts +0 -2
  381. package/dist/hooks/use-suggestions.test.d.ts.map +0 -1
  382. package/dist/hooks/use-suggestions.test.js +0 -247
  383. package/dist/hooks/use-suggestions.test.js.map +0 -1
  384. package/dist/hooks/use-tambo-stream-status.d.ts +0 -90
  385. package/dist/hooks/use-tambo-stream-status.d.ts.map +0 -1
  386. package/dist/hooks/use-tambo-stream-status.js +0 -213
  387. package/dist/hooks/use-tambo-stream-status.js.map +0 -1
  388. package/dist/hooks/use-tambo-stream-status.test.d.ts +0 -2
  389. package/dist/hooks/use-tambo-stream-status.test.d.ts.map +0 -1
  390. package/dist/hooks/use-tambo-stream-status.test.js +0 -378
  391. package/dist/hooks/use-tambo-stream-status.test.js.map +0 -1
  392. package/dist/hooks/use-tambo-threads.d.ts +0 -158
  393. package/dist/hooks/use-tambo-threads.d.ts.map +0 -1
  394. package/dist/hooks/use-tambo-threads.js +0 -45
  395. package/dist/hooks/use-tambo-threads.js.map +0 -1
  396. package/dist/hooks/use-tambo-threads.test.d.ts +0 -2
  397. package/dist/hooks/use-tambo-threads.test.d.ts.map +0 -1
  398. package/dist/hooks/use-tambo-threads.test.js +0 -214
  399. package/dist/hooks/use-tambo-threads.test.js.map +0 -1
  400. package/dist/model/generate-component-response.d.ts +0 -37
  401. package/dist/model/generate-component-response.d.ts.map +0 -1
  402. package/dist/model/generate-component-response.js +0 -29
  403. package/dist/model/generate-component-response.js.map +0 -1
  404. package/dist/model/tambo-thread.d.ts +0 -15
  405. package/dist/model/tambo-thread.d.ts.map +0 -1
  406. package/dist/model/tambo-thread.js +0 -3
  407. package/dist/model/tambo-thread.js.map +0 -1
  408. package/dist/providers/__tests__/thread-input-resource-resolution.test.d.ts +0 -2
  409. package/dist/providers/__tests__/thread-input-resource-resolution.test.d.ts.map +0 -1
  410. package/dist/providers/__tests__/thread-input-resource-resolution.test.js +0 -592
  411. package/dist/providers/__tests__/thread-input-resource-resolution.test.js.map +0 -1
  412. package/dist/providers/index.d.ts +0 -13
  413. package/dist/providers/index.d.ts.map +0 -1
  414. package/dist/providers/index.js +0 -41
  415. package/dist/providers/index.js.map +0 -1
  416. package/dist/providers/tambo-component-provider.d.ts +0 -23
  417. package/dist/providers/tambo-component-provider.d.ts.map +0 -1
  418. package/dist/providers/tambo-component-provider.js +0 -88
  419. package/dist/providers/tambo-component-provider.js.map +0 -1
  420. package/dist/providers/tambo-prop-stream-provider/index.d.ts +0 -19
  421. package/dist/providers/tambo-prop-stream-provider/index.d.ts.map +0 -1
  422. package/dist/providers/tambo-prop-stream-provider/index.js +0 -43
  423. package/dist/providers/tambo-prop-stream-provider/index.js.map +0 -1
  424. package/dist/providers/tambo-prop-stream-provider/pending.d.ts +0 -12
  425. package/dist/providers/tambo-prop-stream-provider/pending.d.ts.map +0 -1
  426. package/dist/providers/tambo-prop-stream-provider/pending.js +0 -31
  427. package/dist/providers/tambo-prop-stream-provider/pending.js.map +0 -1
  428. package/dist/providers/tambo-prop-stream-provider/provider.d.ts +0 -17
  429. package/dist/providers/tambo-prop-stream-provider/provider.d.ts.map +0 -1
  430. package/dist/providers/tambo-prop-stream-provider/provider.js +0 -107
  431. package/dist/providers/tambo-prop-stream-provider/provider.js.map +0 -1
  432. package/dist/providers/tambo-prop-stream-provider/streaming.d.ts +0 -12
  433. package/dist/providers/tambo-prop-stream-provider/streaming.d.ts.map +0 -1
  434. package/dist/providers/tambo-prop-stream-provider/streaming.js +0 -28
  435. package/dist/providers/tambo-prop-stream-provider/streaming.js.map +0 -1
  436. package/dist/providers/tambo-prop-stream-provider/success.d.ts +0 -12
  437. package/dist/providers/tambo-prop-stream-provider/success.d.ts.map +0 -1
  438. package/dist/providers/tambo-prop-stream-provider/success.js +0 -28
  439. package/dist/providers/tambo-prop-stream-provider/success.js.map +0 -1
  440. package/dist/providers/tambo-prop-stream-provider/types.d.ts +0 -25
  441. package/dist/providers/tambo-prop-stream-provider/types.d.ts.map +0 -1
  442. package/dist/providers/tambo-prop-stream-provider/types.js +0 -6
  443. package/dist/providers/tambo-prop-stream-provider/types.js.map +0 -1
  444. package/dist/providers/tambo-prop-stream-provider.test.d.ts +0 -2
  445. package/dist/providers/tambo-prop-stream-provider.test.d.ts.map +0 -1
  446. package/dist/providers/tambo-prop-stream-provider.test.js +0 -275
  447. package/dist/providers/tambo-prop-stream-provider.test.js.map +0 -1
  448. package/dist/providers/tambo-provider.d.ts +0 -53
  449. package/dist/providers/tambo-provider.d.ts.map +0 -1
  450. package/dist/providers/tambo-provider.js +0 -133
  451. package/dist/providers/tambo-provider.js.map +0 -1
  452. package/dist/providers/tambo-stubs.d.ts +0 -89
  453. package/dist/providers/tambo-stubs.d.ts.map +0 -1
  454. package/dist/providers/tambo-stubs.js +0 -279
  455. package/dist/providers/tambo-stubs.js.map +0 -1
  456. package/dist/providers/tambo-stubs.test.d.ts +0 -2
  457. package/dist/providers/tambo-stubs.test.d.ts.map +0 -1
  458. package/dist/providers/tambo-stubs.test.js +0 -97
  459. package/dist/providers/tambo-stubs.test.js.map +0 -1
  460. package/dist/providers/tambo-thread-input-provider.d.ts +0 -65
  461. package/dist/providers/tambo-thread-input-provider.d.ts.map +0 -1
  462. package/dist/providers/tambo-thread-input-provider.js +0 -179
  463. package/dist/providers/tambo-thread-input-provider.js.map +0 -1
  464. package/dist/providers/tambo-thread-provider-initial-messages.test.d.ts +0 -2
  465. package/dist/providers/tambo-thread-provider-initial-messages.test.d.ts.map +0 -1
  466. package/dist/providers/tambo-thread-provider-initial-messages.test.js +0 -278
  467. package/dist/providers/tambo-thread-provider-initial-messages.test.js.map +0 -1
  468. package/dist/providers/tambo-thread-provider.d.ts +0 -126
  469. package/dist/providers/tambo-thread-provider.d.ts.map +0 -1
  470. package/dist/providers/tambo-thread-provider.js +0 -931
  471. package/dist/providers/tambo-thread-provider.js.map +0 -1
  472. package/dist/providers/tambo-thread-provider.test.d.ts +0 -2
  473. package/dist/providers/tambo-thread-provider.test.d.ts.map +0 -1
  474. package/dist/providers/tambo-thread-provider.test.js +0 -1591
  475. package/dist/providers/tambo-thread-provider.test.js.map +0 -1
  476. package/dist/util/generate-component.d.ts +0 -12
  477. package/dist/util/generate-component.d.ts.map +0 -1
  478. package/dist/util/generate-component.js +0 -58
  479. package/dist/util/generate-component.js.map +0 -1
  480. package/dist/util/generate-component.test.d.ts +0 -2
  481. package/dist/util/generate-component.test.d.ts.map +0 -1
  482. package/dist/util/generate-component.test.js +0 -340
  483. package/dist/util/generate-component.test.js.map +0 -1
  484. package/esm/hooks/index.d.ts +0 -9
  485. package/esm/hooks/index.d.ts.map +0 -1
  486. package/esm/hooks/index.js +0 -10
  487. package/esm/hooks/index.js.map +0 -1
  488. package/esm/hooks/use-component-state.d.ts +0 -30
  489. package/esm/hooks/use-component-state.d.ts.map +0 -1
  490. package/esm/hooks/use-component-state.js +0 -136
  491. package/esm/hooks/use-component-state.js.map +0 -1
  492. package/esm/hooks/use-component-state.test.d.ts +0 -2
  493. package/esm/hooks/use-component-state.test.d.ts.map +0 -1
  494. package/esm/hooks/use-component-state.test.js +0 -401
  495. package/esm/hooks/use-component-state.test.js.map +0 -1
  496. package/esm/hooks/use-current-message.d.ts.map +0 -1
  497. package/esm/hooks/use-current-message.js.map +0 -1
  498. package/esm/hooks/use-current-message.test.d.ts +0 -2
  499. package/esm/hooks/use-current-message.test.d.ts.map +0 -1
  500. package/esm/hooks/use-current-message.test.js +0 -264
  501. package/esm/hooks/use-current-message.test.js.map +0 -1
  502. package/esm/hooks/use-streaming-props.d.ts +0 -11
  503. package/esm/hooks/use-streaming-props.d.ts.map +0 -1
  504. package/esm/hooks/use-streaming-props.js +0 -34
  505. package/esm/hooks/use-streaming-props.js.map +0 -1
  506. package/esm/hooks/use-suggestions.d.ts +0 -46
  507. package/esm/hooks/use-suggestions.d.ts.map +0 -1
  508. package/esm/hooks/use-suggestions.js +0 -115
  509. package/esm/hooks/use-suggestions.js.map +0 -1
  510. package/esm/hooks/use-suggestions.test.d.ts +0 -2
  511. package/esm/hooks/use-suggestions.test.d.ts.map +0 -1
  512. package/esm/hooks/use-suggestions.test.js +0 -245
  513. package/esm/hooks/use-suggestions.test.js.map +0 -1
  514. package/esm/hooks/use-tambo-stream-status.d.ts +0 -90
  515. package/esm/hooks/use-tambo-stream-status.d.ts.map +0 -1
  516. package/esm/hooks/use-tambo-stream-status.js +0 -210
  517. package/esm/hooks/use-tambo-stream-status.js.map +0 -1
  518. package/esm/hooks/use-tambo-stream-status.test.d.ts +0 -2
  519. package/esm/hooks/use-tambo-stream-status.test.d.ts.map +0 -1
  520. package/esm/hooks/use-tambo-stream-status.test.js +0 -376
  521. package/esm/hooks/use-tambo-stream-status.test.js.map +0 -1
  522. package/esm/hooks/use-tambo-threads.d.ts +0 -158
  523. package/esm/hooks/use-tambo-threads.d.ts.map +0 -1
  524. package/esm/hooks/use-tambo-threads.js +0 -42
  525. package/esm/hooks/use-tambo-threads.js.map +0 -1
  526. package/esm/hooks/use-tambo-threads.test.d.ts +0 -2
  527. package/esm/hooks/use-tambo-threads.test.d.ts.map +0 -1
  528. package/esm/hooks/use-tambo-threads.test.js +0 -212
  529. package/esm/hooks/use-tambo-threads.test.js.map +0 -1
  530. package/esm/model/generate-component-response.d.ts +0 -37
  531. package/esm/model/generate-component-response.d.ts.map +0 -1
  532. package/esm/model/generate-component-response.js +0 -25
  533. package/esm/model/generate-component-response.js.map +0 -1
  534. package/esm/model/tambo-thread.d.ts +0 -15
  535. package/esm/model/tambo-thread.d.ts.map +0 -1
  536. package/esm/model/tambo-thread.js +0 -2
  537. package/esm/model/tambo-thread.js.map +0 -1
  538. package/esm/providers/__tests__/thread-input-resource-resolution.test.d.ts +0 -2
  539. package/esm/providers/__tests__/thread-input-resource-resolution.test.d.ts.map +0 -1
  540. package/esm/providers/__tests__/thread-input-resource-resolution.test.js +0 -587
  541. package/esm/providers/__tests__/thread-input-resource-resolution.test.js.map +0 -1
  542. package/esm/providers/index.d.ts +0 -13
  543. package/esm/providers/index.d.ts.map +0 -1
  544. package/esm/providers/index.js +0 -11
  545. package/esm/providers/index.js.map +0 -1
  546. package/esm/providers/tambo-component-provider.d.ts +0 -23
  547. package/esm/providers/tambo-component-provider.d.ts.map +0 -1
  548. package/esm/providers/tambo-component-provider.js +0 -50
  549. package/esm/providers/tambo-component-provider.js.map +0 -1
  550. package/esm/providers/tambo-prop-stream-provider/index.d.ts +0 -19
  551. package/esm/providers/tambo-prop-stream-provider/index.d.ts.map +0 -1
  552. package/esm/providers/tambo-prop-stream-provider/index.js +0 -22
  553. package/esm/providers/tambo-prop-stream-provider/index.js.map +0 -1
  554. package/esm/providers/tambo-prop-stream-provider/pending.d.ts +0 -12
  555. package/esm/providers/tambo-prop-stream-provider/pending.d.ts.map +0 -1
  556. package/esm/providers/tambo-prop-stream-provider/pending.js +0 -24
  557. package/esm/providers/tambo-prop-stream-provider/pending.js.map +0 -1
  558. package/esm/providers/tambo-prop-stream-provider/provider.d.ts +0 -17
  559. package/esm/providers/tambo-prop-stream-provider/provider.d.ts.map +0 -1
  560. package/esm/providers/tambo-prop-stream-provider/provider.js +0 -70
  561. package/esm/providers/tambo-prop-stream-provider/provider.js.map +0 -1
  562. package/esm/providers/tambo-prop-stream-provider/streaming.d.ts +0 -12
  563. package/esm/providers/tambo-prop-stream-provider/streaming.d.ts.map +0 -1
  564. package/esm/providers/tambo-prop-stream-provider/streaming.js +0 -21
  565. package/esm/providers/tambo-prop-stream-provider/streaming.js.map +0 -1
  566. package/esm/providers/tambo-prop-stream-provider/success.d.ts +0 -12
  567. package/esm/providers/tambo-prop-stream-provider/success.d.ts.map +0 -1
  568. package/esm/providers/tambo-prop-stream-provider/success.js +0 -21
  569. package/esm/providers/tambo-prop-stream-provider/success.js.map +0 -1
  570. package/esm/providers/tambo-prop-stream-provider/types.d.ts +0 -25
  571. package/esm/providers/tambo-prop-stream-provider/types.d.ts.map +0 -1
  572. package/esm/providers/tambo-prop-stream-provider/types.js +0 -3
  573. package/esm/providers/tambo-prop-stream-provider/types.js.map +0 -1
  574. package/esm/providers/tambo-prop-stream-provider.test.d.ts +0 -2
  575. package/esm/providers/tambo-prop-stream-provider.test.d.ts.map +0 -1
  576. package/esm/providers/tambo-prop-stream-provider.test.js +0 -270
  577. package/esm/providers/tambo-prop-stream-provider.test.js.map +0 -1
  578. package/esm/providers/tambo-provider.d.ts +0 -53
  579. package/esm/providers/tambo-provider.d.ts.map +0 -1
  580. package/esm/providers/tambo-provider.js +0 -94
  581. package/esm/providers/tambo-provider.js.map +0 -1
  582. package/esm/providers/tambo-stubs.d.ts +0 -89
  583. package/esm/providers/tambo-stubs.d.ts.map +0 -1
  584. package/esm/providers/tambo-stubs.js +0 -242
  585. package/esm/providers/tambo-stubs.js.map +0 -1
  586. package/esm/providers/tambo-stubs.test.d.ts +0 -2
  587. package/esm/providers/tambo-stubs.test.d.ts.map +0 -1
  588. package/esm/providers/tambo-stubs.test.js +0 -62
  589. package/esm/providers/tambo-stubs.test.js.map +0 -1
  590. package/esm/providers/tambo-thread-input-provider.d.ts +0 -65
  591. package/esm/providers/tambo-thread-input-provider.d.ts.map +0 -1
  592. package/esm/providers/tambo-thread-input-provider.js +0 -141
  593. package/esm/providers/tambo-thread-input-provider.js.map +0 -1
  594. package/esm/providers/tambo-thread-provider-initial-messages.test.d.ts +0 -2
  595. package/esm/providers/tambo-thread-provider-initial-messages.test.d.ts.map +0 -1
  596. package/esm/providers/tambo-thread-provider-initial-messages.test.js +0 -273
  597. package/esm/providers/tambo-thread-provider-initial-messages.test.js.map +0 -1
  598. package/esm/providers/tambo-thread-provider.d.ts +0 -126
  599. package/esm/providers/tambo-thread-provider.d.ts.map +0 -1
  600. package/esm/providers/tambo-thread-provider.js +0 -891
  601. package/esm/providers/tambo-thread-provider.js.map +0 -1
  602. package/esm/providers/tambo-thread-provider.test.d.ts +0 -2
  603. package/esm/providers/tambo-thread-provider.test.d.ts.map +0 -1
  604. package/esm/providers/tambo-thread-provider.test.js +0 -1553
  605. package/esm/providers/tambo-thread-provider.test.js.map +0 -1
  606. package/esm/util/generate-component.d.ts +0 -12
  607. package/esm/util/generate-component.d.ts.map +0 -1
  608. package/esm/util/generate-component.js +0 -52
  609. package/esm/util/generate-component.js.map +0 -1
  610. package/esm/util/generate-component.test.d.ts +0 -2
  611. package/esm/util/generate-component.test.d.ts.map +0 -1
  612. package/esm/util/generate-component.test.js +0 -302
  613. package/esm/util/generate-component.test.js.map +0 -1
@@ -3,9 +3,9 @@ import { renderHook, act } from "@testing-library/react";
3
3
  import React, { useReducer } from "react";
4
4
  import { useTamboClient } from "../../providers/tambo-client-provider.js";
5
5
  import { TamboRegistryContext, } from "../../providers/tambo-registry-provider.js";
6
- import { TamboV1StreamProvider } from "../providers/tambo-v1-stream-context.js";
6
+ import { TamboStreamProvider } from "../providers/tambo-v1-stream-context.js";
7
7
  import { streamReducer, } from "../utils/event-accumulator.js";
8
- import { useTamboV1 } from "./use-tambo-v1.js";
8
+ import { useTambo } from "./use-tambo-v1.js";
9
9
  jest.mock("../../providers/tambo-client-provider", () => ({
10
10
  useTamboClient: jest.fn(),
11
11
  useTamboQueryClient: jest.fn(),
@@ -14,17 +14,17 @@ jest.mock("../providers/tambo-v1-provider", () => {
14
14
  const actual = jest.requireActual("../providers/tambo-v1-provider");
15
15
  return {
16
16
  ...actual,
17
- useTamboV1Config: () => ({ userKey: undefined }),
17
+ useTamboConfig: () => ({ userKey: undefined }),
18
18
  };
19
19
  });
20
20
  jest.mock("./use-tambo-v1-auth-state", () => ({
21
- useTamboV1AuthState: () => ({
21
+ useTamboAuthState: () => ({
22
22
  status: "identified",
23
23
  source: "userKey",
24
24
  }),
25
25
  }));
26
26
  import { useTamboQueryClient } from "../../providers/tambo-client-provider.js";
27
- describe("useTamboV1", () => {
27
+ describe("useTambo", () => {
28
28
  let queryClient;
29
29
  const mockTamboClient = {
30
30
  apiKey: "",
@@ -57,23 +57,26 @@ describe("useTamboV1", () => {
57
57
  function TestWrapper({ children }) {
58
58
  return (React.createElement(QueryClientProvider, { client: queryClient },
59
59
  React.createElement(TamboRegistryContext.Provider, { value: mockRegistry },
60
- React.createElement(TamboV1StreamProvider, null, children))));
60
+ React.createElement(TamboStreamProvider, null, children))));
61
61
  }
62
62
  function createWrapperWithState(state, registry = mockRegistry) {
63
63
  const noopDispatch = () => { };
64
64
  return function WrapperWithState({ children, }) {
65
65
  return (React.createElement(QueryClientProvider, { client: queryClient },
66
66
  React.createElement(TamboRegistryContext.Provider, { value: registry },
67
- React.createElement(TamboV1StreamProvider, { state: state, dispatch: noopDispatch }, children))));
67
+ React.createElement(TamboStreamProvider, { state: state, dispatch: noopDispatch }, children))));
68
68
  };
69
69
  }
70
70
  // Wrapper that uses the real reducer so state updates properly
71
- function createWrapperWithRealReducer(initialState) {
71
+ function createWrapperWithRealReducer(initialState, stateRef) {
72
72
  return function WrapperWithRealReducer({ children, }) {
73
73
  const [state, dispatch] = useReducer(streamReducer, initialState);
74
+ if (stateRef) {
75
+ stateRef.current = state;
76
+ }
74
77
  return (React.createElement(QueryClientProvider, { client: queryClient },
75
78
  React.createElement(TamboRegistryContext.Provider, { value: mockRegistry },
76
- React.createElement(TamboV1StreamProvider, { state: state, dispatch: dispatch }, children))));
79
+ React.createElement(TamboStreamProvider, { state: state, dispatch: dispatch }, children))));
77
80
  };
78
81
  }
79
82
  beforeEach(() => {
@@ -85,15 +88,16 @@ describe("useTamboV1", () => {
85
88
  jest.mocked(useTamboClient).mockReturnValue(mockTamboClient);
86
89
  jest.mocked(useTamboQueryClient).mockReturnValue(queryClient);
87
90
  jest.clearAllMocks();
91
+ delete mockTamboClient.threads.update;
88
92
  });
89
93
  it("returns client from useTamboClient", () => {
90
- const { result } = renderHook(() => useTamboV1(), {
94
+ const { result } = renderHook(() => useTambo(), {
91
95
  wrapper: TestWrapper,
92
96
  });
93
97
  expect(result.current.client).toBe(mockTamboClient);
94
98
  });
95
99
  it("returns registry functions", () => {
96
- const { result } = renderHook(() => useTamboV1(), {
100
+ const { result } = renderHook(() => useTambo(), {
97
101
  wrapper: TestWrapper,
98
102
  });
99
103
  expect(result.current.registerComponent).toBe(mockRegistry.registerComponent);
@@ -103,7 +107,7 @@ describe("useTamboV1", () => {
103
107
  expect(result.current.toolRegistry).toBe(mockRegistry.toolRegistry);
104
108
  });
105
109
  it("returns placeholder thread when no threadId provided", () => {
106
- const { result } = renderHook(() => useTamboV1(), {
110
+ const { result } = renderHook(() => useTambo(), {
107
111
  wrapper: TestWrapper,
108
112
  });
109
113
  // Default state has placeholder thread for optimistic UI
@@ -112,7 +116,7 @@ describe("useTamboV1", () => {
112
116
  expect(result.current.messages).toEqual([]);
113
117
  });
114
118
  it("returns thread state when switched to a thread", () => {
115
- const { result } = renderHook(() => useTamboV1(), {
119
+ const { result } = renderHook(() => useTambo(), {
116
120
  wrapper: TestWrapper,
117
121
  });
118
122
  // Initialize and switch to thread
@@ -125,7 +129,7 @@ describe("useTamboV1", () => {
125
129
  expect(result.current.messages).toEqual([]);
126
130
  });
127
131
  it("returns default streaming state when thread not loaded", () => {
128
- const { result } = renderHook(() => useTamboV1(), {
132
+ const { result } = renderHook(() => useTambo(), {
129
133
  wrapper: TestWrapper,
130
134
  });
131
135
  expect(result.current.streamingState).toEqual({ status: "idle" });
@@ -134,7 +138,7 @@ describe("useTamboV1", () => {
134
138
  expect(result.current.isWaiting).toBe(false);
135
139
  });
136
140
  it("returns thread streaming state when thread loaded", () => {
137
- const { result } = renderHook(() => useTamboV1(), {
141
+ const { result } = renderHook(() => useTambo(), {
138
142
  wrapper: TestWrapper,
139
143
  });
140
144
  // Initialize and switch to thread
@@ -148,13 +152,13 @@ describe("useTamboV1", () => {
148
152
  expect(result.current.isWaiting).toBe(false);
149
153
  });
150
154
  it("provides dispatch function for advanced usage", () => {
151
- const { result } = renderHook(() => useTamboV1(), {
155
+ const { result } = renderHook(() => useTambo(), {
152
156
  wrapper: TestWrapper,
153
157
  });
154
158
  expect(typeof result.current.dispatch).toBe("function");
155
159
  });
156
160
  it("provides thread management functions", () => {
157
- const { result } = renderHook(() => useTamboV1(), {
161
+ const { result } = renderHook(() => useTambo(), {
158
162
  wrapper: TestWrapper,
159
163
  });
160
164
  expect(typeof result.current.initThread).toBe("function");
@@ -162,7 +166,7 @@ describe("useTamboV1", () => {
162
166
  expect(typeof result.current.startNewThread).toBe("function");
163
167
  });
164
168
  it("initializes and switches threads", () => {
165
- const { result } = renderHook(() => useTamboV1(), {
169
+ const { result } = renderHook(() => useTambo(), {
166
170
  wrapper: TestWrapper,
167
171
  });
168
172
  // Initially has placeholder thread for optimistic UI
@@ -180,7 +184,7 @@ describe("useTamboV1", () => {
180
184
  expect(result.current.currentThreadId).toBe("new_thread_1");
181
185
  });
182
186
  it("starts new thread with generated ID", () => {
183
- const { result } = renderHook(() => useTamboV1(), {
187
+ const { result } = renderHook(() => useTambo(), {
184
188
  wrapper: TestWrapper,
185
189
  });
186
190
  let newThreadId;
@@ -192,7 +196,7 @@ describe("useTamboV1", () => {
192
196
  expect(result.current.thread).toBeDefined();
193
197
  });
194
198
  it("uses current thread when no threadId argument provided", () => {
195
- const { result } = renderHook(() => useTamboV1(), {
199
+ const { result } = renderHook(() => useTambo(), {
196
200
  wrapper: TestWrapper,
197
201
  });
198
202
  // Initialize and switch to a thread
@@ -241,7 +245,7 @@ describe("useTamboV1", () => {
241
245
  },
242
246
  currentThreadId: "thread_123",
243
247
  };
244
- const { result } = renderHook(() => useTamboV1(), {
248
+ const { result } = renderHook(() => useTambo(), {
245
249
  wrapper: createWrapperWithState(state),
246
250
  });
247
251
  expect(result.current.messages).toHaveLength(1);
@@ -279,7 +283,7 @@ describe("useTamboV1", () => {
279
283
  },
280
284
  currentThreadId: "thread_123",
281
285
  };
282
- const { result } = renderHook(() => useTamboV1(), {
286
+ const { result } = renderHook(() => useTambo(), {
283
287
  wrapper: createWrapperWithState(state),
284
288
  });
285
289
  expect(result.current.messages).toHaveLength(1);
@@ -319,7 +323,7 @@ describe("useTamboV1", () => {
319
323
  },
320
324
  currentThreadId: "thread_123",
321
325
  };
322
- const { result, rerender } = renderHook(() => useTamboV1(), {
326
+ const { result, rerender } = renderHook(() => useTambo(), {
323
327
  wrapper: createWrapperWithState(state),
324
328
  });
325
329
  const firstRender = result.current.messages[0].content[0].renderedComponent;
@@ -356,7 +360,7 @@ describe("useTamboV1", () => {
356
360
  },
357
361
  currentThreadId: "thread_123",
358
362
  };
359
- const { result } = renderHook(() => useTamboV1(), {
363
+ const { result } = renderHook(() => useTambo(), {
360
364
  wrapper: createWrapperWithState(state),
361
365
  });
362
366
  const content = result.current.messages[0].content[0];
@@ -396,7 +400,7 @@ describe("useTamboV1", () => {
396
400
  },
397
401
  currentThreadId: "thread_123",
398
402
  };
399
- const { result } = renderHook(() => useTamboV1(), {
403
+ const { result } = renderHook(() => useTambo(), {
400
404
  wrapper: createWrapperWithState(state),
401
405
  });
402
406
  const content = result.current.messages[0].content[0];
@@ -438,7 +442,7 @@ describe("useTamboV1", () => {
438
442
  },
439
443
  currentThreadId: "thread_123",
440
444
  };
441
- const { result } = renderHook(() => useTamboV1(), {
445
+ const { result } = renderHook(() => useTambo(), {
442
446
  wrapper: createWrapperWithState(state),
443
447
  });
444
448
  expect(result.current.messages[0].content).toHaveLength(3);
@@ -477,7 +481,7 @@ describe("useTamboV1", () => {
477
481
  currentThreadId: "placeholder",
478
482
  };
479
483
  // No explicit threadId - uses currentThreadId from state
480
- const { result } = renderHook(() => useTamboV1(), {
484
+ const { result } = renderHook(() => useTambo(), {
481
485
  wrapper: createWrapperWithState(state),
482
486
  });
483
487
  // Component should render using the placeholder thread
@@ -519,10 +523,11 @@ describe("useTamboV1", () => {
519
523
  },
520
524
  currentThreadId: "thread_123",
521
525
  };
522
- const { result } = renderHook(() => useTamboV1(), {
526
+ const { result } = renderHook(() => useTambo(), {
523
527
  wrapper: createWrapperWithState(state),
524
528
  });
525
- const content = result.current.messages[0].content[0];
529
+ const content = result.current.messages[0]
530
+ .content[0];
526
531
  expect(content.type).toBe("tool_use");
527
532
  expect(content.hasCompleted).toBe(false);
528
533
  expect(content.statusMessage).toBe("Calling getWeather");
@@ -572,10 +577,11 @@ describe("useTamboV1", () => {
572
577
  },
573
578
  currentThreadId: "thread_123",
574
579
  };
575
- const { result } = renderHook(() => useTamboV1(), {
580
+ const { result } = renderHook(() => useTambo(), {
576
581
  wrapper: createWrapperWithState(state),
577
582
  });
578
- const content = result.current.messages[0].content[0];
583
+ const content = result.current.messages[0]
584
+ .content[0];
579
585
  expect(content.hasCompleted).toBe(true);
580
586
  expect(content.statusMessage).toBe("Called getWeather");
581
587
  });
@@ -614,10 +620,11 @@ describe("useTamboV1", () => {
614
620
  },
615
621
  currentThreadId: "thread_123",
616
622
  };
617
- const { result } = renderHook(() => useTamboV1(), {
623
+ const { result } = renderHook(() => useTambo(), {
618
624
  wrapper: createWrapperWithState(state),
619
625
  });
620
- const content = result.current.messages[0].content[0];
626
+ const content = result.current.messages[0]
627
+ .content[0];
621
628
  expect(content.statusMessage).toBe("Fetching weather for NYC...");
622
629
  expect(content.tamboDisplayProps?._tambo_statusMessage).toBe("Fetching weather for NYC...");
623
630
  });
@@ -669,10 +676,11 @@ describe("useTamboV1", () => {
669
676
  },
670
677
  currentThreadId: "thread_123",
671
678
  };
672
- const { result } = renderHook(() => useTamboV1(), {
679
+ const { result } = renderHook(() => useTambo(), {
673
680
  wrapper: createWrapperWithState(state),
674
681
  });
675
- const content = result.current.messages[0].content[0];
682
+ const content = result.current.messages[0]
683
+ .content[0];
676
684
  expect(content.hasCompleted).toBe(true);
677
685
  expect(content.statusMessage).toBe("Got weather for NYC");
678
686
  });
@@ -696,7 +704,6 @@ describe("useTamboV1", () => {
696
704
  units: "celsius",
697
705
  _tambo_statusMessage: "Fetching...",
698
706
  _tambo_completionStatusMessage: "Done",
699
- _tambo_displayMessage: "Weather lookup",
700
707
  },
701
708
  },
702
709
  ],
@@ -714,15 +721,15 @@ describe("useTamboV1", () => {
714
721
  },
715
722
  currentThreadId: "thread_123",
716
723
  };
717
- const { result } = renderHook(() => useTamboV1(), {
724
+ const { result } = renderHook(() => useTambo(), {
718
725
  wrapper: createWrapperWithState(state),
719
726
  });
720
- const content = result.current.messages[0].content[0];
727
+ const content = result.current.messages[0]
728
+ .content[0];
721
729
  // Input should only have non-_tambo_ properties
722
730
  expect(content.input).toEqual({ location: "NYC", units: "celsius" });
723
731
  expect(content.input._tambo_statusMessage).toBeUndefined();
724
732
  expect(content.input._tambo_completionStatusMessage).toBeUndefined();
725
- expect(content.input._tambo_displayMessage).toBeUndefined();
726
733
  });
727
734
  it("handles tool_use with empty input", () => {
728
735
  const state = {
@@ -756,10 +763,11 @@ describe("useTamboV1", () => {
756
763
  },
757
764
  currentThreadId: "thread_123",
758
765
  };
759
- const { result } = renderHook(() => useTamboV1(), {
766
+ const { result } = renderHook(() => useTambo(), {
760
767
  wrapper: createWrapperWithState(state),
761
768
  });
762
- const content = result.current.messages[0].content[0];
769
+ const content = result.current.messages[0]
770
+ .content[0];
763
771
  expect(content.input).toEqual({});
764
772
  expect(content.hasCompleted).toBe(false);
765
773
  expect(content.statusMessage).toBe("Calling getCurrentTime");
@@ -796,10 +804,11 @@ describe("useTamboV1", () => {
796
804
  },
797
805
  currentThreadId: "thread_123",
798
806
  };
799
- const { result } = renderHook(() => useTamboV1(), {
807
+ const { result } = renderHook(() => useTambo(), {
800
808
  wrapper: createWrapperWithState(state),
801
809
  });
802
- const content = result.current.messages[0].content[0];
810
+ const content = result.current.messages[0]
811
+ .content[0];
803
812
  expect(content.input).toEqual({});
804
813
  expect(content.hasCompleted).toBe(false);
805
814
  });
@@ -854,11 +863,13 @@ describe("useTamboV1", () => {
854
863
  },
855
864
  currentThreadId: "thread_123",
856
865
  };
857
- const { result } = renderHook(() => useTamboV1(), {
866
+ const { result } = renderHook(() => useTambo(), {
858
867
  wrapper: createWrapperWithState(state),
859
868
  });
860
- const tool1 = result.current.messages[0].content[0];
861
- const tool2 = result.current.messages[0].content[1];
869
+ const tool1 = result.current.messages[0]
870
+ .content[0];
871
+ const tool2 = result.current.messages[0]
872
+ .content[1];
862
873
  expect(tool1.hasCompleted).toBe(true);
863
874
  expect(tool1.statusMessage).toBe("Called getWeather");
864
875
  expect(tool2.hasCompleted).toBe(false);
@@ -884,7 +895,7 @@ describe("useTamboV1", () => {
884
895
  },
885
896
  currentThreadId: "thread_123",
886
897
  };
887
- const { result } = renderHook(() => useTamboV1(), {
898
+ const { result } = renderHook(() => useTambo(), {
888
899
  wrapper: createWrapperWithRealReducer(initialState),
889
900
  });
890
901
  // Before cancel: streaming and lastRunCancelled is false
@@ -919,7 +930,7 @@ describe("useTamboV1", () => {
919
930
  },
920
931
  currentThreadId: "thread_123",
921
932
  };
922
- const { result } = renderHook(() => useTamboV1(), {
933
+ const { result } = renderHook(() => useTambo(), {
923
934
  wrapper: createWrapperWithRealReducer(initialState),
924
935
  });
925
936
  // Idle before
@@ -952,7 +963,7 @@ describe("useTamboV1", () => {
952
963
  },
953
964
  currentThreadId: "placeholder",
954
965
  };
955
- const { result } = renderHook(() => useTamboV1(), {
966
+ const { result } = renderHook(() => useTambo(), {
956
967
  wrapper: createWrapperWithRealReducer(initialState),
957
968
  });
958
969
  // Before: streaming on placeholder
@@ -992,7 +1003,7 @@ describe("useTamboV1", () => {
992
1003
  },
993
1004
  currentThreadId: "thread_123",
994
1005
  };
995
- const { result } = renderHook(() => useTamboV1(), {
1006
+ const { result } = renderHook(() => useTambo(), {
996
1007
  wrapper: createWrapperWithRealReducer(initialState),
997
1008
  });
998
1009
  await act(async () => {
@@ -1006,5 +1017,122 @@ describe("useTamboV1", () => {
1006
1017
  consoleWarnSpy.mockRestore();
1007
1018
  });
1008
1019
  });
1020
+ describe("updateThreadName", () => {
1021
+ it("updates local thread name and invalidates caches on success", async () => {
1022
+ const mockUpdate = jest.fn().mockResolvedValue({});
1023
+ // TypeScript SDK will be updated to include this method
1024
+ mockTamboClient.threads.update = mockUpdate;
1025
+ const invalidateQueriesSpy = jest.spyOn(queryClient, "invalidateQueries");
1026
+ const initialState = {
1027
+ threadMap: {
1028
+ thread_456: {
1029
+ thread: {
1030
+ id: "thread_456",
1031
+ messages: [],
1032
+ status: "idle",
1033
+ createdAt: new Date().toISOString(),
1034
+ updatedAt: new Date().toISOString(),
1035
+ lastRunCancelled: false,
1036
+ name: "Old Name",
1037
+ },
1038
+ streaming: { status: "idle" },
1039
+ accumulatingToolArgs: new Map(),
1040
+ },
1041
+ },
1042
+ currentThreadId: "thread_456",
1043
+ };
1044
+ const { result } = renderHook(() => useTambo(), {
1045
+ wrapper: createWrapperWithRealReducer(initialState),
1046
+ });
1047
+ await act(async () => {
1048
+ await result.current.updateThreadName("thread_456", "My New Thread");
1049
+ });
1050
+ expect(mockUpdate).toHaveBeenCalledWith("thread_456", {
1051
+ name: "My New Thread",
1052
+ });
1053
+ expect(result.current.thread?.thread.name).toBe("My New Thread");
1054
+ const invalidatedKeys = invalidateQueriesSpy.mock.calls
1055
+ .map(([arg]) => arg.queryKey)
1056
+ .filter(Boolean);
1057
+ expect(invalidatedKeys).toContainEqual(["v1-threads", "list"]);
1058
+ expect(invalidatedKeys).toContainEqual(["v1-threads", "thread_456"]);
1059
+ });
1060
+ it("does not create local thread state when thread isn't loaded", async () => {
1061
+ const mockUpdate = jest.fn().mockResolvedValue({});
1062
+ // TypeScript SDK will be updated to include this method
1063
+ mockTamboClient.threads.update = mockUpdate;
1064
+ const invalidateQueriesSpy = jest.spyOn(queryClient, "invalidateQueries");
1065
+ // Track the internal StreamState from the real reducer so we can assert we
1066
+ // don't create a local thread entry for threads that haven't been loaded.
1067
+ const stateRef = {
1068
+ current: undefined,
1069
+ };
1070
+ const initialState = {
1071
+ threadMap: {},
1072
+ currentThreadId: "placeholder",
1073
+ };
1074
+ const { result } = renderHook(() => useTambo(), {
1075
+ wrapper: createWrapperWithRealReducer(initialState, stateRef),
1076
+ });
1077
+ await act(async () => {
1078
+ await result.current.updateThreadName("thread_789", "New Title");
1079
+ });
1080
+ expect(mockUpdate).toHaveBeenCalledWith("thread_789", {
1081
+ name: "New Title",
1082
+ });
1083
+ const invalidatedKeys = invalidateQueriesSpy.mock.calls
1084
+ .map(([arg]) => arg.queryKey)
1085
+ .filter(Boolean);
1086
+ expect(invalidatedKeys).toContainEqual(["v1-threads", "list"]);
1087
+ expect(invalidatedKeys).toContainEqual(["v1-threads", "thread_789"]);
1088
+ expect(stateRef.current?.threadMap.thread_789).toBeUndefined();
1089
+ act(() => {
1090
+ result.current.switchThread("thread_789");
1091
+ });
1092
+ expect(result.current.thread).toBeUndefined();
1093
+ });
1094
+ it("propagates errors and does not update local state", async () => {
1095
+ const mockUpdate = jest
1096
+ .fn()
1097
+ .mockRejectedValue(new Error("Network error"));
1098
+ // TypeScript SDK will be updated to include this method
1099
+ mockTamboClient.threads.update = mockUpdate;
1100
+ const invalidateQueriesSpy = jest.spyOn(queryClient, "invalidateQueries");
1101
+ const initialState = {
1102
+ threadMap: {
1103
+ thread_456: {
1104
+ thread: {
1105
+ id: "thread_456",
1106
+ messages: [],
1107
+ status: "idle",
1108
+ createdAt: new Date().toISOString(),
1109
+ updatedAt: new Date().toISOString(),
1110
+ lastRunCancelled: false,
1111
+ name: "Old Name",
1112
+ },
1113
+ streaming: { status: "idle" },
1114
+ accumulatingToolArgs: new Map(),
1115
+ },
1116
+ },
1117
+ currentThreadId: "thread_456",
1118
+ };
1119
+ const { result } = renderHook(() => useTambo(), {
1120
+ wrapper: createWrapperWithRealReducer(initialState),
1121
+ });
1122
+ let caughtError;
1123
+ await act(async () => {
1124
+ try {
1125
+ await result.current.updateThreadName("thread_456", "My New Thread");
1126
+ }
1127
+ catch (error) {
1128
+ caughtError = error;
1129
+ }
1130
+ });
1131
+ expect(caughtError).toBeInstanceOf(Error);
1132
+ expect(caughtError.message).toBe("Network error");
1133
+ expect(result.current.thread?.thread.name).toBe("Old Name");
1134
+ expect(invalidateQueriesSpy).not.toHaveBeenCalled();
1135
+ });
1136
+ });
1009
1137
  });
1010
1138
  //# sourceMappingURL=use-tambo-v1.test.js.map