@tambo-ai/react 0.74.1 → 1.0.0-rc.3

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 (693) hide show
  1. package/README.md +46 -449
  2. package/dist/hoc/with-tambo-interactable.d.ts +8 -0
  3. package/dist/hoc/with-tambo-interactable.d.ts.map +1 -1
  4. package/dist/hoc/with-tambo-interactable.js +16 -13
  5. package/dist/hoc/with-tambo-interactable.js.map +1 -1
  6. package/dist/hoc/with-tambo-interactable.test.js +15 -3
  7. package/dist/hoc/with-tambo-interactable.test.js.map +1 -1
  8. package/dist/hooks/use-tambo-voice.test.js +3 -0
  9. package/dist/hooks/use-tambo-voice.test.js.map +1 -1
  10. package/dist/index.d.ts +7 -25
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +7 -59
  13. package/dist/index.js.map +1 -1
  14. package/dist/mcp/mcp-hooks.js +5 -5
  15. package/dist/mcp/mcp-hooks.js.map +1 -1
  16. package/dist/mcp/mcp-hooks.test.js +69 -0
  17. package/dist/mcp/mcp-hooks.test.js.map +1 -1
  18. package/dist/mcp/tambo-mcp-provider.test.js +24 -0
  19. package/dist/mcp/tambo-mcp-provider.test.js.map +1 -1
  20. package/dist/mcp/use-mcp-servers.test.js +9 -0
  21. package/dist/mcp/use-mcp-servers.test.js.map +1 -1
  22. package/dist/model/component-metadata.d.ts +4 -4
  23. package/dist/model/component-metadata.js.map +1 -1
  24. package/dist/providers/tambo-client-provider.d.ts +12 -0
  25. package/dist/providers/tambo-client-provider.d.ts.map +1 -1
  26. package/dist/providers/tambo-client-provider.js +8 -3
  27. package/dist/providers/tambo-client-provider.js.map +1 -1
  28. package/dist/providers/tambo-interactable-provider.d.ts +1 -1
  29. package/dist/providers/tambo-interactable-provider.d.ts.map +1 -1
  30. package/dist/providers/tambo-interactable-provider.js +8 -0
  31. package/dist/providers/tambo-interactable-provider.js.map +1 -1
  32. package/dist/providers/tambo-interactable-provider.test.js +47 -0
  33. package/dist/providers/tambo-interactable-provider.test.js.map +1 -1
  34. package/dist/providers/tambo-interactables-additional-context-edge-cases.test.js +2 -10
  35. package/dist/providers/tambo-interactables-additional-context-edge-cases.test.js.map +1 -1
  36. package/dist/providers/tambo-interactables-additional-context.test.js +3 -19
  37. package/dist/providers/tambo-interactables-additional-context.test.js.map +1 -1
  38. package/dist/providers/tambo-mcp-token-provider.d.ts +8 -17
  39. package/dist/providers/tambo-mcp-token-provider.d.ts.map +1 -1
  40. package/dist/providers/tambo-mcp-token-provider.js +20 -97
  41. package/dist/providers/tambo-mcp-token-provider.js.map +1 -1
  42. package/dist/testing/tools.d.ts +3 -3
  43. package/dist/testing/tools.d.ts.map +1 -1
  44. package/dist/testing/tools.js.map +1 -1
  45. package/dist/util/registry-validators.js +1 -1
  46. package/dist/util/registry-validators.js.map +1 -1
  47. package/dist/util/resource-content-resolver.test.js +1 -1
  48. package/dist/util/resource-content-resolver.test.js.map +1 -1
  49. package/dist/v1/__tests__/v1-interactables.test.js +1 -1
  50. package/dist/v1/__tests__/v1-interactables.test.js.map +1 -1
  51. package/dist/v1/components/v1-component-renderer.d.ts +9 -9
  52. package/dist/v1/components/v1-component-renderer.d.ts.map +1 -1
  53. package/dist/v1/components/v1-component-renderer.js +13 -13
  54. package/dist/v1/components/v1-component-renderer.js.map +1 -1
  55. package/dist/v1/components/v1-component-renderer.test.js +15 -15
  56. package/dist/v1/components/v1-component-renderer.test.js.map +1 -1
  57. package/{esm/hooks/use-current-message.d.ts → dist/v1/hooks/use-tambo-current-message.d.ts} +30 -9
  58. package/dist/v1/hooks/use-tambo-current-message.d.ts.map +1 -0
  59. package/dist/{hooks/use-current-message.js → v1/hooks/use-tambo-current-message.js} +13 -8
  60. package/dist/v1/hooks/use-tambo-current-message.js.map +1 -0
  61. package/dist/v1/hooks/use-tambo-v1-auth-state.d.ts +11 -0
  62. package/dist/v1/hooks/use-tambo-v1-auth-state.d.ts.map +1 -0
  63. package/dist/v1/hooks/use-tambo-v1-auth-state.js +48 -0
  64. package/dist/v1/hooks/use-tambo-v1-auth-state.js.map +1 -0
  65. package/dist/v1/hooks/use-tambo-v1-auth-state.test.d.ts +2 -0
  66. package/dist/v1/hooks/use-tambo-v1-auth-state.test.d.ts.map +1 -0
  67. package/dist/v1/hooks/use-tambo-v1-auth-state.test.js +105 -0
  68. package/dist/v1/hooks/use-tambo-v1-auth-state.test.js.map +1 -0
  69. package/dist/v1/hooks/use-tambo-v1-component-state.d.ts +7 -6
  70. package/dist/v1/hooks/use-tambo-v1-component-state.d.ts.map +1 -1
  71. package/dist/v1/hooks/use-tambo-v1-component-state.js +101 -28
  72. package/dist/v1/hooks/use-tambo-v1-component-state.js.map +1 -1
  73. package/dist/v1/hooks/use-tambo-v1-component-state.test.js +150 -25
  74. package/dist/v1/hooks/use-tambo-v1-component-state.test.js.map +1 -1
  75. package/dist/v1/hooks/use-tambo-v1-messages.d.ts +9 -9
  76. package/dist/v1/hooks/use-tambo-v1-messages.d.ts.map +1 -1
  77. package/dist/v1/hooks/use-tambo-v1-messages.js +4 -4
  78. package/dist/v1/hooks/use-tambo-v1-messages.js.map +1 -1
  79. package/dist/v1/hooks/use-tambo-v1-messages.test.js +14 -6
  80. package/dist/v1/hooks/use-tambo-v1-messages.test.js.map +1 -1
  81. package/dist/v1/hooks/use-tambo-v1-send-message.d.ts +21 -3
  82. package/dist/v1/hooks/use-tambo-v1-send-message.d.ts.map +1 -1
  83. package/dist/v1/hooks/use-tambo-v1-send-message.js +92 -17
  84. package/dist/v1/hooks/use-tambo-v1-send-message.js.map +1 -1
  85. package/dist/v1/hooks/use-tambo-v1-send-message.test.js +315 -42
  86. package/dist/v1/hooks/use-tambo-v1-send-message.test.js.map +1 -1
  87. package/dist/v1/hooks/use-tambo-v1-stream-status.d.ts +7 -7
  88. package/dist/v1/hooks/use-tambo-v1-stream-status.d.ts.map +1 -1
  89. package/dist/v1/hooks/use-tambo-v1-stream-status.js +14 -16
  90. package/dist/v1/hooks/use-tambo-v1-stream-status.js.map +1 -1
  91. package/dist/v1/hooks/use-tambo-v1-stream-status.test.js +30 -30
  92. package/dist/v1/hooks/use-tambo-v1-stream-status.test.js.map +1 -1
  93. package/dist/v1/hooks/use-tambo-v1-suggestions.d.ts +7 -7
  94. package/dist/v1/hooks/use-tambo-v1-suggestions.d.ts.map +1 -1
  95. package/dist/v1/hooks/use-tambo-v1-suggestions.js +9 -9
  96. package/dist/v1/hooks/use-tambo-v1-suggestions.js.map +1 -1
  97. package/dist/v1/hooks/use-tambo-v1-suggestions.test.js +44 -44
  98. package/dist/v1/hooks/use-tambo-v1-suggestions.test.js.map +1 -1
  99. package/dist/v1/hooks/use-tambo-v1-thread-input.d.ts +3 -3
  100. package/dist/v1/hooks/use-tambo-v1-thread-input.d.ts.map +1 -1
  101. package/dist/v1/hooks/use-tambo-v1-thread-input.js +4 -4
  102. package/dist/v1/hooks/use-tambo-v1-thread-input.js.map +1 -1
  103. package/dist/v1/hooks/use-tambo-v1-thread-input.test.js +40 -27
  104. package/dist/v1/hooks/use-tambo-v1-thread-input.test.js.map +1 -1
  105. package/dist/v1/hooks/use-tambo-v1-thread-list.d.ts +4 -4
  106. package/dist/v1/hooks/use-tambo-v1-thread-list.d.ts.map +1 -1
  107. package/dist/v1/hooks/use-tambo-v1-thread-list.js +8 -4
  108. package/dist/v1/hooks/use-tambo-v1-thread-list.js.map +1 -1
  109. package/dist/v1/hooks/use-tambo-v1-thread-list.test.js +18 -16
  110. package/dist/v1/hooks/use-tambo-v1-thread-list.test.js.map +1 -1
  111. package/dist/v1/hooks/use-tambo-v1-thread.d.ts +3 -3
  112. package/dist/v1/hooks/use-tambo-v1-thread.d.ts.map +1 -1
  113. package/dist/v1/hooks/use-tambo-v1-thread.js +7 -3
  114. package/dist/v1/hooks/use-tambo-v1-thread.js.map +1 -1
  115. package/dist/v1/hooks/use-tambo-v1-thread.test.js +10 -4
  116. package/dist/v1/hooks/use-tambo-v1-thread.test.js.map +1 -1
  117. package/dist/v1/hooks/use-tambo-v1.d.ts +16 -5
  118. package/dist/v1/hooks/use-tambo-v1.d.ts.map +1 -1
  119. package/dist/v1/hooks/use-tambo-v1.js +14 -6
  120. package/dist/v1/hooks/use-tambo-v1.js.map +1 -1
  121. package/dist/v1/hooks/use-tambo-v1.test.js +65 -43
  122. package/dist/v1/hooks/use-tambo-v1.test.js.map +1 -1
  123. package/dist/v1/index.d.ts +34 -27
  124. package/dist/v1/index.d.ts.map +1 -1
  125. package/dist/v1/index.js +48 -35
  126. package/dist/v1/index.js.map +1 -1
  127. package/dist/v1/providers/tambo-v1-provider.d.ts +35 -20
  128. package/dist/v1/providers/tambo-v1-provider.d.ts.map +1 -1
  129. package/dist/v1/providers/tambo-v1-provider.js +63 -26
  130. package/dist/v1/providers/tambo-v1-provider.js.map +1 -1
  131. package/dist/v1/providers/tambo-v1-provider.test.js +40 -23
  132. package/dist/v1/providers/tambo-v1-provider.test.js.map +1 -1
  133. package/dist/v1/providers/tambo-v1-stream-context.d.ts +21 -15
  134. package/dist/v1/providers/tambo-v1-stream-context.d.ts.map +1 -1
  135. package/dist/v1/providers/tambo-v1-stream-context.js +66 -27
  136. package/dist/v1/providers/tambo-v1-stream-context.js.map +1 -1
  137. package/dist/v1/providers/tambo-v1-stream-context.test.js +14 -5
  138. package/dist/v1/providers/tambo-v1-stream-context.test.js.map +1 -1
  139. package/dist/v1/providers/tambo-v1-stub-provider.d.ts +9 -9
  140. package/dist/v1/providers/tambo-v1-stub-provider.d.ts.map +1 -1
  141. package/dist/v1/providers/tambo-v1-stub-provider.js +11 -7
  142. package/dist/v1/providers/tambo-v1-stub-provider.js.map +1 -1
  143. package/dist/v1/providers/tambo-v1-stub-provider.test.js +25 -25
  144. package/dist/v1/providers/tambo-v1-stub-provider.test.js.map +1 -1
  145. package/dist/v1/providers/tambo-v1-thread-input-provider.d.ts +20 -9
  146. package/dist/v1/providers/tambo-v1-thread-input-provider.d.ts.map +1 -1
  147. package/dist/v1/providers/tambo-v1-thread-input-provider.js +25 -16
  148. package/dist/v1/providers/tambo-v1-thread-input-provider.js.map +1 -1
  149. package/dist/v1/types/auth.d.ts +24 -0
  150. package/dist/v1/types/auth.d.ts.map +1 -0
  151. package/dist/{model/tambo-thread.js → v1/types/auth.js} +1 -1
  152. package/dist/v1/types/auth.js.map +1 -0
  153. package/dist/v1/types/component.d.ts +3 -3
  154. package/dist/v1/types/component.d.ts.map +1 -1
  155. package/dist/v1/types/component.js +2 -2
  156. package/dist/v1/types/component.js.map +1 -1
  157. package/dist/v1/types/event.d.ts +1 -1
  158. package/dist/v1/types/event.js +1 -1
  159. package/dist/v1/types/event.js.map +1 -1
  160. package/dist/v1/types/message.d.ts +19 -12
  161. package/dist/v1/types/message.d.ts.map +1 -1
  162. package/dist/v1/types/message.js +1 -1
  163. package/dist/v1/types/message.js.map +1 -1
  164. package/dist/v1/types/thread.d.ts +8 -6
  165. package/dist/v1/types/thread.d.ts.map +1 -1
  166. package/dist/v1/types/thread.js +1 -1
  167. package/dist/v1/types/thread.js.map +1 -1
  168. package/dist/v1/types/tool-choice.d.ts +8 -0
  169. package/dist/v1/types/tool-choice.d.ts.map +1 -0
  170. package/dist/v1/types/tool-choice.js +3 -0
  171. package/dist/v1/types/tool-choice.js.map +1 -0
  172. package/dist/v1/utils/component-renderer.d.ts +11 -5
  173. package/dist/v1/utils/component-renderer.d.ts.map +1 -1
  174. package/dist/v1/utils/component-renderer.js +16 -7
  175. package/dist/v1/utils/component-renderer.js.map +1 -1
  176. package/dist/v1/utils/component-renderer.test.js +7 -7
  177. package/dist/v1/utils/component-renderer.test.js.map +1 -1
  178. package/dist/v1/utils/event-accumulator.d.ts +34 -8
  179. package/dist/v1/utils/event-accumulator.d.ts.map +1 -1
  180. package/dist/v1/utils/event-accumulator.js +90 -27
  181. package/dist/v1/utils/event-accumulator.js.map +1 -1
  182. package/dist/v1/utils/event-accumulator.test.js +149 -8
  183. package/dist/v1/utils/event-accumulator.test.js.map +1 -1
  184. package/dist/v1/utils/keyed-throttle.d.ts +42 -0
  185. package/dist/v1/utils/keyed-throttle.d.ts.map +1 -0
  186. package/dist/v1/utils/keyed-throttle.js +86 -0
  187. package/dist/v1/utils/keyed-throttle.js.map +1 -0
  188. package/dist/v1/utils/keyed-throttle.test.d.ts +2 -0
  189. package/dist/v1/utils/keyed-throttle.test.d.ts.map +1 -0
  190. package/dist/v1/utils/keyed-throttle.test.js +147 -0
  191. package/dist/v1/utils/keyed-throttle.test.js.map +1 -0
  192. package/dist/v1/utils/registry-conversion.d.ts +18 -18
  193. package/dist/v1/utils/registry-conversion.d.ts.map +1 -1
  194. package/dist/v1/utils/registry-conversion.js +25 -23
  195. package/dist/v1/utils/registry-conversion.js.map +1 -1
  196. package/dist/v1/utils/registry-conversion.test.js +23 -0
  197. package/dist/v1/utils/registry-conversion.test.js.map +1 -1
  198. package/dist/v1/utils/stream-handler.d.ts +1 -1
  199. package/dist/v1/utils/stream-handler.js +1 -1
  200. package/dist/v1/utils/stream-handler.js.map +1 -1
  201. package/dist/v1/utils/thread-utils.d.ts +2 -2
  202. package/dist/v1/utils/thread-utils.d.ts.map +1 -1
  203. package/dist/v1/utils/thread-utils.js.map +1 -1
  204. package/dist/v1/utils/tool-call-tracker.d.ts +11 -1
  205. package/dist/v1/utils/tool-call-tracker.d.ts.map +1 -1
  206. package/dist/v1/utils/tool-call-tracker.js +14 -1
  207. package/dist/v1/utils/tool-call-tracker.js.map +1 -1
  208. package/dist/v1/utils/tool-call-tracker.test.d.ts +2 -0
  209. package/dist/v1/utils/tool-call-tracker.test.d.ts.map +1 -0
  210. package/dist/v1/utils/tool-call-tracker.test.js +67 -0
  211. package/dist/v1/utils/tool-call-tracker.test.js.map +1 -0
  212. package/dist/v1/utils/tool-executor.d.ts +35 -1
  213. package/dist/v1/utils/tool-executor.d.ts.map +1 -1
  214. package/dist/v1/utils/tool-executor.js +57 -2
  215. package/dist/v1/utils/tool-executor.js.map +1 -1
  216. package/dist/v1/utils/tool-executor.test.js +211 -0
  217. package/dist/v1/utils/tool-executor.test.js.map +1 -1
  218. package/esm/hoc/with-tambo-interactable.d.ts +8 -0
  219. package/esm/hoc/with-tambo-interactable.d.ts.map +1 -1
  220. package/esm/hoc/with-tambo-interactable.js +15 -12
  221. package/esm/hoc/with-tambo-interactable.js.map +1 -1
  222. package/esm/hoc/with-tambo-interactable.test.js +13 -1
  223. package/esm/hoc/with-tambo-interactable.test.js.map +1 -1
  224. package/esm/hooks/use-tambo-voice.test.js +3 -0
  225. package/esm/hooks/use-tambo-voice.test.js.map +1 -1
  226. package/esm/index.d.ts +7 -25
  227. package/esm/index.d.ts.map +1 -1
  228. package/esm/index.js +7 -21
  229. package/esm/index.js.map +1 -1
  230. package/esm/mcp/mcp-hooks.js +1 -1
  231. package/esm/mcp/mcp-hooks.js.map +1 -1
  232. package/esm/mcp/mcp-hooks.test.js +69 -0
  233. package/esm/mcp/mcp-hooks.test.js.map +1 -1
  234. package/esm/mcp/tambo-mcp-provider.test.js +24 -0
  235. package/esm/mcp/tambo-mcp-provider.test.js.map +1 -1
  236. package/esm/mcp/use-mcp-servers.test.js +9 -0
  237. package/esm/mcp/use-mcp-servers.test.js.map +1 -1
  238. package/esm/model/component-metadata.d.ts +4 -4
  239. package/esm/model/component-metadata.js.map +1 -1
  240. package/esm/providers/tambo-client-provider.d.ts +12 -0
  241. package/esm/providers/tambo-client-provider.d.ts.map +1 -1
  242. package/esm/providers/tambo-client-provider.js +8 -3
  243. package/esm/providers/tambo-client-provider.js.map +1 -1
  244. package/esm/providers/tambo-interactable-provider.d.ts +1 -1
  245. package/esm/providers/tambo-interactable-provider.d.ts.map +1 -1
  246. package/esm/providers/tambo-interactable-provider.js +8 -0
  247. package/esm/providers/tambo-interactable-provider.js.map +1 -1
  248. package/esm/providers/tambo-interactable-provider.test.js +47 -0
  249. package/esm/providers/tambo-interactable-provider.test.js.map +1 -1
  250. package/esm/providers/tambo-interactables-additional-context-edge-cases.test.js +2 -10
  251. package/esm/providers/tambo-interactables-additional-context-edge-cases.test.js.map +1 -1
  252. package/esm/providers/tambo-interactables-additional-context.test.js +3 -19
  253. package/esm/providers/tambo-interactables-additional-context.test.js.map +1 -1
  254. package/esm/providers/tambo-mcp-token-provider.d.ts +8 -17
  255. package/esm/providers/tambo-mcp-token-provider.d.ts.map +1 -1
  256. package/esm/providers/tambo-mcp-token-provider.js +20 -97
  257. package/esm/providers/tambo-mcp-token-provider.js.map +1 -1
  258. package/esm/testing/tools.d.ts +3 -3
  259. package/esm/testing/tools.d.ts.map +1 -1
  260. package/esm/testing/tools.js.map +1 -1
  261. package/esm/util/registry-validators.js +1 -1
  262. package/esm/util/registry-validators.js.map +1 -1
  263. package/esm/util/resource-content-resolver.test.js +1 -1
  264. package/esm/util/resource-content-resolver.test.js.map +1 -1
  265. package/esm/v1/__tests__/v1-interactables.test.js +1 -1
  266. package/esm/v1/__tests__/v1-interactables.test.js.map +1 -1
  267. package/esm/v1/components/v1-component-renderer.d.ts +9 -9
  268. package/esm/v1/components/v1-component-renderer.d.ts.map +1 -1
  269. package/esm/v1/components/v1-component-renderer.js +12 -12
  270. package/esm/v1/components/v1-component-renderer.js.map +1 -1
  271. package/esm/v1/components/v1-component-renderer.test.js +16 -16
  272. package/esm/v1/components/v1-component-renderer.test.js.map +1 -1
  273. package/{dist/hooks/use-current-message.d.ts → esm/v1/hooks/use-tambo-current-message.d.ts} +30 -9
  274. package/esm/v1/hooks/use-tambo-current-message.d.ts.map +1 -0
  275. package/esm/{hooks/use-current-message.js → v1/hooks/use-tambo-current-message.js} +13 -8
  276. package/esm/v1/hooks/use-tambo-current-message.js.map +1 -0
  277. package/esm/v1/hooks/use-tambo-v1-auth-state.d.ts +11 -0
  278. package/esm/v1/hooks/use-tambo-v1-auth-state.d.ts.map +1 -0
  279. package/esm/v1/hooks/use-tambo-v1-auth-state.js +45 -0
  280. package/esm/v1/hooks/use-tambo-v1-auth-state.js.map +1 -0
  281. package/esm/v1/hooks/use-tambo-v1-auth-state.test.d.ts +2 -0
  282. package/esm/v1/hooks/use-tambo-v1-auth-state.test.d.ts.map +1 -0
  283. package/esm/v1/hooks/use-tambo-v1-auth-state.test.js +100 -0
  284. package/esm/v1/hooks/use-tambo-v1-auth-state.test.js.map +1 -0
  285. package/esm/v1/hooks/use-tambo-v1-component-state.d.ts +7 -6
  286. package/esm/v1/hooks/use-tambo-v1-component-state.d.ts.map +1 -1
  287. package/esm/v1/hooks/use-tambo-v1-component-state.js +101 -28
  288. package/esm/v1/hooks/use-tambo-v1-component-state.js.map +1 -1
  289. package/esm/v1/hooks/use-tambo-v1-component-state.test.js +152 -27
  290. package/esm/v1/hooks/use-tambo-v1-component-state.test.js.map +1 -1
  291. package/esm/v1/hooks/use-tambo-v1-messages.d.ts +9 -9
  292. package/esm/v1/hooks/use-tambo-v1-messages.d.ts.map +1 -1
  293. package/esm/v1/hooks/use-tambo-v1-messages.js +3 -3
  294. package/esm/v1/hooks/use-tambo-v1-messages.js.map +1 -1
  295. package/esm/v1/hooks/use-tambo-v1-messages.test.js +16 -8
  296. package/esm/v1/hooks/use-tambo-v1-messages.test.js.map +1 -1
  297. package/esm/v1/hooks/use-tambo-v1-send-message.d.ts +21 -3
  298. package/esm/v1/hooks/use-tambo-v1-send-message.d.ts.map +1 -1
  299. package/esm/v1/hooks/use-tambo-v1-send-message.js +93 -18
  300. package/esm/v1/hooks/use-tambo-v1-send-message.js.map +1 -1
  301. package/esm/v1/hooks/use-tambo-v1-send-message.test.js +318 -45
  302. package/esm/v1/hooks/use-tambo-v1-send-message.test.js.map +1 -1
  303. package/esm/v1/hooks/use-tambo-v1-stream-status.d.ts +7 -7
  304. package/esm/v1/hooks/use-tambo-v1-stream-status.d.ts.map +1 -1
  305. package/esm/v1/hooks/use-tambo-v1-stream-status.js +14 -16
  306. package/esm/v1/hooks/use-tambo-v1-stream-status.js.map +1 -1
  307. package/esm/v1/hooks/use-tambo-v1-stream-status.test.js +32 -32
  308. package/esm/v1/hooks/use-tambo-v1-stream-status.test.js.map +1 -1
  309. package/esm/v1/hooks/use-tambo-v1-suggestions.d.ts +7 -7
  310. package/esm/v1/hooks/use-tambo-v1-suggestions.d.ts.map +1 -1
  311. package/esm/v1/hooks/use-tambo-v1-suggestions.js +11 -11
  312. package/esm/v1/hooks/use-tambo-v1-suggestions.js.map +1 -1
  313. package/esm/v1/hooks/use-tambo-v1-suggestions.test.js +48 -48
  314. package/esm/v1/hooks/use-tambo-v1-suggestions.test.js.map +1 -1
  315. package/esm/v1/hooks/use-tambo-v1-thread-input.d.ts +3 -3
  316. package/esm/v1/hooks/use-tambo-v1-thread-input.d.ts.map +1 -1
  317. package/esm/v1/hooks/use-tambo-v1-thread-input.js +3 -3
  318. package/esm/v1/hooks/use-tambo-v1-thread-input.js.map +1 -1
  319. package/esm/v1/hooks/use-tambo-v1-thread-input.test.js +43 -30
  320. package/esm/v1/hooks/use-tambo-v1-thread-input.test.js.map +1 -1
  321. package/esm/v1/hooks/use-tambo-v1-thread-list.d.ts +4 -4
  322. package/esm/v1/hooks/use-tambo-v1-thread-list.d.ts.map +1 -1
  323. package/esm/v1/hooks/use-tambo-v1-thread-list.js +8 -4
  324. package/esm/v1/hooks/use-tambo-v1-thread-list.js.map +1 -1
  325. package/esm/v1/hooks/use-tambo-v1-thread-list.test.js +20 -18
  326. package/esm/v1/hooks/use-tambo-v1-thread-list.test.js.map +1 -1
  327. package/esm/v1/hooks/use-tambo-v1-thread.d.ts +3 -3
  328. package/esm/v1/hooks/use-tambo-v1-thread.d.ts.map +1 -1
  329. package/esm/v1/hooks/use-tambo-v1-thread.js +6 -2
  330. package/esm/v1/hooks/use-tambo-v1-thread.js.map +1 -1
  331. package/esm/v1/hooks/use-tambo-v1-thread.test.js +11 -5
  332. package/esm/v1/hooks/use-tambo-v1-thread.test.js.map +1 -1
  333. package/esm/v1/hooks/use-tambo-v1.d.ts +16 -5
  334. package/esm/v1/hooks/use-tambo-v1.d.ts.map +1 -1
  335. package/esm/v1/hooks/use-tambo-v1.js +14 -6
  336. package/esm/v1/hooks/use-tambo-v1.js.map +1 -1
  337. package/esm/v1/hooks/use-tambo-v1.test.js +67 -45
  338. package/esm/v1/hooks/use-tambo-v1.test.js.map +1 -1
  339. package/esm/v1/index.d.ts +34 -27
  340. package/esm/v1/index.d.ts.map +1 -1
  341. package/esm/v1/index.js +40 -33
  342. package/esm/v1/index.js.map +1 -1
  343. package/esm/v1/providers/tambo-v1-provider.d.ts +35 -20
  344. package/esm/v1/providers/tambo-v1-provider.d.ts.map +1 -1
  345. package/esm/v1/providers/tambo-v1-provider.js +63 -26
  346. package/esm/v1/providers/tambo-v1-provider.js.map +1 -1
  347. package/esm/v1/providers/tambo-v1-provider.test.js +41 -24
  348. package/esm/v1/providers/tambo-v1-provider.test.js.map +1 -1
  349. package/esm/v1/providers/tambo-v1-stream-context.d.ts +21 -15
  350. package/esm/v1/providers/tambo-v1-stream-context.d.ts.map +1 -1
  351. package/esm/v1/providers/tambo-v1-stream-context.js +66 -27
  352. package/esm/v1/providers/tambo-v1-stream-context.js.map +1 -1
  353. package/esm/v1/providers/tambo-v1-stream-context.test.js +15 -6
  354. package/esm/v1/providers/tambo-v1-stream-context.test.js.map +1 -1
  355. package/esm/v1/providers/tambo-v1-stub-provider.d.ts +9 -9
  356. package/esm/v1/providers/tambo-v1-stub-provider.d.ts.map +1 -1
  357. package/esm/v1/providers/tambo-v1-stub-provider.js +13 -9
  358. package/esm/v1/providers/tambo-v1-stub-provider.js.map +1 -1
  359. package/esm/v1/providers/tambo-v1-stub-provider.test.js +28 -28
  360. package/esm/v1/providers/tambo-v1-stub-provider.test.js.map +1 -1
  361. package/esm/v1/providers/tambo-v1-thread-input-provider.d.ts +20 -9
  362. package/esm/v1/providers/tambo-v1-thread-input-provider.d.ts.map +1 -1
  363. package/esm/v1/providers/tambo-v1-thread-input-provider.js +23 -14
  364. package/esm/v1/providers/tambo-v1-thread-input-provider.js.map +1 -1
  365. package/esm/v1/types/auth.d.ts +24 -0
  366. package/esm/v1/types/auth.d.ts.map +1 -0
  367. package/esm/v1/types/auth.js +2 -0
  368. package/esm/v1/types/auth.js.map +1 -0
  369. package/esm/v1/types/component.d.ts +3 -3
  370. package/esm/v1/types/component.d.ts.map +1 -1
  371. package/esm/v1/types/component.js +2 -2
  372. package/esm/v1/types/component.js.map +1 -1
  373. package/esm/v1/types/event.d.ts +1 -1
  374. package/esm/v1/types/event.js +1 -1
  375. package/esm/v1/types/event.js.map +1 -1
  376. package/esm/v1/types/message.d.ts +19 -12
  377. package/esm/v1/types/message.d.ts.map +1 -1
  378. package/esm/v1/types/message.js +1 -1
  379. package/esm/v1/types/message.js.map +1 -1
  380. package/esm/v1/types/thread.d.ts +8 -6
  381. package/esm/v1/types/thread.d.ts.map +1 -1
  382. package/esm/v1/types/thread.js +1 -1
  383. package/esm/v1/types/thread.js.map +1 -1
  384. package/esm/v1/types/tool-choice.d.ts +8 -0
  385. package/esm/v1/types/tool-choice.d.ts.map +1 -0
  386. package/esm/v1/types/tool-choice.js +2 -0
  387. package/esm/v1/types/tool-choice.js.map +1 -0
  388. package/esm/v1/utils/component-renderer.d.ts +11 -5
  389. package/esm/v1/utils/component-renderer.d.ts.map +1 -1
  390. package/esm/v1/utils/component-renderer.js +13 -5
  391. package/esm/v1/utils/component-renderer.js.map +1 -1
  392. package/esm/v1/utils/component-renderer.test.js +8 -8
  393. package/esm/v1/utils/component-renderer.test.js.map +1 -1
  394. package/esm/v1/utils/event-accumulator.d.ts +34 -8
  395. package/esm/v1/utils/event-accumulator.d.ts.map +1 -1
  396. package/esm/v1/utils/event-accumulator.js +89 -27
  397. package/esm/v1/utils/event-accumulator.js.map +1 -1
  398. package/esm/v1/utils/event-accumulator.test.js +149 -8
  399. package/esm/v1/utils/event-accumulator.test.js.map +1 -1
  400. package/esm/v1/utils/keyed-throttle.d.ts +42 -0
  401. package/esm/v1/utils/keyed-throttle.d.ts.map +1 -0
  402. package/esm/v1/utils/keyed-throttle.js +83 -0
  403. package/esm/v1/utils/keyed-throttle.js.map +1 -0
  404. package/esm/v1/utils/keyed-throttle.test.d.ts +2 -0
  405. package/esm/v1/utils/keyed-throttle.test.d.ts.map +1 -0
  406. package/esm/v1/utils/keyed-throttle.test.js +145 -0
  407. package/esm/v1/utils/keyed-throttle.test.js.map +1 -0
  408. package/esm/v1/utils/registry-conversion.d.ts +18 -18
  409. package/esm/v1/utils/registry-conversion.d.ts.map +1 -1
  410. package/esm/v1/utils/registry-conversion.js +25 -23
  411. package/esm/v1/utils/registry-conversion.js.map +1 -1
  412. package/esm/v1/utils/registry-conversion.test.js +23 -0
  413. package/esm/v1/utils/registry-conversion.test.js.map +1 -1
  414. package/esm/v1/utils/stream-handler.d.ts +1 -1
  415. package/esm/v1/utils/stream-handler.js +1 -1
  416. package/esm/v1/utils/stream-handler.js.map +1 -1
  417. package/esm/v1/utils/thread-utils.d.ts +2 -2
  418. package/esm/v1/utils/thread-utils.d.ts.map +1 -1
  419. package/esm/v1/utils/thread-utils.js.map +1 -1
  420. package/esm/v1/utils/tool-call-tracker.d.ts +11 -1
  421. package/esm/v1/utils/tool-call-tracker.d.ts.map +1 -1
  422. package/esm/v1/utils/tool-call-tracker.js +14 -1
  423. package/esm/v1/utils/tool-call-tracker.js.map +1 -1
  424. package/esm/v1/utils/tool-call-tracker.test.d.ts +2 -0
  425. package/esm/v1/utils/tool-call-tracker.test.d.ts.map +1 -0
  426. package/esm/v1/utils/tool-call-tracker.test.js +65 -0
  427. package/esm/v1/utils/tool-call-tracker.test.js.map +1 -0
  428. package/esm/v1/utils/tool-executor.d.ts +35 -1
  429. package/esm/v1/utils/tool-executor.d.ts.map +1 -1
  430. package/esm/v1/utils/tool-executor.js +55 -2
  431. package/esm/v1/utils/tool-executor.js.map +1 -1
  432. package/esm/v1/utils/tool-executor.test.js +212 -1
  433. package/esm/v1/utils/tool-executor.test.js.map +1 -1
  434. package/package.json +5 -10
  435. package/dist/hooks/index.d.ts +0 -9
  436. package/dist/hooks/index.d.ts.map +0 -1
  437. package/dist/hooks/index.js +0 -34
  438. package/dist/hooks/index.js.map +0 -1
  439. package/dist/hooks/use-component-state.d.ts +0 -30
  440. package/dist/hooks/use-component-state.d.ts.map +0 -1
  441. package/dist/hooks/use-component-state.js +0 -139
  442. package/dist/hooks/use-component-state.js.map +0 -1
  443. package/dist/hooks/use-component-state.test.d.ts +0 -2
  444. package/dist/hooks/use-component-state.test.d.ts.map +0 -1
  445. package/dist/hooks/use-component-state.test.js +0 -406
  446. package/dist/hooks/use-component-state.test.js.map +0 -1
  447. package/dist/hooks/use-current-message.d.ts.map +0 -1
  448. package/dist/hooks/use-current-message.js.map +0 -1
  449. package/dist/hooks/use-current-message.test.d.ts +0 -2
  450. package/dist/hooks/use-current-message.test.d.ts.map +0 -1
  451. package/dist/hooks/use-current-message.test.js +0 -269
  452. package/dist/hooks/use-current-message.test.js.map +0 -1
  453. package/dist/hooks/use-streaming-props.d.ts +0 -11
  454. package/dist/hooks/use-streaming-props.d.ts.map +0 -1
  455. package/dist/hooks/use-streaming-props.js +0 -37
  456. package/dist/hooks/use-streaming-props.js.map +0 -1
  457. package/dist/hooks/use-suggestions.d.ts +0 -46
  458. package/dist/hooks/use-suggestions.d.ts.map +0 -1
  459. package/dist/hooks/use-suggestions.js +0 -118
  460. package/dist/hooks/use-suggestions.js.map +0 -1
  461. package/dist/hooks/use-suggestions.test.d.ts +0 -2
  462. package/dist/hooks/use-suggestions.test.d.ts.map +0 -1
  463. package/dist/hooks/use-suggestions.test.js +0 -247
  464. package/dist/hooks/use-suggestions.test.js.map +0 -1
  465. package/dist/hooks/use-tambo-stream-status.d.ts +0 -90
  466. package/dist/hooks/use-tambo-stream-status.d.ts.map +0 -1
  467. package/dist/hooks/use-tambo-stream-status.js +0 -213
  468. package/dist/hooks/use-tambo-stream-status.js.map +0 -1
  469. package/dist/hooks/use-tambo-stream-status.test.d.ts +0 -2
  470. package/dist/hooks/use-tambo-stream-status.test.d.ts.map +0 -1
  471. package/dist/hooks/use-tambo-stream-status.test.js +0 -378
  472. package/dist/hooks/use-tambo-stream-status.test.js.map +0 -1
  473. package/dist/hooks/use-tambo-threads.d.ts +0 -158
  474. package/dist/hooks/use-tambo-threads.d.ts.map +0 -1
  475. package/dist/hooks/use-tambo-threads.js +0 -45
  476. package/dist/hooks/use-tambo-threads.js.map +0 -1
  477. package/dist/hooks/use-tambo-threads.test.d.ts +0 -2
  478. package/dist/hooks/use-tambo-threads.test.d.ts.map +0 -1
  479. package/dist/hooks/use-tambo-threads.test.js +0 -214
  480. package/dist/hooks/use-tambo-threads.test.js.map +0 -1
  481. package/dist/model/generate-component-response.d.ts +0 -37
  482. package/dist/model/generate-component-response.d.ts.map +0 -1
  483. package/dist/model/generate-component-response.js +0 -29
  484. package/dist/model/generate-component-response.js.map +0 -1
  485. package/dist/model/tambo-thread.d.ts +0 -15
  486. package/dist/model/tambo-thread.d.ts.map +0 -1
  487. package/dist/model/tambo-thread.js.map +0 -1
  488. package/dist/providers/__tests__/thread-input-resource-resolution.test.d.ts +0 -2
  489. package/dist/providers/__tests__/thread-input-resource-resolution.test.d.ts.map +0 -1
  490. package/dist/providers/__tests__/thread-input-resource-resolution.test.js +0 -592
  491. package/dist/providers/__tests__/thread-input-resource-resolution.test.js.map +0 -1
  492. package/dist/providers/index.d.ts +0 -13
  493. package/dist/providers/index.d.ts.map +0 -1
  494. package/dist/providers/index.js +0 -41
  495. package/dist/providers/index.js.map +0 -1
  496. package/dist/providers/tambo-component-provider.d.ts +0 -23
  497. package/dist/providers/tambo-component-provider.d.ts.map +0 -1
  498. package/dist/providers/tambo-component-provider.js +0 -88
  499. package/dist/providers/tambo-component-provider.js.map +0 -1
  500. package/dist/providers/tambo-prop-stream-provider/index.d.ts +0 -19
  501. package/dist/providers/tambo-prop-stream-provider/index.d.ts.map +0 -1
  502. package/dist/providers/tambo-prop-stream-provider/index.js +0 -43
  503. package/dist/providers/tambo-prop-stream-provider/index.js.map +0 -1
  504. package/dist/providers/tambo-prop-stream-provider/pending.d.ts +0 -12
  505. package/dist/providers/tambo-prop-stream-provider/pending.d.ts.map +0 -1
  506. package/dist/providers/tambo-prop-stream-provider/pending.js +0 -31
  507. package/dist/providers/tambo-prop-stream-provider/pending.js.map +0 -1
  508. package/dist/providers/tambo-prop-stream-provider/provider.d.ts +0 -17
  509. package/dist/providers/tambo-prop-stream-provider/provider.d.ts.map +0 -1
  510. package/dist/providers/tambo-prop-stream-provider/provider.js +0 -107
  511. package/dist/providers/tambo-prop-stream-provider/provider.js.map +0 -1
  512. package/dist/providers/tambo-prop-stream-provider/streaming.d.ts +0 -12
  513. package/dist/providers/tambo-prop-stream-provider/streaming.d.ts.map +0 -1
  514. package/dist/providers/tambo-prop-stream-provider/streaming.js +0 -28
  515. package/dist/providers/tambo-prop-stream-provider/streaming.js.map +0 -1
  516. package/dist/providers/tambo-prop-stream-provider/success.d.ts +0 -12
  517. package/dist/providers/tambo-prop-stream-provider/success.d.ts.map +0 -1
  518. package/dist/providers/tambo-prop-stream-provider/success.js +0 -28
  519. package/dist/providers/tambo-prop-stream-provider/success.js.map +0 -1
  520. package/dist/providers/tambo-prop-stream-provider/types.d.ts +0 -25
  521. package/dist/providers/tambo-prop-stream-provider/types.d.ts.map +0 -1
  522. package/dist/providers/tambo-prop-stream-provider/types.js +0 -6
  523. package/dist/providers/tambo-prop-stream-provider/types.js.map +0 -1
  524. package/dist/providers/tambo-prop-stream-provider.test.d.ts +0 -2
  525. package/dist/providers/tambo-prop-stream-provider.test.d.ts.map +0 -1
  526. package/dist/providers/tambo-prop-stream-provider.test.js +0 -275
  527. package/dist/providers/tambo-prop-stream-provider.test.js.map +0 -1
  528. package/dist/providers/tambo-provider.d.ts +0 -53
  529. package/dist/providers/tambo-provider.d.ts.map +0 -1
  530. package/dist/providers/tambo-provider.js +0 -130
  531. package/dist/providers/tambo-provider.js.map +0 -1
  532. package/dist/providers/tambo-stubs.d.ts +0 -89
  533. package/dist/providers/tambo-stubs.d.ts.map +0 -1
  534. package/dist/providers/tambo-stubs.js +0 -276
  535. package/dist/providers/tambo-stubs.js.map +0 -1
  536. package/dist/providers/tambo-stubs.test.d.ts +0 -2
  537. package/dist/providers/tambo-stubs.test.d.ts.map +0 -1
  538. package/dist/providers/tambo-stubs.test.js +0 -97
  539. package/dist/providers/tambo-stubs.test.js.map +0 -1
  540. package/dist/providers/tambo-thread-input-provider.d.ts +0 -65
  541. package/dist/providers/tambo-thread-input-provider.d.ts.map +0 -1
  542. package/dist/providers/tambo-thread-input-provider.js +0 -179
  543. package/dist/providers/tambo-thread-input-provider.js.map +0 -1
  544. package/dist/providers/tambo-thread-provider-initial-messages.test.d.ts +0 -2
  545. package/dist/providers/tambo-thread-provider-initial-messages.test.d.ts.map +0 -1
  546. package/dist/providers/tambo-thread-provider-initial-messages.test.js +0 -275
  547. package/dist/providers/tambo-thread-provider-initial-messages.test.js.map +0 -1
  548. package/dist/providers/tambo-thread-provider.d.ts +0 -126
  549. package/dist/providers/tambo-thread-provider.d.ts.map +0 -1
  550. package/dist/providers/tambo-thread-provider.js +0 -931
  551. package/dist/providers/tambo-thread-provider.js.map +0 -1
  552. package/dist/providers/tambo-thread-provider.test.d.ts +0 -2
  553. package/dist/providers/tambo-thread-provider.test.d.ts.map +0 -1
  554. package/dist/providers/tambo-thread-provider.test.js +0 -1588
  555. package/dist/providers/tambo-thread-provider.test.js.map +0 -1
  556. package/dist/util/generate-component.d.ts +0 -12
  557. package/dist/util/generate-component.d.ts.map +0 -1
  558. package/dist/util/generate-component.js +0 -58
  559. package/dist/util/generate-component.js.map +0 -1
  560. package/dist/util/generate-component.test.d.ts +0 -2
  561. package/dist/util/generate-component.test.d.ts.map +0 -1
  562. package/dist/util/generate-component.test.js +0 -340
  563. package/dist/util/generate-component.test.js.map +0 -1
  564. package/esm/hooks/index.d.ts +0 -9
  565. package/esm/hooks/index.d.ts.map +0 -1
  566. package/esm/hooks/index.js +0 -10
  567. package/esm/hooks/index.js.map +0 -1
  568. package/esm/hooks/use-component-state.d.ts +0 -30
  569. package/esm/hooks/use-component-state.d.ts.map +0 -1
  570. package/esm/hooks/use-component-state.js +0 -136
  571. package/esm/hooks/use-component-state.js.map +0 -1
  572. package/esm/hooks/use-component-state.test.d.ts +0 -2
  573. package/esm/hooks/use-component-state.test.d.ts.map +0 -1
  574. package/esm/hooks/use-component-state.test.js +0 -401
  575. package/esm/hooks/use-component-state.test.js.map +0 -1
  576. package/esm/hooks/use-current-message.d.ts.map +0 -1
  577. package/esm/hooks/use-current-message.js.map +0 -1
  578. package/esm/hooks/use-current-message.test.d.ts +0 -2
  579. package/esm/hooks/use-current-message.test.d.ts.map +0 -1
  580. package/esm/hooks/use-current-message.test.js +0 -264
  581. package/esm/hooks/use-current-message.test.js.map +0 -1
  582. package/esm/hooks/use-streaming-props.d.ts +0 -11
  583. package/esm/hooks/use-streaming-props.d.ts.map +0 -1
  584. package/esm/hooks/use-streaming-props.js +0 -34
  585. package/esm/hooks/use-streaming-props.js.map +0 -1
  586. package/esm/hooks/use-suggestions.d.ts +0 -46
  587. package/esm/hooks/use-suggestions.d.ts.map +0 -1
  588. package/esm/hooks/use-suggestions.js +0 -115
  589. package/esm/hooks/use-suggestions.js.map +0 -1
  590. package/esm/hooks/use-suggestions.test.d.ts +0 -2
  591. package/esm/hooks/use-suggestions.test.d.ts.map +0 -1
  592. package/esm/hooks/use-suggestions.test.js +0 -245
  593. package/esm/hooks/use-suggestions.test.js.map +0 -1
  594. package/esm/hooks/use-tambo-stream-status.d.ts +0 -90
  595. package/esm/hooks/use-tambo-stream-status.d.ts.map +0 -1
  596. package/esm/hooks/use-tambo-stream-status.js +0 -210
  597. package/esm/hooks/use-tambo-stream-status.js.map +0 -1
  598. package/esm/hooks/use-tambo-stream-status.test.d.ts +0 -2
  599. package/esm/hooks/use-tambo-stream-status.test.d.ts.map +0 -1
  600. package/esm/hooks/use-tambo-stream-status.test.js +0 -376
  601. package/esm/hooks/use-tambo-stream-status.test.js.map +0 -1
  602. package/esm/hooks/use-tambo-threads.d.ts +0 -158
  603. package/esm/hooks/use-tambo-threads.d.ts.map +0 -1
  604. package/esm/hooks/use-tambo-threads.js +0 -42
  605. package/esm/hooks/use-tambo-threads.js.map +0 -1
  606. package/esm/hooks/use-tambo-threads.test.d.ts +0 -2
  607. package/esm/hooks/use-tambo-threads.test.d.ts.map +0 -1
  608. package/esm/hooks/use-tambo-threads.test.js +0 -212
  609. package/esm/hooks/use-tambo-threads.test.js.map +0 -1
  610. package/esm/model/generate-component-response.d.ts +0 -37
  611. package/esm/model/generate-component-response.d.ts.map +0 -1
  612. package/esm/model/generate-component-response.js +0 -25
  613. package/esm/model/generate-component-response.js.map +0 -1
  614. package/esm/model/tambo-thread.d.ts +0 -15
  615. package/esm/model/tambo-thread.d.ts.map +0 -1
  616. package/esm/model/tambo-thread.js +0 -2
  617. package/esm/model/tambo-thread.js.map +0 -1
  618. package/esm/providers/__tests__/thread-input-resource-resolution.test.d.ts +0 -2
  619. package/esm/providers/__tests__/thread-input-resource-resolution.test.d.ts.map +0 -1
  620. package/esm/providers/__tests__/thread-input-resource-resolution.test.js +0 -587
  621. package/esm/providers/__tests__/thread-input-resource-resolution.test.js.map +0 -1
  622. package/esm/providers/index.d.ts +0 -13
  623. package/esm/providers/index.d.ts.map +0 -1
  624. package/esm/providers/index.js +0 -11
  625. package/esm/providers/index.js.map +0 -1
  626. package/esm/providers/tambo-component-provider.d.ts +0 -23
  627. package/esm/providers/tambo-component-provider.d.ts.map +0 -1
  628. package/esm/providers/tambo-component-provider.js +0 -50
  629. package/esm/providers/tambo-component-provider.js.map +0 -1
  630. package/esm/providers/tambo-prop-stream-provider/index.d.ts +0 -19
  631. package/esm/providers/tambo-prop-stream-provider/index.d.ts.map +0 -1
  632. package/esm/providers/tambo-prop-stream-provider/index.js +0 -22
  633. package/esm/providers/tambo-prop-stream-provider/index.js.map +0 -1
  634. package/esm/providers/tambo-prop-stream-provider/pending.d.ts +0 -12
  635. package/esm/providers/tambo-prop-stream-provider/pending.d.ts.map +0 -1
  636. package/esm/providers/tambo-prop-stream-provider/pending.js +0 -24
  637. package/esm/providers/tambo-prop-stream-provider/pending.js.map +0 -1
  638. package/esm/providers/tambo-prop-stream-provider/provider.d.ts +0 -17
  639. package/esm/providers/tambo-prop-stream-provider/provider.d.ts.map +0 -1
  640. package/esm/providers/tambo-prop-stream-provider/provider.js +0 -70
  641. package/esm/providers/tambo-prop-stream-provider/provider.js.map +0 -1
  642. package/esm/providers/tambo-prop-stream-provider/streaming.d.ts +0 -12
  643. package/esm/providers/tambo-prop-stream-provider/streaming.d.ts.map +0 -1
  644. package/esm/providers/tambo-prop-stream-provider/streaming.js +0 -21
  645. package/esm/providers/tambo-prop-stream-provider/streaming.js.map +0 -1
  646. package/esm/providers/tambo-prop-stream-provider/success.d.ts +0 -12
  647. package/esm/providers/tambo-prop-stream-provider/success.d.ts.map +0 -1
  648. package/esm/providers/tambo-prop-stream-provider/success.js +0 -21
  649. package/esm/providers/tambo-prop-stream-provider/success.js.map +0 -1
  650. package/esm/providers/tambo-prop-stream-provider/types.d.ts +0 -25
  651. package/esm/providers/tambo-prop-stream-provider/types.d.ts.map +0 -1
  652. package/esm/providers/tambo-prop-stream-provider/types.js +0 -3
  653. package/esm/providers/tambo-prop-stream-provider/types.js.map +0 -1
  654. package/esm/providers/tambo-prop-stream-provider.test.d.ts +0 -2
  655. package/esm/providers/tambo-prop-stream-provider.test.d.ts.map +0 -1
  656. package/esm/providers/tambo-prop-stream-provider.test.js +0 -270
  657. package/esm/providers/tambo-prop-stream-provider.test.js.map +0 -1
  658. package/esm/providers/tambo-provider.d.ts +0 -53
  659. package/esm/providers/tambo-provider.d.ts.map +0 -1
  660. package/esm/providers/tambo-provider.js +0 -91
  661. package/esm/providers/tambo-provider.js.map +0 -1
  662. package/esm/providers/tambo-stubs.d.ts +0 -89
  663. package/esm/providers/tambo-stubs.d.ts.map +0 -1
  664. package/esm/providers/tambo-stubs.js +0 -239
  665. package/esm/providers/tambo-stubs.js.map +0 -1
  666. package/esm/providers/tambo-stubs.test.d.ts +0 -2
  667. package/esm/providers/tambo-stubs.test.d.ts.map +0 -1
  668. package/esm/providers/tambo-stubs.test.js +0 -62
  669. package/esm/providers/tambo-stubs.test.js.map +0 -1
  670. package/esm/providers/tambo-thread-input-provider.d.ts +0 -65
  671. package/esm/providers/tambo-thread-input-provider.d.ts.map +0 -1
  672. package/esm/providers/tambo-thread-input-provider.js +0 -141
  673. package/esm/providers/tambo-thread-input-provider.js.map +0 -1
  674. package/esm/providers/tambo-thread-provider-initial-messages.test.d.ts +0 -2
  675. package/esm/providers/tambo-thread-provider-initial-messages.test.d.ts.map +0 -1
  676. package/esm/providers/tambo-thread-provider-initial-messages.test.js +0 -270
  677. package/esm/providers/tambo-thread-provider-initial-messages.test.js.map +0 -1
  678. package/esm/providers/tambo-thread-provider.d.ts +0 -126
  679. package/esm/providers/tambo-thread-provider.d.ts.map +0 -1
  680. package/esm/providers/tambo-thread-provider.js +0 -891
  681. package/esm/providers/tambo-thread-provider.js.map +0 -1
  682. package/esm/providers/tambo-thread-provider.test.d.ts +0 -2
  683. package/esm/providers/tambo-thread-provider.test.d.ts.map +0 -1
  684. package/esm/providers/tambo-thread-provider.test.js +0 -1550
  685. package/esm/providers/tambo-thread-provider.test.js.map +0 -1
  686. package/esm/util/generate-component.d.ts +0 -12
  687. package/esm/util/generate-component.d.ts.map +0 -1
  688. package/esm/util/generate-component.js +0 -52
  689. package/esm/util/generate-component.js.map +0 -1
  690. package/esm/util/generate-component.test.d.ts +0 -2
  691. package/esm/util/generate-component.test.d.ts.map +0 -1
  692. package/esm/util/generate-component.test.js +0 -302
  693. package/esm/util/generate-component.test.js.map +0 -1
@@ -1,270 +0,0 @@
1
- import { advanceStream } from "@tambo-ai/typescript-sdk";
2
- import { act, renderHook } from "@testing-library/react";
3
- import React from "react";
4
- import { GenerationStage, } from "../model/generate-component-response.js";
5
- import { TamboClientContext, useTamboClient, useTamboQueryClient, } from "./tambo-client-provider.js";
6
- import { TamboContextHelpersProvider } from "./tambo-context-helpers-provider.js";
7
- import { TamboMcpTokenProvider } from "./tambo-mcp-token-provider.js";
8
- import { TamboRegistryProvider } from "./tambo-registry-provider.js";
9
- import { TamboThreadProvider, useTamboThread } from "./tambo-thread-provider.js";
10
- // Mock crypto.randomUUID
11
- Object.defineProperty(global, "crypto", {
12
- value: {
13
- randomUUID: jest.fn().mockReturnValue("test-uuid"),
14
- },
15
- });
16
- // Mock the required providers
17
- jest.mock("./tambo-client-provider", () => {
18
- return {
19
- useTamboClient: jest.fn(),
20
- useTamboQueryClient: jest.fn(),
21
- TamboClientContext: React.createContext(undefined),
22
- };
23
- });
24
- jest.mock("@tambo-ai/typescript-sdk", () => ({
25
- advanceStream: jest.fn(),
26
- }));
27
- // Test utilities
28
- const createMockMessage = (overrides = {}) => ({
29
- id: "test-message-1",
30
- content: [{ type: "text", text: "Hello" }],
31
- role: "user",
32
- threadId: "test-thread-1",
33
- createdAt: new Date().toISOString(),
34
- componentState: {},
35
- ...overrides,
36
- });
37
- // Test wrapper
38
- const createWrapper = (initialMessages = [], tools = []) => {
39
- const TestWrapper = ({ children }) => {
40
- const client = useTamboClient();
41
- const queryClient = useTamboQueryClient();
42
- return (React.createElement(TamboClientContext.Provider, { value: {
43
- client,
44
- queryClient,
45
- isUpdatingToken: false,
46
- } },
47
- React.createElement(TamboRegistryProvider, { components: [], tools: tools },
48
- React.createElement(TamboContextHelpersProvider, null,
49
- React.createElement(TamboMcpTokenProvider, null,
50
- React.createElement(TamboThreadProvider, { initialMessages: initialMessages, autoGenerateThreadName: false }, children))))));
51
- };
52
- TestWrapper.displayName = "TestWrapper";
53
- return TestWrapper;
54
- };
55
- describe("TamboThreadProvider with initial messages", () => {
56
- const mockClient = {
57
- beta: {
58
- threads: {
59
- advance: jest.fn(),
60
- advanceByID: jest.fn(),
61
- cancel: jest.fn(),
62
- messages: {
63
- create: jest.fn(),
64
- },
65
- },
66
- },
67
- };
68
- beforeEach(() => {
69
- jest.clearAllMocks();
70
- useTamboClient.mockReturnValue(mockClient);
71
- // Provide a minimal mock for the query client used by the provider
72
- const mockQueryClient = {
73
- setQueryData: jest.fn(),
74
- invalidateQueries: jest.fn(),
75
- };
76
- useTamboQueryClient.mockReturnValue(mockQueryClient);
77
- advanceStream.mockImplementation(async function* () {
78
- yield {
79
- responseMessageDto: {
80
- id: "response-1",
81
- role: "assistant",
82
- content: [{ type: "text", text: "Hello back!" }],
83
- threadId: "new-thread-id",
84
- componentState: {},
85
- createdAt: new Date().toISOString(),
86
- },
87
- generationStage: GenerationStage.COMPLETE,
88
- };
89
- });
90
- });
91
- it("should initialize with empty messages when no initial messages provided", () => {
92
- const { result } = renderHook(() => useTamboThread(), {
93
- wrapper: createWrapper(),
94
- });
95
- expect(result.current.thread.messages).toEqual([]);
96
- });
97
- it("should initialize with provided initial messages", () => {
98
- const initialMessages = [
99
- createMockMessage({
100
- id: "initial-1",
101
- role: "system",
102
- content: [{ type: "text", text: "You are a helpful assistant." }],
103
- }),
104
- createMockMessage({
105
- id: "initial-2",
106
- role: "user",
107
- content: [{ type: "text", text: "Hello!" }],
108
- }),
109
- ];
110
- const { result } = renderHook(() => useTamboThread(), {
111
- wrapper: createWrapper(initialMessages),
112
- });
113
- expect(result.current.thread.messages).toHaveLength(2);
114
- expect(result.current.thread.messages[0].content[0].text).toBe("You are a helpful assistant.");
115
- expect(result.current.thread.messages[1].content[0].text).toBe("Hello!");
116
- });
117
- it("should include initial messages when sending a message to a new thread", async () => {
118
- const initialMessages = [
119
- createMockMessage({
120
- id: "initial-1",
121
- role: "system",
122
- content: [{ type: "text", text: "You are a helpful assistant." }],
123
- }),
124
- ];
125
- const { result } = renderHook(() => useTamboThread(), {
126
- wrapper: createWrapper(initialMessages),
127
- });
128
- await act(async () => {
129
- await result.current.sendThreadMessage("Test message");
130
- });
131
- // Check that advanceStream was called with initial messages
132
- expect(advanceStream).toHaveBeenCalledWith(mockClient, expect.objectContaining({
133
- initialMessages: [
134
- {
135
- content: [{ type: "text", text: "You are a helpful assistant." }],
136
- role: "system",
137
- additionalContext: undefined,
138
- },
139
- ],
140
- }), undefined);
141
- });
142
- it("should not include initial messages when sending to an existing thread", async () => {
143
- const initialMessages = [
144
- createMockMessage({
145
- id: "initial-1",
146
- role: "system",
147
- content: [{ type: "text", text: "You are a helpful assistant." }],
148
- }),
149
- ];
150
- const { result } = renderHook(() => useTamboThread(), {
151
- wrapper: createWrapper(initialMessages),
152
- });
153
- // Switch to an existing thread first
154
- await act(async () => {
155
- result.current.switchCurrentThread("existing-thread-id", false);
156
- });
157
- await act(async () => {
158
- await result.current.sendThreadMessage("Test message");
159
- });
160
- // Check that advanceStream was called without initial messages
161
- expect(advanceStream).toHaveBeenCalledWith(mockClient, expect.not.objectContaining({
162
- initialMessages: expect.anything(),
163
- }), "existing-thread-id");
164
- });
165
- it("should reset to initial messages when starting a new thread", () => {
166
- const initialMessages = [
167
- createMockMessage({
168
- id: "initial-1",
169
- role: "system",
170
- content: [{ type: "text", text: "You are a helpful assistant." }],
171
- }),
172
- ];
173
- const { result } = renderHook(() => useTamboThread(), {
174
- wrapper: createWrapper(initialMessages),
175
- });
176
- // Switch to an existing thread
177
- act(() => {
178
- result.current.switchCurrentThread("existing-thread-id", false);
179
- });
180
- // Start a new thread
181
- act(() => {
182
- result.current.startNewThread();
183
- });
184
- expect(result.current.thread.messages).toHaveLength(1);
185
- expect(result.current.thread.messages[0].content[0].text).toBe("You are a helpful assistant.");
186
- });
187
- it("should not include initial messages in tool response when first message triggers a tool", async () => {
188
- const initialMessages = [
189
- createMockMessage({
190
- id: "initial-1",
191
- role: "system",
192
- content: [{ type: "text", text: "You are a helpful assistant." }],
193
- }),
194
- ];
195
- // Create a test tool with JSON schema format
196
- const testTool = {
197
- name: "testTool",
198
- description: "A test tool",
199
- tool: jest.fn().mockResolvedValue({ result: "success" }),
200
- inputSchema: {
201
- type: "object",
202
- properties: {},
203
- },
204
- outputSchema: {
205
- type: "object",
206
- properties: {
207
- result: { type: "string" },
208
- },
209
- },
210
- };
211
- // Mock advanceStream to simulate a tool call on first message
212
- let advanceStreamCallCount = 0;
213
- advanceStream.mockImplementation(async function* () {
214
- advanceStreamCallCount++;
215
- if (advanceStreamCallCount === 1) {
216
- // First call: user message triggers a tool
217
- yield {
218
- responseMessageDto: {
219
- id: "response-1",
220
- role: "assistant",
221
- content: [],
222
- threadId: "new-thread-id",
223
- componentState: {},
224
- createdAt: new Date().toISOString(),
225
- tool_call_id: "tool-call-1",
226
- toolCallRequest: {
227
- toolName: "testTool",
228
- args: {},
229
- },
230
- },
231
- generationStage: GenerationStage.FETCHING_CONTEXT,
232
- };
233
- }
234
- else {
235
- // Second call: tool response should NOT have initialMessages
236
- yield {
237
- responseMessageDto: {
238
- id: "response-2",
239
- role: "assistant",
240
- content: [{ type: "text", text: "Tool executed successfully" }],
241
- threadId: "new-thread-id",
242
- componentState: {},
243
- createdAt: new Date().toISOString(),
244
- },
245
- generationStage: GenerationStage.COMPLETE,
246
- };
247
- }
248
- });
249
- const { result } = renderHook(() => useTamboThread(), {
250
- wrapper: createWrapper(initialMessages, [testTool]),
251
- });
252
- await act(async () => {
253
- await result.current.sendThreadMessage("Test message that triggers tool");
254
- });
255
- // First call should have initialMessages
256
- expect(advanceStream).toHaveBeenNthCalledWith(1, mockClient, expect.objectContaining({
257
- initialMessages: expect.any(Array),
258
- }), undefined);
259
- // Second call (tool response) should NOT have initialMessages
260
- expect(advanceStream).toHaveBeenNthCalledWith(2, mockClient, expect.objectContaining({
261
- messageToAppend: expect.objectContaining({
262
- role: "tool",
263
- }),
264
- }), "new-thread-id");
265
- // Verify that the second call does NOT contain initialMessages
266
- const secondCallParams = advanceStream.mock.calls[1][1];
267
- expect(secondCallParams.initialMessages).toBeUndefined();
268
- });
269
- });
270
- //# sourceMappingURL=tambo-thread-provider-initial-messages.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tambo-thread-provider-initial-messages.test.js","sourceRoot":"","sources":["../../src/providers/tambo-thread-provider-initial-messages.test.tsx"],"names":[],"mappings":"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","sourcesContent":["import { advanceStream } from \"@tambo-ai/typescript-sdk\";\nimport { act, renderHook } from \"@testing-library/react\";\nimport React from \"react\";\nimport { TamboTool } from \"..\";\nimport {\n GenerationStage,\n TamboThreadMessage,\n} from \"../model/generate-component-response\";\nimport {\n TamboClientContext,\n useTamboClient,\n useTamboQueryClient,\n} from \"./tambo-client-provider\";\nimport { TamboContextHelpersProvider } from \"./tambo-context-helpers-provider\";\nimport { TamboMcpTokenProvider } from \"./tambo-mcp-token-provider\";\nimport { TamboRegistryProvider } from \"./tambo-registry-provider\";\nimport { TamboThreadProvider, useTamboThread } from \"./tambo-thread-provider\";\nimport type { PartialTamboAI } from \"../testing/types\";\n\n// Mock crypto.randomUUID\nObject.defineProperty(global, \"crypto\", {\n value: {\n randomUUID: jest.fn().mockReturnValue(\"test-uuid\"),\n },\n});\n\n// Mock the required providers\njest.mock(\"./tambo-client-provider\", () => {\n return {\n useTamboClient: jest.fn(),\n useTamboQueryClient: jest.fn(),\n TamboClientContext: React.createContext(undefined),\n };\n});\njest.mock(\"@tambo-ai/typescript-sdk\", () => ({\n advanceStream: jest.fn(),\n}));\n\n// Test utilities\nconst createMockMessage = (\n overrides: Partial<TamboThreadMessage> = {},\n): TamboThreadMessage => ({\n id: \"test-message-1\",\n content: [{ type: \"text\", text: \"Hello\" }],\n role: \"user\",\n threadId: \"test-thread-1\",\n createdAt: new Date().toISOString(),\n componentState: {},\n ...overrides,\n});\n\n// Test wrapper\nconst createWrapper = (\n initialMessages: TamboThreadMessage[] = [],\n tools: TamboTool[] = [],\n) => {\n const TestWrapper = ({ children }: { children: React.ReactNode }) => {\n const client = useTamboClient();\n const queryClient = useTamboQueryClient();\n\n return (\n <TamboClientContext.Provider\n value={{\n client,\n queryClient,\n isUpdatingToken: false,\n }}\n >\n <TamboRegistryProvider components={[]} tools={tools}>\n <TamboContextHelpersProvider>\n <TamboMcpTokenProvider>\n <TamboThreadProvider\n initialMessages={initialMessages}\n autoGenerateThreadName={false}\n >\n {children}\n </TamboThreadProvider>\n </TamboMcpTokenProvider>\n </TamboContextHelpersProvider>\n </TamboRegistryProvider>\n </TamboClientContext.Provider>\n );\n };\n TestWrapper.displayName = \"TestWrapper\";\n return TestWrapper;\n};\n\ndescribe(\"TamboThreadProvider with initial messages\", () => {\n const mockClient: PartialTamboAI = {\n beta: {\n threads: {\n advance: jest.fn(),\n advanceByID: jest.fn(),\n cancel: jest.fn(),\n messages: {\n create: jest.fn(),\n },\n },\n },\n };\n\n beforeEach(() => {\n jest.clearAllMocks();\n (useTamboClient as jest.Mock).mockReturnValue(mockClient);\n // Provide a minimal mock for the query client used by the provider\n const mockQueryClient = {\n setQueryData: jest.fn(),\n invalidateQueries: jest.fn(),\n };\n (useTamboQueryClient as jest.Mock).mockReturnValue(mockQueryClient);\n (advanceStream as jest.Mock).mockImplementation(async function* () {\n yield {\n responseMessageDto: {\n id: \"response-1\",\n role: \"assistant\",\n content: [{ type: \"text\", text: \"Hello back!\" }],\n threadId: \"new-thread-id\",\n componentState: {},\n createdAt: new Date().toISOString(),\n },\n generationStage: GenerationStage.COMPLETE,\n };\n });\n });\n\n it(\"should initialize with empty messages when no initial messages provided\", () => {\n const { result } = renderHook(() => useTamboThread(), {\n wrapper: createWrapper(),\n });\n\n expect(result.current.thread.messages).toEqual([]);\n });\n\n it(\"should initialize with provided initial messages\", () => {\n const initialMessages: TamboThreadMessage[] = [\n createMockMessage({\n id: \"initial-1\",\n role: \"system\",\n content: [{ type: \"text\", text: \"You are a helpful assistant.\" }],\n }),\n createMockMessage({\n id: \"initial-2\",\n role: \"user\",\n content: [{ type: \"text\", text: \"Hello!\" }],\n }),\n ];\n\n const { result } = renderHook(() => useTamboThread(), {\n wrapper: createWrapper(initialMessages),\n });\n\n expect(result.current.thread.messages).toHaveLength(2);\n expect(result.current.thread.messages[0].content[0].text).toBe(\n \"You are a helpful assistant.\",\n );\n expect(result.current.thread.messages[1].content[0].text).toBe(\"Hello!\");\n });\n\n it(\"should include initial messages when sending a message to a new thread\", async () => {\n const initialMessages: TamboThreadMessage[] = [\n createMockMessage({\n id: \"initial-1\",\n role: \"system\",\n content: [{ type: \"text\", text: \"You are a helpful assistant.\" }],\n }),\n ];\n\n const { result } = renderHook(() => useTamboThread(), {\n wrapper: createWrapper(initialMessages),\n });\n\n await act(async () => {\n await result.current.sendThreadMessage(\"Test message\");\n });\n\n // Check that advanceStream was called with initial messages\n expect(advanceStream).toHaveBeenCalledWith(\n mockClient,\n expect.objectContaining({\n initialMessages: [\n {\n content: [{ type: \"text\", text: \"You are a helpful assistant.\" }],\n role: \"system\",\n additionalContext: undefined,\n },\n ],\n }),\n undefined,\n );\n });\n\n it(\"should not include initial messages when sending to an existing thread\", async () => {\n const initialMessages: TamboThreadMessage[] = [\n createMockMessage({\n id: \"initial-1\",\n role: \"system\",\n content: [{ type: \"text\", text: \"You are a helpful assistant.\" }],\n }),\n ];\n\n const { result } = renderHook(() => useTamboThread(), {\n wrapper: createWrapper(initialMessages),\n });\n\n // Switch to an existing thread first\n await act(async () => {\n result.current.switchCurrentThread(\"existing-thread-id\", false);\n });\n\n await act(async () => {\n await result.current.sendThreadMessage(\"Test message\");\n });\n\n // Check that advanceStream was called without initial messages\n expect(advanceStream).toHaveBeenCalledWith(\n mockClient,\n expect.not.objectContaining({\n initialMessages: expect.anything(),\n }),\n \"existing-thread-id\",\n );\n });\n\n it(\"should reset to initial messages when starting a new thread\", () => {\n const initialMessages: TamboThreadMessage[] = [\n createMockMessage({\n id: \"initial-1\",\n role: \"system\",\n content: [{ type: \"text\", text: \"You are a helpful assistant.\" }],\n }),\n ];\n\n const { result } = renderHook(() => useTamboThread(), {\n wrapper: createWrapper(initialMessages),\n });\n\n // Switch to an existing thread\n act(() => {\n result.current.switchCurrentThread(\"existing-thread-id\", false);\n });\n\n // Start a new thread\n act(() => {\n result.current.startNewThread();\n });\n\n expect(result.current.thread.messages).toHaveLength(1);\n expect(result.current.thread.messages[0].content[0].text).toBe(\n \"You are a helpful assistant.\",\n );\n });\n\n it(\"should not include initial messages in tool response when first message triggers a tool\", async () => {\n const initialMessages: TamboThreadMessage[] = [\n createMockMessage({\n id: \"initial-1\",\n role: \"system\",\n content: [{ type: \"text\", text: \"You are a helpful assistant.\" }],\n }),\n ];\n\n // Create a test tool with JSON schema format\n const testTool = {\n name: \"testTool\",\n description: \"A test tool\",\n tool: jest.fn().mockResolvedValue({ result: \"success\" }),\n inputSchema: {\n type: \"object\" as const,\n properties: {},\n },\n outputSchema: {\n type: \"object\" as const,\n properties: {\n result: { type: \"string\" as const },\n },\n },\n };\n\n // Mock advanceStream to simulate a tool call on first message\n let advanceStreamCallCount = 0;\n (advanceStream as jest.Mock).mockImplementation(async function* () {\n advanceStreamCallCount++;\n\n if (advanceStreamCallCount === 1) {\n // First call: user message triggers a tool\n yield {\n responseMessageDto: {\n id: \"response-1\",\n role: \"assistant\",\n content: [],\n threadId: \"new-thread-id\",\n componentState: {},\n createdAt: new Date().toISOString(),\n tool_call_id: \"tool-call-1\",\n toolCallRequest: {\n toolName: \"testTool\",\n args: {},\n },\n },\n generationStage: GenerationStage.FETCHING_CONTEXT,\n };\n } else {\n // Second call: tool response should NOT have initialMessages\n yield {\n responseMessageDto: {\n id: \"response-2\",\n role: \"assistant\",\n content: [{ type: \"text\", text: \"Tool executed successfully\" }],\n threadId: \"new-thread-id\",\n componentState: {},\n createdAt: new Date().toISOString(),\n },\n generationStage: GenerationStage.COMPLETE,\n };\n }\n });\n\n const { result } = renderHook(() => useTamboThread(), {\n wrapper: createWrapper(initialMessages, [testTool]),\n });\n\n await act(async () => {\n await result.current.sendThreadMessage(\"Test message that triggers tool\");\n });\n\n // First call should have initialMessages\n expect(advanceStream).toHaveBeenNthCalledWith(\n 1,\n mockClient,\n expect.objectContaining({\n initialMessages: expect.any(Array),\n }),\n undefined,\n );\n\n // Second call (tool response) should NOT have initialMessages\n expect(advanceStream).toHaveBeenNthCalledWith(\n 2,\n mockClient,\n expect.objectContaining({\n messageToAppend: expect.objectContaining({\n role: \"tool\",\n }),\n }),\n \"new-thread-id\",\n );\n\n // Verify that the second call does NOT contain initialMessages\n const secondCallParams = (advanceStream as jest.Mock).mock.calls[1][1];\n expect(secondCallParams.initialMessages).toBeUndefined();\n });\n});\n"]}
@@ -1,126 +0,0 @@
1
- import TamboAI from "@tambo-ai/typescript-sdk";
2
- import { Thread } from "@tambo-ai/typescript-sdk/resources/beta/threads/threads";
3
- import React, { PropsWithChildren } from "react";
4
- import { GenerationStage, TamboThreadMessage } from "../model/generate-component-response.js";
5
- import { TamboThread } from "../model/tambo-thread.js";
6
- export interface TamboGenerationStageContextProps {
7
- generationStage: GenerationStage;
8
- generationStatusMessage: string;
9
- isIdle: boolean;
10
- }
11
- interface TamboGenerationStageProviderProps {
12
- generationStage: GenerationStage;
13
- statusMessage: string;
14
- }
15
- /**
16
- *
17
- * This provider is used to provide the generation stage context to the descendants of the provider.
18
- * @param props - The props for the GenerationStageProvider
19
- * @param props.children - The children to wrap
20
- * @param props.generationStage - The generation stage to provide
21
- * @param props.statusMessage - The status message to provide
22
- * @returns The GenerationStageProvider component
23
- */
24
- export declare const TamboGenerationStageProvider: React.FC<PropsWithChildren<TamboGenerationStageProviderProps>>;
25
- type PartialTamboThreadMessageWithThreadId = Partial<TamboThreadMessage> & {
26
- threadId: string;
27
- };
28
- export interface TamboThreadContextProps {
29
- /** The current thread */
30
- thread: TamboThread;
31
- /** The current thread ID */
32
- currentThreadId: string | null;
33
- /** The current thread (alias for thread, may be null) */
34
- currentThread: TamboThread | null;
35
- /** Map of all threads by ID */
36
- threadMap: Record<string, TamboThread>;
37
- /** Update the thread map (internal use only) */
38
- setThreadMap: React.Dispatch<React.SetStateAction<Record<string, TamboThread>>>;
39
- /** Switch to a different thread */
40
- switchCurrentThread: (threadId: string, fetch?: boolean) => void;
41
- /** Start a new thread */
42
- startNewThread: () => void;
43
- /** Update a thread's name */
44
- updateThreadName: (name: string, threadId?: string) => void;
45
- /** Let Tambo generate and set a thread's name based on the thread's messages */
46
- generateThreadName: (threadId?: string) => Promise<Thread>;
47
- /** Add a message to the current thread */
48
- addThreadMessage: (message: TamboThreadMessage, sendToServer: boolean) => Promise<TamboAI.Beta.Threads.ThreadMessage[]>;
49
- /** Update a message in the current thread */
50
- updateThreadMessage: (id: string, message: PartialTamboThreadMessageWithThreadId, sendToServer: boolean) => Promise<void>;
51
- /** Cancel a thread */
52
- cancel: (threadId?: string) => Promise<void>;
53
- /** Whether the thread is streaming */
54
- streaming: boolean;
55
- /** Send a message to the current thread */
56
- sendThreadMessage: (message: string, options?: {
57
- threadId?: string;
58
- streamResponse?: boolean;
59
- contextKey?: string;
60
- forceToolChoice?: string;
61
- additionalContext?: Record<string, any>;
62
- content?: TamboAI.Beta.Threads.ChatCompletionContentPart[];
63
- }) => Promise<TamboThreadMessage>;
64
- /** The context key to use for the thread */
65
- contextKey?: string;
66
- }
67
- export interface CombinedTamboThreadContextProps extends TamboThreadContextProps, TamboGenerationStageContextProps {
68
- }
69
- /**
70
- * This is a stub entry for when the thread is not yet created, the first time
71
- * the user sends a message
72
- *
73
- * Note that the consumer needs to be careful never to send `PLACEHOLDER_THREAD.id` to the server,
74
- * as this doesn't really exist on the server side.
75
- */
76
- export declare const PLACEHOLDER_THREAD: TamboThread;
77
- export declare const TamboThreadContext: React.Context<TamboThreadContextProps>;
78
- export type InitialTamboThreadMessage = Pick<TamboThreadMessage, "role" | "content"> & {
79
- /** Optional ID - will be auto-generated if not provided */
80
- id?: string;
81
- /** Optional creation timestamp - will be auto-generated if not provided */
82
- createdAt?: string;
83
- /** Optional additional context to include with the message */
84
- additionalContext?: Record<string, any>;
85
- /** Optional component state - will default to empty object if not provided */
86
- componentState?: Record<string, any>;
87
- };
88
- export interface TamboThreadProviderProps {
89
- /** Whether to stream the response */
90
- streaming?: boolean;
91
- /** Initial messages to be included in new threads */
92
- initialMessages?: InitialTamboThreadMessage[];
93
- /** Whether to automatically generate thread names. Defaults to true. */
94
- autoGenerateThreadName?: boolean;
95
- /** The message count threshold at which the thread name will be auto-generated. Defaults to 3. */
96
- autoGenerateNameThreshold?: number;
97
- /** The context key to use for the thread */
98
- contextKey?: string;
99
- }
100
- /**
101
- * The TamboThreadProvider is a React provider that provides a thread context
102
- * to the descendants of the provider.
103
- * @param props - The props for the TamboThreadProvider
104
- * @param props.children - The children to wrap
105
- * @param props.streaming - Whether to stream the response by default. Defaults to true.
106
- * @param props.initialMessages - Initial messages to be included in new threads
107
- * @param props.autoGenerateThreadName - Whether to automatically generate thread names. Defaults to true.
108
- * @param props.autoGenerateNameThreshold - The message count threshold at which the thread name will be auto-generated. Defaults to 3.
109
- * @param props.contextKey - The context key to use for thread isolation
110
- * @returns The TamboThreadProvider component
111
- */
112
- export declare const TamboThreadProvider: React.FC<PropsWithChildren<TamboThreadProviderProps>>;
113
- /**
114
- * The useTamboGenerationStage hook provides access to the generation stage context
115
- * to the descendants of the TamboThreadProvider.
116
- * @returns The generation stage context
117
- */
118
- export declare const useTamboGenerationStage: () => TamboGenerationStageContextProps;
119
- /**
120
- * The useTamboThread hook provides access to the current thread context
121
- * to the descendants of the TamboThreadProvider.
122
- * @returns All state and actions for the current thread
123
- */
124
- export declare const useTamboThread: () => CombinedTamboThreadContextProps;
125
- export {};
126
- //# sourceMappingURL=tambo-thread-provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tambo-thread-provider.d.ts","sourceRoot":"","sources":["../../src/providers/tambo-thread-provider.tsx"],"names":[],"mappings":"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"}