@tambo-ai/react 0.65.2 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (710) hide show
  1. package/README.md +174 -81
  2. package/dist/context-helpers/context-helpers-provider.test.d.ts.map +1 -0
  3. package/dist/context-helpers/{__tests__/context-helpers-provider.test.js → context-helpers-provider.test.js} +2 -2
  4. package/dist/context-helpers/context-helpers-provider.test.js.map +1 -0
  5. package/dist/context-helpers/context-helpers.test.d.ts.map +1 -0
  6. package/dist/context-helpers/{__tests__/context-helpers.test.js → context-helpers.test.js} +1 -1
  7. package/dist/context-helpers/context-helpers.test.js.map +1 -0
  8. package/{esm/providers → dist}/hoc/with-tambo-interactable.d.ts +2 -2
  9. package/dist/hoc/with-tambo-interactable.d.ts.map +1 -0
  10. package/dist/{providers/hoc → hoc}/with-tambo-interactable.js +29 -2
  11. package/dist/hoc/with-tambo-interactable.js.map +1 -0
  12. package/dist/hoc/with-tambo-interactable.test.d.ts +2 -0
  13. package/dist/hoc/with-tambo-interactable.test.d.ts.map +1 -0
  14. package/dist/hoc/with-tambo-interactable.test.js +192 -0
  15. package/dist/hoc/with-tambo-interactable.test.js.map +1 -0
  16. package/dist/hooks/index.d.ts +1 -1
  17. package/dist/hooks/index.d.ts.map +1 -1
  18. package/dist/hooks/index.js +2 -1
  19. package/dist/hooks/index.js.map +1 -1
  20. package/dist/hooks/use-component-state.d.ts +11 -24
  21. package/dist/hooks/use-component-state.d.ts.map +1 -1
  22. package/dist/hooks/use-component-state.js +14 -5
  23. package/dist/hooks/use-component-state.js.map +1 -1
  24. package/dist/hooks/use-component-state.test.d.ts.map +1 -0
  25. package/dist/hooks/{__tests__/use-component-state.test.js → use-component-state.test.js} +7 -7
  26. package/dist/hooks/use-component-state.test.js.map +1 -0
  27. package/dist/hooks/use-current-message.d.ts +51 -7
  28. package/dist/hooks/use-current-message.d.ts.map +1 -1
  29. package/dist/hooks/use-current-message.js +50 -6
  30. package/dist/hooks/use-current-message.js.map +1 -1
  31. package/dist/hooks/use-current-message.test.d.ts +2 -0
  32. package/dist/hooks/use-current-message.test.d.ts.map +1 -0
  33. package/dist/hooks/use-current-message.test.js +264 -0
  34. package/dist/hooks/use-current-message.test.js.map +1 -0
  35. package/dist/hooks/use-message-images.test.d.ts.map +1 -0
  36. package/dist/hooks/{__tests__/use-message-images.test.js → use-message-images.test.js} +1 -1
  37. package/dist/hooks/use-message-images.test.js.map +1 -0
  38. package/dist/hooks/use-streaming-props.d.ts +7 -19
  39. package/dist/hooks/use-streaming-props.d.ts.map +1 -1
  40. package/dist/hooks/use-streaming-props.js +7 -19
  41. package/dist/hooks/use-streaming-props.js.map +1 -1
  42. package/dist/hooks/use-suggestions.d.ts +1 -1
  43. package/dist/hooks/use-suggestions.d.ts.map +1 -1
  44. package/dist/hooks/use-suggestions.js.map +1 -1
  45. package/dist/hooks/use-suggestions.test.d.ts.map +1 -0
  46. package/dist/hooks/{__tests__/use-suggestions.test.js → use-suggestions.test.js} +36 -29
  47. package/dist/hooks/use-suggestions.test.js.map +1 -0
  48. package/dist/hooks/use-tambo-stream-status.d.ts +9 -8
  49. package/dist/hooks/use-tambo-stream-status.d.ts.map +1 -1
  50. package/dist/hooks/use-tambo-stream-status.js +9 -8
  51. package/dist/hooks/use-tambo-stream-status.js.map +1 -1
  52. package/dist/hooks/use-tambo-stream-status.test.d.ts.map +1 -0
  53. package/dist/hooks/{__tests__/use-tambo-stream-status.test.js → use-tambo-stream-status.test.js} +6 -6
  54. package/dist/hooks/use-tambo-stream-status.test.js.map +1 -0
  55. package/dist/hooks/use-tambo-threads.test.d.ts.map +1 -0
  56. package/dist/hooks/{__tests__/use-tambo-threads.test.js → use-tambo-threads.test.js} +3 -3
  57. package/dist/hooks/use-tambo-threads.test.js.map +1 -0
  58. package/dist/index.d.ts +10 -8
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +7 -3
  61. package/dist/index.js.map +1 -1
  62. package/dist/mcp/elicitation.d.ts +10 -2
  63. package/dist/mcp/elicitation.d.ts.map +1 -1
  64. package/dist/mcp/elicitation.js +19 -1
  65. package/dist/mcp/elicitation.js.map +1 -1
  66. package/dist/mcp/elicitation.test.d.ts.map +1 -0
  67. package/dist/mcp/{__tests__/elicitation.test.js → elicitation.test.js} +1 -1
  68. package/dist/mcp/elicitation.test.js.map +1 -0
  69. package/dist/mcp/index.d.ts +11 -2
  70. package/dist/mcp/index.d.ts.map +1 -1
  71. package/dist/mcp/index.js +11 -1
  72. package/dist/mcp/index.js.map +1 -1
  73. package/dist/mcp/mcp-client.d.ts +29 -10
  74. package/dist/mcp/mcp-client.d.ts.map +1 -1
  75. package/dist/mcp/mcp-client.test.d.ts.map +1 -0
  76. package/dist/mcp/{__tests__/mcp-client.test.js → mcp-client.test.js} +1 -1
  77. package/dist/mcp/mcp-client.test.js.map +1 -0
  78. package/dist/mcp/mcp-hooks.d.ts +129 -25
  79. package/dist/mcp/mcp-hooks.d.ts.map +1 -1
  80. package/dist/mcp/mcp-hooks.js +104 -40
  81. package/dist/mcp/mcp-hooks.js.map +1 -1
  82. package/dist/mcp/mcp-hooks.test.d.ts.map +1 -0
  83. package/dist/mcp/{__tests__/mcp-hooks.test.js → mcp-hooks.test.js} +90 -51
  84. package/dist/mcp/mcp-hooks.test.js.map +1 -0
  85. package/dist/mcp/tambo-mcp-provider.d.ts +2 -0
  86. package/dist/mcp/tambo-mcp-provider.d.ts.map +1 -1
  87. package/dist/mcp/tambo-mcp-provider.js +60 -13
  88. package/dist/mcp/tambo-mcp-provider.js.map +1 -1
  89. package/dist/mcp/tambo-mcp-provider.test.d.ts.map +1 -0
  90. package/dist/mcp/{__tests__/tambo-mcp-provider.test.js → tambo-mcp-provider.test.js} +9 -25
  91. package/dist/mcp/tambo-mcp-provider.test.js.map +1 -0
  92. package/dist/mcp/use-mcp-servers.test.d.ts.map +1 -0
  93. package/dist/mcp/{__tests__/use-mcp-servers.test.js → use-mcp-servers.test.js} +5 -11
  94. package/dist/mcp/use-mcp-servers.test.js.map +1 -0
  95. package/dist/model/component-metadata.d.ts +444 -14
  96. package/dist/model/component-metadata.d.ts.map +1 -1
  97. package/dist/model/component-metadata.js.map +1 -1
  98. package/dist/model/generate-component-response.d.ts +12 -1
  99. package/dist/model/generate-component-response.d.ts.map +1 -1
  100. package/dist/model/generate-component-response.js.map +1 -1
  101. package/dist/model/mcp-server-info.d.ts +3 -1
  102. package/dist/model/mcp-server-info.d.ts.map +1 -1
  103. package/dist/model/mcp-server-info.js.map +1 -1
  104. package/dist/model/resource-info.d.ts +55 -0
  105. package/dist/model/resource-info.d.ts.map +1 -0
  106. package/dist/model/resource-info.js +3 -0
  107. package/dist/model/resource-info.js.map +1 -0
  108. package/dist/model/tambo-thread.d.ts +6 -1
  109. package/dist/model/tambo-thread.d.ts.map +1 -1
  110. package/dist/model/tambo-thread.js.map +1 -1
  111. package/dist/providers/hooks/use-tambo-session-token.test.d.ts.map +1 -0
  112. package/dist/providers/hooks/{__tests__/use-tambo-session-token.test.js → use-tambo-session-token.test.js} +1 -1
  113. package/dist/providers/hooks/use-tambo-session-token.test.js.map +1 -0
  114. package/dist/providers/index.d.ts +1 -1
  115. package/dist/providers/index.d.ts.map +1 -1
  116. package/dist/providers/index.js.map +1 -1
  117. package/dist/providers/tambo-client-provider.d.ts +0 -4
  118. package/dist/providers/tambo-client-provider.d.ts.map +1 -1
  119. package/dist/providers/tambo-client-provider.js +0 -3
  120. package/dist/providers/tambo-client-provider.js.map +1 -1
  121. package/dist/providers/tambo-component-provider.d.ts +4 -4
  122. package/dist/providers/tambo-component-provider.d.ts.map +1 -1
  123. package/dist/providers/tambo-component-provider.js.map +1 -1
  124. package/dist/providers/tambo-context-attachment-provider.test.d.ts.map +1 -0
  125. package/dist/providers/{__tests__/tambo-context-attachment-provider.test.js → tambo-context-attachment-provider.test.js} +2 -2
  126. package/dist/providers/tambo-context-attachment-provider.test.js.map +1 -0
  127. package/dist/providers/tambo-context-helpers-provider.test.d.ts.map +1 -0
  128. package/dist/providers/{__tests__/tambo-context-helpers-provider.test.js → tambo-context-helpers-provider.test.js} +2 -2
  129. package/dist/providers/tambo-context-helpers-provider.test.js.map +1 -0
  130. package/dist/providers/tambo-interactable-provider-partial-updates.test.d.ts.map +1 -0
  131. package/dist/providers/{__tests__/tambo-interactable-provider-partial-updates.test.js → tambo-interactable-provider-partial-updates.test.js} +91 -91
  132. package/dist/providers/tambo-interactable-provider-partial-updates.test.js.map +1 -0
  133. package/dist/providers/tambo-interactable-provider.d.ts +2 -3
  134. package/dist/providers/tambo-interactable-provider.d.ts.map +1 -1
  135. package/dist/providers/tambo-interactable-provider.js +47 -41
  136. package/dist/providers/tambo-interactable-provider.js.map +1 -1
  137. package/dist/providers/tambo-interactables-additional-context-edge-cases.test.d.ts.map +1 -0
  138. package/dist/providers/{__tests__/tambo-interactables-additional-context-edge-cases.test.js → tambo-interactables-additional-context-edge-cases.test.js} +17 -17
  139. package/dist/providers/tambo-interactables-additional-context-edge-cases.test.js.map +1 -0
  140. package/dist/providers/tambo-interactables-additional-context.test.d.ts.map +1 -0
  141. package/dist/providers/{__tests__/tambo-interactables-additional-context.test.js → tambo-interactables-additional-context.test.js} +19 -19
  142. package/dist/providers/tambo-interactables-additional-context.test.js.map +1 -0
  143. package/dist/providers/tambo-mcp-token-provider.d.ts +20 -13
  144. package/dist/providers/tambo-mcp-token-provider.d.ts.map +1 -1
  145. package/dist/providers/tambo-mcp-token-provider.js +122 -10
  146. package/dist/providers/tambo-mcp-token-provider.js.map +1 -1
  147. package/dist/providers/tambo-prop-stream-provider.test.d.ts.map +1 -0
  148. package/dist/providers/{__tests__/tambo-prop-stream-provider.test.js → tambo-prop-stream-provider.test.js} +32 -25
  149. package/dist/providers/tambo-prop-stream-provider.test.js.map +1 -0
  150. package/dist/providers/tambo-provider.d.ts +2 -2
  151. package/dist/providers/tambo-provider.d.ts.map +1 -1
  152. package/dist/providers/tambo-provider.js +5 -7
  153. package/dist/providers/tambo-provider.js.map +1 -1
  154. package/dist/providers/tambo-registry-provider.d.ts +28 -7
  155. package/dist/providers/tambo-registry-provider.d.ts.map +1 -1
  156. package/dist/providers/tambo-registry-provider.js +70 -181
  157. package/dist/providers/tambo-registry-provider.js.map +1 -1
  158. package/dist/providers/tambo-registry-provider.test.d.ts.map +1 -0
  159. package/dist/providers/{__tests__/tambo-registry-provider.test.js → tambo-registry-provider.test.js} +153 -31
  160. package/dist/providers/tambo-registry-provider.test.js.map +1 -0
  161. package/dist/providers/tambo-registry-schema-compat.test.d.ts +2 -0
  162. package/dist/providers/tambo-registry-schema-compat.test.d.ts.map +1 -0
  163. package/dist/providers/tambo-registry-schema-compat.test.js +616 -0
  164. package/dist/providers/tambo-registry-schema-compat.test.js.map +1 -0
  165. package/dist/providers/tambo-stubs.d.ts +2 -2
  166. package/dist/providers/tambo-stubs.d.ts.map +1 -1
  167. package/dist/providers/tambo-stubs.js +9 -2
  168. package/dist/providers/tambo-stubs.js.map +1 -1
  169. package/dist/providers/tambo-stubs.test.d.ts.map +1 -0
  170. package/dist/providers/{__tests__/tambo-stubs.test.js → tambo-stubs.test.js} +2 -2
  171. package/dist/providers/tambo-stubs.test.js.map +1 -0
  172. package/dist/providers/tambo-thread-input-provider.d.ts +2 -1
  173. package/dist/providers/tambo-thread-input-provider.d.ts.map +1 -1
  174. package/dist/providers/tambo-thread-input-provider.js +3 -3
  175. package/dist/providers/tambo-thread-input-provider.js.map +1 -1
  176. package/dist/providers/tambo-thread-provider-initial-messages.test.d.ts.map +1 -0
  177. package/dist/providers/{__tests__/tambo-thread-provider-initial-messages.test.js → tambo-thread-provider-initial-messages.test.js} +7 -9
  178. package/dist/providers/tambo-thread-provider-initial-messages.test.js.map +1 -0
  179. package/dist/providers/tambo-thread-provider.d.ts +8 -0
  180. package/dist/providers/tambo-thread-provider.d.ts.map +1 -1
  181. package/dist/providers/tambo-thread-provider.js +82 -19
  182. package/dist/providers/tambo-thread-provider.js.map +1 -1
  183. package/dist/providers/tambo-thread-provider.test.d.ts.map +1 -0
  184. package/dist/providers/{__tests__/tambo-thread-provider.test.js → tambo-thread-provider.test.js} +42 -78
  185. package/dist/providers/tambo-thread-provider.test.js.map +1 -0
  186. package/dist/schema/index.d.ts +6 -0
  187. package/dist/schema/index.d.ts.map +1 -0
  188. package/dist/schema/index.js +18 -0
  189. package/dist/schema/index.js.map +1 -0
  190. package/dist/schema/json-schema.d.ts +35 -0
  191. package/dist/schema/json-schema.d.ts.map +1 -0
  192. package/dist/schema/json-schema.js +103 -0
  193. package/dist/schema/json-schema.js.map +1 -0
  194. package/dist/schema/schema.d.ts +66 -0
  195. package/dist/schema/schema.d.ts.map +1 -0
  196. package/dist/schema/schema.js +192 -0
  197. package/dist/schema/schema.js.map +1 -0
  198. package/dist/schema/schema.test.d.ts +2 -0
  199. package/dist/schema/schema.test.d.ts.map +1 -0
  200. package/dist/schema/schema.test.js +41 -0
  201. package/dist/schema/schema.test.js.map +1 -0
  202. package/dist/schema/standard-schema.d.ts +21 -0
  203. package/dist/schema/standard-schema.d.ts.map +1 -0
  204. package/dist/schema/standard-schema.js +37 -0
  205. package/dist/schema/standard-schema.js.map +1 -0
  206. package/dist/schema/validate.d.ts +14 -0
  207. package/dist/schema/validate.d.ts.map +1 -0
  208. package/dist/schema/validate.js +148 -0
  209. package/dist/schema/validate.js.map +1 -0
  210. package/dist/schema/validate.test.d.ts +2 -0
  211. package/dist/schema/validate.test.d.ts.map +1 -0
  212. package/dist/schema/validate.test.js +128 -0
  213. package/dist/schema/validate.test.js.map +1 -0
  214. package/dist/schema/zod.d.ts +54 -0
  215. package/dist/schema/zod.d.ts.map +1 -0
  216. package/dist/schema/zod.js +135 -0
  217. package/dist/schema/zod.js.map +1 -0
  218. package/dist/testing/tools.d.ts +29 -15
  219. package/dist/testing/tools.d.ts.map +1 -1
  220. package/dist/testing/tools.js +64 -19
  221. package/dist/testing/tools.js.map +1 -1
  222. package/dist/util/content-parts.test.d.ts.map +1 -0
  223. package/dist/util/{__tests__/content-parts.test.js → content-parts.test.js} +1 -1
  224. package/dist/util/content-parts.test.js.map +1 -0
  225. package/dist/util/generate-component.d.ts.map +1 -1
  226. package/dist/util/generate-component.js +3 -3
  227. package/dist/util/generate-component.js.map +1 -1
  228. package/dist/util/mcp-server-utils.d.ts +23 -0
  229. package/dist/util/mcp-server-utils.d.ts.map +1 -0
  230. package/dist/util/mcp-server-utils.js +107 -0
  231. package/dist/util/mcp-server-utils.js.map +1 -0
  232. package/dist/util/mcp-server-utils.test.d.ts +2 -0
  233. package/dist/util/mcp-server-utils.test.d.ts.map +1 -0
  234. package/dist/util/mcp-server-utils.test.js +287 -0
  235. package/dist/util/mcp-server-utils.test.js.map +1 -0
  236. package/dist/util/message-builder.d.ts +4 -3
  237. package/dist/util/message-builder.d.ts.map +1 -1
  238. package/dist/util/message-builder.js +83 -8
  239. package/dist/util/message-builder.js.map +1 -1
  240. package/dist/util/message-builder.test.d.ts.map +1 -0
  241. package/dist/util/message-builder.test.js +678 -0
  242. package/dist/util/message-builder.test.js.map +1 -0
  243. package/dist/util/query-utils.d.ts.map +1 -1
  244. package/dist/util/query-utils.js +49 -31
  245. package/dist/util/query-utils.js.map +1 -1
  246. package/dist/util/registry-validators.d.ts +26 -0
  247. package/dist/util/registry-validators.d.ts.map +1 -0
  248. package/dist/util/registry-validators.js +105 -0
  249. package/dist/util/registry-validators.js.map +1 -0
  250. package/dist/util/registry-validators.test.d.ts +2 -0
  251. package/dist/util/registry-validators.test.d.ts.map +1 -0
  252. package/dist/util/registry-validators.test.js +235 -0
  253. package/dist/util/registry-validators.test.js.map +1 -0
  254. package/dist/util/registry.d.ts +35 -7
  255. package/dist/util/registry.d.ts.map +1 -1
  256. package/dist/util/registry.js +60 -77
  257. package/dist/util/registry.js.map +1 -1
  258. package/dist/util/registry.test.d.ts +2 -0
  259. package/dist/util/registry.test.d.ts.map +1 -0
  260. package/dist/util/registry.test.js +204 -0
  261. package/dist/util/registry.test.js.map +1 -0
  262. package/dist/util/resource-validators.d.ts +16 -0
  263. package/dist/util/resource-validators.d.ts.map +1 -0
  264. package/dist/util/resource-validators.js +34 -0
  265. package/dist/util/resource-validators.js.map +1 -0
  266. package/dist/util/tool-caller.d.ts +2 -2
  267. package/dist/util/tool-caller.d.ts.map +1 -1
  268. package/dist/util/tool-caller.js +12 -4
  269. package/dist/util/tool-caller.js.map +1 -1
  270. package/esm/context-helpers/context-helpers-provider.test.d.ts.map +1 -0
  271. package/esm/context-helpers/{__tests__/context-helpers-provider.test.js → context-helpers-provider.test.js} +2 -2
  272. package/esm/context-helpers/context-helpers-provider.test.js.map +1 -0
  273. package/esm/context-helpers/context-helpers.test.d.ts.map +1 -0
  274. package/esm/context-helpers/{__tests__/context-helpers.test.js → context-helpers.test.js} +1 -1
  275. package/esm/context-helpers/context-helpers.test.js.map +1 -0
  276. package/{dist/providers → esm}/hoc/with-tambo-interactable.d.ts +2 -2
  277. package/esm/hoc/with-tambo-interactable.d.ts.map +1 -0
  278. package/esm/{providers/hoc → hoc}/with-tambo-interactable.js +29 -2
  279. package/esm/hoc/with-tambo-interactable.js.map +1 -0
  280. package/esm/hoc/with-tambo-interactable.test.d.ts +2 -0
  281. package/esm/hoc/with-tambo-interactable.test.d.ts.map +1 -0
  282. package/esm/hoc/with-tambo-interactable.test.js +187 -0
  283. package/esm/hoc/with-tambo-interactable.test.js.map +1 -0
  284. package/esm/hooks/index.d.ts +1 -1
  285. package/esm/hooks/index.d.ts.map +1 -1
  286. package/esm/hooks/index.js +1 -1
  287. package/esm/hooks/index.js.map +1 -1
  288. package/esm/hooks/use-component-state.d.ts +11 -24
  289. package/esm/hooks/use-component-state.d.ts.map +1 -1
  290. package/esm/hooks/use-component-state.js +14 -5
  291. package/esm/hooks/use-component-state.js.map +1 -1
  292. package/esm/hooks/use-component-state.test.d.ts.map +1 -0
  293. package/esm/hooks/{__tests__/use-component-state.test.js → use-component-state.test.js} +7 -7
  294. package/esm/hooks/use-component-state.test.js.map +1 -0
  295. package/esm/hooks/use-current-message.d.ts +51 -7
  296. package/esm/hooks/use-current-message.d.ts.map +1 -1
  297. package/esm/hooks/use-current-message.js +48 -5
  298. package/esm/hooks/use-current-message.js.map +1 -1
  299. package/esm/hooks/use-current-message.test.d.ts +2 -0
  300. package/esm/hooks/use-current-message.test.d.ts.map +1 -0
  301. package/esm/hooks/use-current-message.test.js +259 -0
  302. package/esm/hooks/use-current-message.test.js.map +1 -0
  303. package/esm/hooks/use-message-images.test.d.ts.map +1 -0
  304. package/esm/hooks/{__tests__/use-message-images.test.js → use-message-images.test.js} +1 -1
  305. package/esm/hooks/use-message-images.test.js.map +1 -0
  306. package/esm/hooks/use-streaming-props.d.ts +7 -19
  307. package/esm/hooks/use-streaming-props.d.ts.map +1 -1
  308. package/esm/hooks/use-streaming-props.js +7 -19
  309. package/esm/hooks/use-streaming-props.js.map +1 -1
  310. package/esm/hooks/use-suggestions.d.ts +1 -1
  311. package/esm/hooks/use-suggestions.d.ts.map +1 -1
  312. package/esm/hooks/use-suggestions.js.map +1 -1
  313. package/esm/hooks/use-suggestions.test.d.ts.map +1 -0
  314. package/esm/hooks/{__tests__/use-suggestions.test.js → use-suggestions.test.js} +36 -29
  315. package/esm/hooks/use-suggestions.test.js.map +1 -0
  316. package/esm/hooks/use-tambo-stream-status.d.ts +9 -8
  317. package/esm/hooks/use-tambo-stream-status.d.ts.map +1 -1
  318. package/esm/hooks/use-tambo-stream-status.js +9 -8
  319. package/esm/hooks/use-tambo-stream-status.js.map +1 -1
  320. package/esm/hooks/use-tambo-stream-status.test.d.ts.map +1 -0
  321. package/esm/hooks/{__tests__/use-tambo-stream-status.test.js → use-tambo-stream-status.test.js} +6 -6
  322. package/esm/hooks/use-tambo-stream-status.test.js.map +1 -0
  323. package/esm/hooks/use-tambo-threads.test.d.ts.map +1 -0
  324. package/esm/hooks/{__tests__/use-tambo-threads.test.js → use-tambo-threads.test.js} +3 -3
  325. package/esm/hooks/use-tambo-threads.test.js.map +1 -0
  326. package/esm/index.d.ts +10 -8
  327. package/esm/index.d.ts.map +1 -1
  328. package/esm/index.js +4 -2
  329. package/esm/index.js.map +1 -1
  330. package/esm/mcp/elicitation.d.ts +10 -2
  331. package/esm/mcp/elicitation.d.ts.map +1 -1
  332. package/esm/mcp/elicitation.js +19 -1
  333. package/esm/mcp/elicitation.js.map +1 -1
  334. package/esm/mcp/elicitation.test.d.ts.map +1 -0
  335. package/esm/mcp/{__tests__/elicitation.test.js → elicitation.test.js} +1 -1
  336. package/esm/mcp/elicitation.test.js.map +1 -0
  337. package/esm/mcp/index.d.ts +11 -2
  338. package/esm/mcp/index.d.ts.map +1 -1
  339. package/esm/mcp/index.js +10 -1
  340. package/esm/mcp/index.js.map +1 -1
  341. package/esm/mcp/mcp-client.d.ts +29 -10
  342. package/esm/mcp/mcp-client.d.ts.map +1 -1
  343. package/esm/mcp/mcp-client.test.d.ts.map +1 -0
  344. package/esm/mcp/{__tests__/mcp-client.test.js → mcp-client.test.js} +1 -1
  345. package/esm/mcp/mcp-client.test.js.map +1 -0
  346. package/esm/mcp/mcp-hooks.d.ts +129 -25
  347. package/esm/mcp/mcp-hooks.d.ts.map +1 -1
  348. package/esm/mcp/mcp-hooks.js +103 -40
  349. package/esm/mcp/mcp-hooks.js.map +1 -1
  350. package/esm/mcp/mcp-hooks.test.d.ts.map +1 -0
  351. package/esm/mcp/{__tests__/mcp-hooks.test.js → mcp-hooks.test.js} +90 -51
  352. package/esm/mcp/mcp-hooks.test.js.map +1 -0
  353. package/esm/mcp/tambo-mcp-provider.d.ts +2 -0
  354. package/esm/mcp/tambo-mcp-provider.d.ts.map +1 -1
  355. package/esm/mcp/tambo-mcp-provider.js +60 -13
  356. package/esm/mcp/tambo-mcp-provider.js.map +1 -1
  357. package/esm/mcp/tambo-mcp-provider.test.d.ts.map +1 -0
  358. package/esm/mcp/{__tests__/tambo-mcp-provider.test.js → tambo-mcp-provider.test.js} +9 -25
  359. package/esm/mcp/tambo-mcp-provider.test.js.map +1 -0
  360. package/esm/mcp/use-mcp-servers.test.d.ts.map +1 -0
  361. package/esm/mcp/{__tests__/use-mcp-servers.test.js → use-mcp-servers.test.js} +5 -11
  362. package/esm/mcp/use-mcp-servers.test.js.map +1 -0
  363. package/esm/model/component-metadata.d.ts +444 -14
  364. package/esm/model/component-metadata.d.ts.map +1 -1
  365. package/esm/model/component-metadata.js.map +1 -1
  366. package/esm/model/generate-component-response.d.ts +12 -1
  367. package/esm/model/generate-component-response.d.ts.map +1 -1
  368. package/esm/model/generate-component-response.js.map +1 -1
  369. package/esm/model/mcp-server-info.d.ts +3 -1
  370. package/esm/model/mcp-server-info.d.ts.map +1 -1
  371. package/esm/model/mcp-server-info.js.map +1 -1
  372. package/esm/model/resource-info.d.ts +55 -0
  373. package/esm/model/resource-info.d.ts.map +1 -0
  374. package/esm/model/resource-info.js +2 -0
  375. package/esm/model/resource-info.js.map +1 -0
  376. package/esm/model/tambo-thread.d.ts +6 -1
  377. package/esm/model/tambo-thread.d.ts.map +1 -1
  378. package/esm/model/tambo-thread.js.map +1 -1
  379. package/esm/providers/hooks/use-tambo-session-token.test.d.ts.map +1 -0
  380. package/esm/providers/hooks/{__tests__/use-tambo-session-token.test.js → use-tambo-session-token.test.js} +1 -1
  381. package/esm/providers/hooks/use-tambo-session-token.test.js.map +1 -0
  382. package/esm/providers/index.d.ts +1 -1
  383. package/esm/providers/index.d.ts.map +1 -1
  384. package/esm/providers/index.js.map +1 -1
  385. package/esm/providers/tambo-client-provider.d.ts +0 -4
  386. package/esm/providers/tambo-client-provider.d.ts.map +1 -1
  387. package/esm/providers/tambo-client-provider.js +0 -3
  388. package/esm/providers/tambo-client-provider.js.map +1 -1
  389. package/esm/providers/tambo-component-provider.d.ts +4 -4
  390. package/esm/providers/tambo-component-provider.d.ts.map +1 -1
  391. package/esm/providers/tambo-component-provider.js.map +1 -1
  392. package/esm/providers/tambo-context-attachment-provider.test.d.ts.map +1 -0
  393. package/esm/providers/{__tests__/tambo-context-attachment-provider.test.js → tambo-context-attachment-provider.test.js} +2 -2
  394. package/esm/providers/tambo-context-attachment-provider.test.js.map +1 -0
  395. package/esm/providers/tambo-context-helpers-provider.test.d.ts.map +1 -0
  396. package/esm/providers/{__tests__/tambo-context-helpers-provider.test.js → tambo-context-helpers-provider.test.js} +2 -2
  397. package/esm/providers/tambo-context-helpers-provider.test.js.map +1 -0
  398. package/esm/providers/tambo-interactable-provider-partial-updates.test.d.ts.map +1 -0
  399. package/esm/providers/{__tests__/tambo-interactable-provider-partial-updates.test.js → tambo-interactable-provider-partial-updates.test.js} +5 -5
  400. package/esm/providers/tambo-interactable-provider-partial-updates.test.js.map +1 -0
  401. package/esm/providers/tambo-interactable-provider.d.ts +2 -3
  402. package/esm/providers/tambo-interactable-provider.d.ts.map +1 -1
  403. package/esm/providers/tambo-interactable-provider.js +44 -38
  404. package/esm/providers/tambo-interactable-provider.js.map +1 -1
  405. package/esm/providers/tambo-interactables-additional-context-edge-cases.test.d.ts.map +1 -0
  406. package/esm/providers/{__tests__/tambo-interactables-additional-context-edge-cases.test.js → tambo-interactables-additional-context-edge-cases.test.js} +10 -10
  407. package/esm/providers/tambo-interactables-additional-context-edge-cases.test.js.map +1 -0
  408. package/esm/providers/tambo-interactables-additional-context.test.d.ts.map +1 -0
  409. package/esm/providers/{__tests__/tambo-interactables-additional-context.test.js → tambo-interactables-additional-context.test.js} +10 -10
  410. package/esm/providers/tambo-interactables-additional-context.test.js.map +1 -0
  411. package/esm/providers/tambo-mcp-token-provider.d.ts +20 -13
  412. package/esm/providers/tambo-mcp-token-provider.d.ts.map +1 -1
  413. package/esm/providers/tambo-mcp-token-provider.js +123 -11
  414. package/esm/providers/tambo-mcp-token-provider.js.map +1 -1
  415. package/esm/providers/tambo-prop-stream-provider.test.d.ts.map +1 -0
  416. package/esm/providers/{__tests__/tambo-prop-stream-provider.test.js → tambo-prop-stream-provider.test.js} +32 -25
  417. package/esm/providers/tambo-prop-stream-provider.test.js.map +1 -0
  418. package/esm/providers/tambo-provider.d.ts +2 -2
  419. package/esm/providers/tambo-provider.d.ts.map +1 -1
  420. package/esm/providers/tambo-provider.js +5 -7
  421. package/esm/providers/tambo-provider.js.map +1 -1
  422. package/esm/providers/tambo-registry-provider.d.ts +28 -7
  423. package/esm/providers/tambo-registry-provider.d.ts.map +1 -1
  424. package/esm/providers/tambo-registry-provider.js +67 -175
  425. package/esm/providers/tambo-registry-provider.js.map +1 -1
  426. package/esm/providers/tambo-registry-provider.test.d.ts.map +1 -0
  427. package/esm/providers/{__tests__/tambo-registry-provider.test.js → tambo-registry-provider.test.js} +149 -27
  428. package/esm/providers/tambo-registry-provider.test.js.map +1 -0
  429. package/esm/providers/tambo-registry-schema-compat.test.d.ts +2 -0
  430. package/esm/providers/tambo-registry-schema-compat.test.d.ts.map +1 -0
  431. package/esm/providers/tambo-registry-schema-compat.test.js +578 -0
  432. package/esm/providers/tambo-registry-schema-compat.test.js.map +1 -0
  433. package/esm/providers/tambo-stubs.d.ts +2 -2
  434. package/esm/providers/tambo-stubs.d.ts.map +1 -1
  435. package/esm/providers/tambo-stubs.js +9 -2
  436. package/esm/providers/tambo-stubs.js.map +1 -1
  437. package/esm/providers/tambo-stubs.test.d.ts.map +1 -0
  438. package/esm/providers/{__tests__/tambo-stubs.test.js → tambo-stubs.test.js} +2 -2
  439. package/esm/providers/tambo-stubs.test.js.map +1 -0
  440. package/esm/providers/tambo-thread-input-provider.d.ts +2 -1
  441. package/esm/providers/tambo-thread-input-provider.d.ts.map +1 -1
  442. package/esm/providers/tambo-thread-input-provider.js +3 -3
  443. package/esm/providers/tambo-thread-input-provider.js.map +1 -1
  444. package/esm/providers/tambo-thread-provider-initial-messages.test.d.ts.map +1 -0
  445. package/esm/providers/{__tests__/tambo-thread-provider-initial-messages.test.js → tambo-thread-provider-initial-messages.test.js} +7 -9
  446. package/esm/providers/tambo-thread-provider-initial-messages.test.js.map +1 -0
  447. package/esm/providers/tambo-thread-provider.d.ts +8 -0
  448. package/esm/providers/tambo-thread-provider.d.ts.map +1 -1
  449. package/esm/providers/tambo-thread-provider.js +82 -19
  450. package/esm/providers/tambo-thread-provider.js.map +1 -1
  451. package/esm/providers/tambo-thread-provider.test.d.ts.map +1 -0
  452. package/esm/providers/{__tests__/tambo-thread-provider.test.js → tambo-thread-provider.test.js} +34 -70
  453. package/esm/providers/tambo-thread-provider.test.js.map +1 -0
  454. package/esm/schema/index.d.ts +6 -0
  455. package/esm/schema/index.d.ts.map +1 -0
  456. package/esm/schema/index.js +6 -0
  457. package/esm/schema/index.js.map +1 -0
  458. package/esm/schema/json-schema.d.ts +35 -0
  459. package/esm/schema/json-schema.d.ts.map +1 -0
  460. package/esm/schema/json-schema.js +98 -0
  461. package/esm/schema/json-schema.js.map +1 -0
  462. package/esm/schema/schema.d.ts +66 -0
  463. package/esm/schema/schema.d.ts.map +1 -0
  464. package/esm/schema/schema.js +185 -0
  465. package/esm/schema/schema.js.map +1 -0
  466. package/esm/schema/schema.test.d.ts +2 -0
  467. package/esm/schema/schema.test.d.ts.map +1 -0
  468. package/esm/schema/schema.test.js +39 -0
  469. package/esm/schema/schema.test.js.map +1 -0
  470. package/esm/schema/standard-schema.d.ts +21 -0
  471. package/esm/schema/standard-schema.d.ts.map +1 -0
  472. package/esm/schema/standard-schema.js +34 -0
  473. package/esm/schema/standard-schema.js.map +1 -0
  474. package/esm/schema/validate.d.ts +14 -0
  475. package/esm/schema/validate.d.ts.map +1 -0
  476. package/esm/schema/validate.js +145 -0
  477. package/esm/schema/validate.js.map +1 -0
  478. package/esm/schema/validate.test.d.ts +2 -0
  479. package/esm/schema/validate.test.d.ts.map +1 -0
  480. package/esm/schema/validate.test.js +126 -0
  481. package/esm/schema/validate.test.js.map +1 -0
  482. package/esm/schema/zod.d.ts +54 -0
  483. package/esm/schema/zod.d.ts.map +1 -0
  484. package/esm/schema/zod.js +124 -0
  485. package/esm/schema/zod.js.map +1 -0
  486. package/esm/testing/tools.d.ts +29 -15
  487. package/esm/testing/tools.d.ts.map +1 -1
  488. package/esm/testing/tools.js +62 -16
  489. package/esm/testing/tools.js.map +1 -1
  490. package/esm/util/content-parts.test.d.ts.map +1 -0
  491. package/esm/util/{__tests__/content-parts.test.js → content-parts.test.js} +1 -1
  492. package/esm/util/content-parts.test.js.map +1 -0
  493. package/esm/util/generate-component.d.ts.map +1 -1
  494. package/esm/util/generate-component.js +3 -3
  495. package/esm/util/generate-component.js.map +1 -1
  496. package/esm/util/mcp-server-utils.d.ts +23 -0
  497. package/esm/util/mcp-server-utils.d.ts.map +1 -0
  498. package/esm/util/mcp-server-utils.js +102 -0
  499. package/esm/util/mcp-server-utils.js.map +1 -0
  500. package/esm/util/mcp-server-utils.test.d.ts +2 -0
  501. package/esm/util/mcp-server-utils.test.d.ts.map +1 -0
  502. package/esm/util/mcp-server-utils.test.js +285 -0
  503. package/esm/util/mcp-server-utils.test.js.map +1 -0
  504. package/esm/util/message-builder.d.ts +4 -3
  505. package/esm/util/message-builder.d.ts.map +1 -1
  506. package/esm/util/message-builder.js +83 -8
  507. package/esm/util/message-builder.js.map +1 -1
  508. package/esm/util/message-builder.test.d.ts.map +1 -0
  509. package/esm/util/message-builder.test.js +676 -0
  510. package/esm/util/message-builder.test.js.map +1 -0
  511. package/esm/util/query-utils.d.ts.map +1 -1
  512. package/esm/util/query-utils.js +49 -31
  513. package/esm/util/query-utils.js.map +1 -1
  514. package/esm/util/registry-validators.d.ts +26 -0
  515. package/esm/util/registry-validators.d.ts.map +1 -0
  516. package/esm/util/registry-validators.js +100 -0
  517. package/esm/util/registry-validators.js.map +1 -0
  518. package/esm/util/registry-validators.test.d.ts +2 -0
  519. package/esm/util/registry-validators.test.d.ts.map +1 -0
  520. package/esm/util/registry-validators.test.js +233 -0
  521. package/esm/util/registry-validators.test.js.map +1 -0
  522. package/esm/util/registry.d.ts +35 -7
  523. package/esm/util/registry.d.ts.map +1 -1
  524. package/esm/util/registry.js +57 -73
  525. package/esm/util/registry.js.map +1 -1
  526. package/esm/util/registry.test.d.ts +2 -0
  527. package/esm/util/registry.test.d.ts.map +1 -0
  528. package/esm/util/registry.test.js +169 -0
  529. package/esm/util/registry.test.js.map +1 -0
  530. package/esm/util/resource-validators.d.ts +16 -0
  531. package/esm/util/resource-validators.d.ts.map +1 -0
  532. package/esm/util/resource-validators.js +30 -0
  533. package/esm/util/resource-validators.js.map +1 -0
  534. package/esm/util/tool-caller.d.ts +2 -2
  535. package/esm/util/tool-caller.d.ts.map +1 -1
  536. package/esm/util/tool-caller.js +12 -4
  537. package/esm/util/tool-caller.js.map +1 -1
  538. package/package.json +30 -11
  539. package/dist/__tests__/util/validate-zod-schema.test.d.ts +0 -2
  540. package/dist/__tests__/util/validate-zod-schema.test.d.ts.map +0 -1
  541. package/dist/__tests__/util/validate-zod-schema.test.js +0 -96
  542. package/dist/__tests__/util/validate-zod-schema.test.js.map +0 -1
  543. package/dist/context-helpers/__tests__/context-helpers-provider.test.d.ts.map +0 -1
  544. package/dist/context-helpers/__tests__/context-helpers-provider.test.js.map +0 -1
  545. package/dist/context-helpers/__tests__/context-helpers.test.d.ts.map +0 -1
  546. package/dist/context-helpers/__tests__/context-helpers.test.js.map +0 -1
  547. package/dist/hooks/__tests__/use-component-state.test.d.ts.map +0 -1
  548. package/dist/hooks/__tests__/use-component-state.test.js.map +0 -1
  549. package/dist/hooks/__tests__/use-message-images.test.d.ts.map +0 -1
  550. package/dist/hooks/__tests__/use-message-images.test.js.map +0 -1
  551. package/dist/hooks/__tests__/use-suggestions.test.d.ts.map +0 -1
  552. package/dist/hooks/__tests__/use-suggestions.test.js.map +0 -1
  553. package/dist/hooks/__tests__/use-tambo-stream-status.test.d.ts.map +0 -1
  554. package/dist/hooks/__tests__/use-tambo-stream-status.test.js.map +0 -1
  555. package/dist/hooks/__tests__/use-tambo-threads.test.d.ts.map +0 -1
  556. package/dist/hooks/__tests__/use-tambo-threads.test.js.map +0 -1
  557. package/dist/mcp/__tests__/elicitation.test.d.ts.map +0 -1
  558. package/dist/mcp/__tests__/elicitation.test.js.map +0 -1
  559. package/dist/mcp/__tests__/mcp-client.test.d.ts.map +0 -1
  560. package/dist/mcp/__tests__/mcp-client.test.js.map +0 -1
  561. package/dist/mcp/__tests__/mcp-hooks.test.d.ts.map +0 -1
  562. package/dist/mcp/__tests__/mcp-hooks.test.js.map +0 -1
  563. package/dist/mcp/__tests__/tambo-mcp-provider.test.d.ts.map +0 -1
  564. package/dist/mcp/__tests__/tambo-mcp-provider.test.js.map +0 -1
  565. package/dist/mcp/__tests__/use-mcp-servers.test.d.ts.map +0 -1
  566. package/dist/mcp/__tests__/use-mcp-servers.test.js.map +0 -1
  567. package/dist/providers/__tests__/tambo-context-attachment-provider.test.d.ts.map +0 -1
  568. package/dist/providers/__tests__/tambo-context-attachment-provider.test.js.map +0 -1
  569. package/dist/providers/__tests__/tambo-context-helpers-provider.test.d.ts.map +0 -1
  570. package/dist/providers/__tests__/tambo-context-helpers-provider.test.js.map +0 -1
  571. package/dist/providers/__tests__/tambo-interactable-provider-partial-updates.test.d.ts.map +0 -1
  572. package/dist/providers/__tests__/tambo-interactable-provider-partial-updates.test.js.map +0 -1
  573. package/dist/providers/__tests__/tambo-interactables-additional-context-edge-cases.test.d.ts.map +0 -1
  574. package/dist/providers/__tests__/tambo-interactables-additional-context-edge-cases.test.js.map +0 -1
  575. package/dist/providers/__tests__/tambo-interactables-additional-context.test.d.ts.map +0 -1
  576. package/dist/providers/__tests__/tambo-interactables-additional-context.test.js.map +0 -1
  577. package/dist/providers/__tests__/tambo-prop-stream-provider.test.d.ts.map +0 -1
  578. package/dist/providers/__tests__/tambo-prop-stream-provider.test.js.map +0 -1
  579. package/dist/providers/__tests__/tambo-registry-provider.test.d.ts.map +0 -1
  580. package/dist/providers/__tests__/tambo-registry-provider.test.js.map +0 -1
  581. package/dist/providers/__tests__/tambo-stubs.test.d.ts.map +0 -1
  582. package/dist/providers/__tests__/tambo-stubs.test.js.map +0 -1
  583. package/dist/providers/__tests__/tambo-thread-provider-initial-messages.test.d.ts.map +0 -1
  584. package/dist/providers/__tests__/tambo-thread-provider-initial-messages.test.js.map +0 -1
  585. package/dist/providers/__tests__/tambo-thread-provider.test.d.ts.map +0 -1
  586. package/dist/providers/__tests__/tambo-thread-provider.test.js.map +0 -1
  587. package/dist/providers/hoc/with-tambo-interactable.d.ts.map +0 -1
  588. package/dist/providers/hoc/with-tambo-interactable.js.map +0 -1
  589. package/dist/providers/hooks/__tests__/use-tambo-session-token.test.d.ts.map +0 -1
  590. package/dist/providers/hooks/__tests__/use-tambo-session-token.test.js.map +0 -1
  591. package/dist/util/__tests__/content-parts.test.d.ts.map +0 -1
  592. package/dist/util/__tests__/content-parts.test.js.map +0 -1
  593. package/dist/util/__tests__/message-builder.test.d.ts.map +0 -1
  594. package/dist/util/__tests__/message-builder.test.js +0 -191
  595. package/dist/util/__tests__/message-builder.test.js.map +0 -1
  596. package/dist/util/validate-zod-schema.d.ts +0 -10
  597. package/dist/util/validate-zod-schema.d.ts.map +0 -1
  598. package/dist/util/validate-zod-schema.js +0 -100
  599. package/dist/util/validate-zod-schema.js.map +0 -1
  600. package/esm/__tests__/util/validate-zod-schema.test.d.ts +0 -2
  601. package/esm/__tests__/util/validate-zod-schema.test.d.ts.map +0 -1
  602. package/esm/__tests__/util/validate-zod-schema.test.js +0 -94
  603. package/esm/__tests__/util/validate-zod-schema.test.js.map +0 -1
  604. package/esm/context-helpers/__tests__/context-helpers-provider.test.d.ts.map +0 -1
  605. package/esm/context-helpers/__tests__/context-helpers-provider.test.js.map +0 -1
  606. package/esm/context-helpers/__tests__/context-helpers.test.d.ts.map +0 -1
  607. package/esm/context-helpers/__tests__/context-helpers.test.js.map +0 -1
  608. package/esm/hooks/__tests__/use-component-state.test.d.ts.map +0 -1
  609. package/esm/hooks/__tests__/use-component-state.test.js.map +0 -1
  610. package/esm/hooks/__tests__/use-message-images.test.d.ts.map +0 -1
  611. package/esm/hooks/__tests__/use-message-images.test.js.map +0 -1
  612. package/esm/hooks/__tests__/use-suggestions.test.d.ts.map +0 -1
  613. package/esm/hooks/__tests__/use-suggestions.test.js.map +0 -1
  614. package/esm/hooks/__tests__/use-tambo-stream-status.test.d.ts.map +0 -1
  615. package/esm/hooks/__tests__/use-tambo-stream-status.test.js.map +0 -1
  616. package/esm/hooks/__tests__/use-tambo-threads.test.d.ts.map +0 -1
  617. package/esm/hooks/__tests__/use-tambo-threads.test.js.map +0 -1
  618. package/esm/mcp/__tests__/elicitation.test.d.ts.map +0 -1
  619. package/esm/mcp/__tests__/elicitation.test.js.map +0 -1
  620. package/esm/mcp/__tests__/mcp-client.test.d.ts.map +0 -1
  621. package/esm/mcp/__tests__/mcp-client.test.js.map +0 -1
  622. package/esm/mcp/__tests__/mcp-hooks.test.d.ts.map +0 -1
  623. package/esm/mcp/__tests__/mcp-hooks.test.js.map +0 -1
  624. package/esm/mcp/__tests__/tambo-mcp-provider.test.d.ts.map +0 -1
  625. package/esm/mcp/__tests__/tambo-mcp-provider.test.js.map +0 -1
  626. package/esm/mcp/__tests__/use-mcp-servers.test.d.ts.map +0 -1
  627. package/esm/mcp/__tests__/use-mcp-servers.test.js.map +0 -1
  628. package/esm/providers/__tests__/tambo-context-attachment-provider.test.d.ts.map +0 -1
  629. package/esm/providers/__tests__/tambo-context-attachment-provider.test.js.map +0 -1
  630. package/esm/providers/__tests__/tambo-context-helpers-provider.test.d.ts.map +0 -1
  631. package/esm/providers/__tests__/tambo-context-helpers-provider.test.js.map +0 -1
  632. package/esm/providers/__tests__/tambo-interactable-provider-partial-updates.test.d.ts.map +0 -1
  633. package/esm/providers/__tests__/tambo-interactable-provider-partial-updates.test.js.map +0 -1
  634. package/esm/providers/__tests__/tambo-interactables-additional-context-edge-cases.test.d.ts.map +0 -1
  635. package/esm/providers/__tests__/tambo-interactables-additional-context-edge-cases.test.js.map +0 -1
  636. package/esm/providers/__tests__/tambo-interactables-additional-context.test.d.ts.map +0 -1
  637. package/esm/providers/__tests__/tambo-interactables-additional-context.test.js.map +0 -1
  638. package/esm/providers/__tests__/tambo-prop-stream-provider.test.d.ts.map +0 -1
  639. package/esm/providers/__tests__/tambo-prop-stream-provider.test.js.map +0 -1
  640. package/esm/providers/__tests__/tambo-registry-provider.test.d.ts.map +0 -1
  641. package/esm/providers/__tests__/tambo-registry-provider.test.js.map +0 -1
  642. package/esm/providers/__tests__/tambo-stubs.test.d.ts.map +0 -1
  643. package/esm/providers/__tests__/tambo-stubs.test.js.map +0 -1
  644. package/esm/providers/__tests__/tambo-thread-provider-initial-messages.test.d.ts.map +0 -1
  645. package/esm/providers/__tests__/tambo-thread-provider-initial-messages.test.js.map +0 -1
  646. package/esm/providers/__tests__/tambo-thread-provider.test.d.ts.map +0 -1
  647. package/esm/providers/__tests__/tambo-thread-provider.test.js.map +0 -1
  648. package/esm/providers/hoc/with-tambo-interactable.d.ts.map +0 -1
  649. package/esm/providers/hoc/with-tambo-interactable.js.map +0 -1
  650. package/esm/providers/hooks/__tests__/use-tambo-session-token.test.d.ts.map +0 -1
  651. package/esm/providers/hooks/__tests__/use-tambo-session-token.test.js.map +0 -1
  652. package/esm/util/__tests__/content-parts.test.d.ts.map +0 -1
  653. package/esm/util/__tests__/content-parts.test.js.map +0 -1
  654. package/esm/util/__tests__/message-builder.test.d.ts.map +0 -1
  655. package/esm/util/__tests__/message-builder.test.js +0 -189
  656. package/esm/util/__tests__/message-builder.test.js.map +0 -1
  657. package/esm/util/validate-zod-schema.d.ts +0 -10
  658. package/esm/util/validate-zod-schema.d.ts.map +0 -1
  659. package/esm/util/validate-zod-schema.js +0 -97
  660. package/esm/util/validate-zod-schema.js.map +0 -1
  661. /package/dist/context-helpers/{__tests__/context-helpers-provider.test.d.ts → context-helpers-provider.test.d.ts} +0 -0
  662. /package/dist/context-helpers/{__tests__/context-helpers.test.d.ts → context-helpers.test.d.ts} +0 -0
  663. /package/dist/hooks/{__tests__/use-component-state.test.d.ts → use-component-state.test.d.ts} +0 -0
  664. /package/dist/hooks/{__tests__/use-message-images.test.d.ts → use-message-images.test.d.ts} +0 -0
  665. /package/dist/hooks/{__tests__/use-suggestions.test.d.ts → use-suggestions.test.d.ts} +0 -0
  666. /package/dist/hooks/{__tests__/use-tambo-stream-status.test.d.ts → use-tambo-stream-status.test.d.ts} +0 -0
  667. /package/dist/hooks/{__tests__/use-tambo-threads.test.d.ts → use-tambo-threads.test.d.ts} +0 -0
  668. /package/dist/mcp/{__tests__/elicitation.test.d.ts → elicitation.test.d.ts} +0 -0
  669. /package/dist/mcp/{__tests__/mcp-client.test.d.ts → mcp-client.test.d.ts} +0 -0
  670. /package/dist/mcp/{__tests__/mcp-hooks.test.d.ts → mcp-hooks.test.d.ts} +0 -0
  671. /package/dist/mcp/{__tests__/tambo-mcp-provider.test.d.ts → tambo-mcp-provider.test.d.ts} +0 -0
  672. /package/dist/mcp/{__tests__/use-mcp-servers.test.d.ts → use-mcp-servers.test.d.ts} +0 -0
  673. /package/dist/providers/hooks/{__tests__/use-tambo-session-token.test.d.ts → use-tambo-session-token.test.d.ts} +0 -0
  674. /package/dist/providers/{__tests__/tambo-context-attachment-provider.test.d.ts → tambo-context-attachment-provider.test.d.ts} +0 -0
  675. /package/dist/providers/{__tests__/tambo-context-helpers-provider.test.d.ts → tambo-context-helpers-provider.test.d.ts} +0 -0
  676. /package/dist/providers/{__tests__/tambo-interactable-provider-partial-updates.test.d.ts → tambo-interactable-provider-partial-updates.test.d.ts} +0 -0
  677. /package/dist/providers/{__tests__/tambo-interactables-additional-context-edge-cases.test.d.ts → tambo-interactables-additional-context-edge-cases.test.d.ts} +0 -0
  678. /package/dist/providers/{__tests__/tambo-interactables-additional-context.test.d.ts → tambo-interactables-additional-context.test.d.ts} +0 -0
  679. /package/dist/providers/{__tests__/tambo-prop-stream-provider.test.d.ts → tambo-prop-stream-provider.test.d.ts} +0 -0
  680. /package/dist/providers/{__tests__/tambo-registry-provider.test.d.ts → tambo-registry-provider.test.d.ts} +0 -0
  681. /package/dist/providers/{__tests__/tambo-stubs.test.d.ts → tambo-stubs.test.d.ts} +0 -0
  682. /package/dist/providers/{__tests__/tambo-thread-provider-initial-messages.test.d.ts → tambo-thread-provider-initial-messages.test.d.ts} +0 -0
  683. /package/dist/providers/{__tests__/tambo-thread-provider.test.d.ts → tambo-thread-provider.test.d.ts} +0 -0
  684. /package/dist/util/{__tests__/content-parts.test.d.ts → content-parts.test.d.ts} +0 -0
  685. /package/dist/util/{__tests__/message-builder.test.d.ts → message-builder.test.d.ts} +0 -0
  686. /package/esm/context-helpers/{__tests__/context-helpers-provider.test.d.ts → context-helpers-provider.test.d.ts} +0 -0
  687. /package/esm/context-helpers/{__tests__/context-helpers.test.d.ts → context-helpers.test.d.ts} +0 -0
  688. /package/esm/hooks/{__tests__/use-component-state.test.d.ts → use-component-state.test.d.ts} +0 -0
  689. /package/esm/hooks/{__tests__/use-message-images.test.d.ts → use-message-images.test.d.ts} +0 -0
  690. /package/esm/hooks/{__tests__/use-suggestions.test.d.ts → use-suggestions.test.d.ts} +0 -0
  691. /package/esm/hooks/{__tests__/use-tambo-stream-status.test.d.ts → use-tambo-stream-status.test.d.ts} +0 -0
  692. /package/esm/hooks/{__tests__/use-tambo-threads.test.d.ts → use-tambo-threads.test.d.ts} +0 -0
  693. /package/esm/mcp/{__tests__/elicitation.test.d.ts → elicitation.test.d.ts} +0 -0
  694. /package/esm/mcp/{__tests__/mcp-client.test.d.ts → mcp-client.test.d.ts} +0 -0
  695. /package/esm/mcp/{__tests__/mcp-hooks.test.d.ts → mcp-hooks.test.d.ts} +0 -0
  696. /package/esm/mcp/{__tests__/tambo-mcp-provider.test.d.ts → tambo-mcp-provider.test.d.ts} +0 -0
  697. /package/esm/mcp/{__tests__/use-mcp-servers.test.d.ts → use-mcp-servers.test.d.ts} +0 -0
  698. /package/esm/providers/hooks/{__tests__/use-tambo-session-token.test.d.ts → use-tambo-session-token.test.d.ts} +0 -0
  699. /package/esm/providers/{__tests__/tambo-context-attachment-provider.test.d.ts → tambo-context-attachment-provider.test.d.ts} +0 -0
  700. /package/esm/providers/{__tests__/tambo-context-helpers-provider.test.d.ts → tambo-context-helpers-provider.test.d.ts} +0 -0
  701. /package/esm/providers/{__tests__/tambo-interactable-provider-partial-updates.test.d.ts → tambo-interactable-provider-partial-updates.test.d.ts} +0 -0
  702. /package/esm/providers/{__tests__/tambo-interactables-additional-context-edge-cases.test.d.ts → tambo-interactables-additional-context-edge-cases.test.d.ts} +0 -0
  703. /package/esm/providers/{__tests__/tambo-interactables-additional-context.test.d.ts → tambo-interactables-additional-context.test.d.ts} +0 -0
  704. /package/esm/providers/{__tests__/tambo-prop-stream-provider.test.d.ts → tambo-prop-stream-provider.test.d.ts} +0 -0
  705. /package/esm/providers/{__tests__/tambo-registry-provider.test.d.ts → tambo-registry-provider.test.d.ts} +0 -0
  706. /package/esm/providers/{__tests__/tambo-stubs.test.d.ts → tambo-stubs.test.d.ts} +0 -0
  707. /package/esm/providers/{__tests__/tambo-thread-provider-initial-messages.test.d.ts → tambo-thread-provider-initial-messages.test.d.ts} +0 -0
  708. /package/esm/providers/{__tests__/tambo-thread-provider.test.d.ts → tambo-thread-provider.test.d.ts} +0 -0
  709. /package/esm/util/{__tests__/content-parts.test.d.ts → content-parts.test.d.ts} +0 -0
  710. /package/esm/util/{__tests__/message-builder.test.d.ts → message-builder.test.d.ts} +0 -0
@@ -35,17 +35,17 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const react_1 = require("@testing-library/react");
37
37
  const react_2 = __importStar(require("react"));
38
- const tambo_mcp_token_provider_1 = require("../../providers/tambo-mcp-token-provider");
39
- const tambo_registry_provider_1 = require("../../providers/tambo-registry-provider");
40
- const tambo_client_provider_1 = require("../../providers/tambo-client-provider");
38
+ const tambo_mcp_token_provider_1 = require("../providers/tambo-mcp-token-provider");
39
+ const tambo_registry_provider_1 = require("../providers/tambo-registry-provider");
40
+ const tambo_client_provider_1 = require("../providers/tambo-client-provider");
41
41
  const react_query_1 = require("@tanstack/react-query");
42
- const tambo_mcp_provider_1 = require("../tambo-mcp-provider");
42
+ const tambo_mcp_provider_1 = require("./tambo-mcp-provider");
43
43
  // Mock the registry to provide a no-op registerTool
44
44
  // Do not mock the registry; use the real provider in render
45
45
  // Provide a minimal client context instead of mocking the hook
46
46
  // Mock the MCP client; use a mutable implementation to avoid TDZ issues
47
47
  let createImpl = jest.fn();
48
- jest.mock("../mcp-client", () => ({
48
+ jest.mock("./mcp-client", () => ({
49
49
  MCPClient: { create: (...args) => createImpl(...args) },
50
50
  MCPTransport: { SSE: "sse", HTTP: "http" },
51
51
  }));
@@ -67,8 +67,6 @@ describe("useTamboMcpServers + TamboMcpProvider", () => {
67
67
  client: { baseURL: "https://api.tambo.co" },
68
68
  queryClient: new react_query_1.QueryClient(),
69
69
  isUpdatingToken: false,
70
- mcpAccessToken: null,
71
- setMcpAccessToken: () => { },
72
70
  } },
73
71
  react_2.default.createElement(tambo_registry_provider_1.TamboRegistryProvider, { mcpServers: [{ url: "https://one.example" }, "https://two.example"] },
74
72
  react_2.default.createElement(tambo_mcp_token_provider_1.TamboMcpTokenProvider, null,
@@ -96,8 +94,6 @@ describe("useTamboMcpServers + TamboMcpProvider", () => {
96
94
  client: { baseURL: "https://api.tambo.co" },
97
95
  queryClient: new react_query_1.QueryClient(),
98
96
  isUpdatingToken: false,
99
- mcpAccessToken: null,
100
- setMcpAccessToken: () => { },
101
97
  } },
102
98
  react_2.default.createElement(tambo_registry_provider_1.TamboRegistryProvider, { mcpServers: [{ url: "https://ok.example" }] },
103
99
  react_2.default.createElement(tambo_mcp_token_provider_1.TamboMcpTokenProvider, null,
@@ -126,8 +122,6 @@ describe("useTamboMcpServers + TamboMcpProvider", () => {
126
122
  client: { baseURL: "https://api.tambo.co" },
127
123
  queryClient: new react_query_1.QueryClient(),
128
124
  isUpdatingToken: false,
129
- mcpAccessToken: null,
130
- setMcpAccessToken: () => { },
131
125
  } },
132
126
  react_2.default.createElement(tambo_registry_provider_1.TamboRegistryProvider, { mcpServers: [{ url: "https://fail.example" }] },
133
127
  react_2.default.createElement(tambo_mcp_token_provider_1.TamboMcpTokenProvider, null,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mcp-servers.test.js","sourceRoot":"","sources":["../../src/mcp/use-mcp-servers.test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyD;AACzD,+CAAyC;AACzC,oFAA8E;AAC9E,kFAA6E;AAC7E,8EAAwE;AACxE,uDAAoD;AACpD,6DAI8B;AAE9B,oDAAoD;AACpD,4DAA4D;AAE5D,+DAA+D;AAE/D,wEAAwE;AACxE,IAAI,UAAU,GAAc,IAAI,CAAC,EAAE,EAAE,CAAC;AACtC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,EAAE;IAC9D,YAAY,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;CAC3C,CAAC,CAAC,CAAC;AAEJ,qFAAqF;AAErF,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAS,CAAC;QACzE,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAa,GAAG,EAAE;YAC3B,MAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;YACrC,OAAO,CACL;gBACE,sDAAiB,OAAO,IAAE,OAAO,CAAC,MAAM,CAAO;gBAC/C,sDAAiB,MAAM,IAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAO,CAC/D,CACP,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,cAAM,EAC5B,8BAAC,0CAAkB,CAAC,QAAQ,IAC1B,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAS;gBAClD,WAAW,EAAE,IAAI,yBAAW,EAAE;gBAC9B,eAAe,EAAE,KAAK;aACvB;YAED,8BAAC,+CAAqB,IACpB,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,EAAE,qBAAqB,CAAC;gBAEnE,8BAAC,gDAAqB;oBACpB,8BAAC,qCAAgB;wBACf,8BAAC,KAAK,OAAG,CACQ,CACG,CACF,CACI,CAC/B,CAAC;QAEF,MAAM,IAAA,eAAO,EAAC,GAAG,EAAE;YACjB,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAS,CAAC;QACzE,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,MAAM,GAAgB,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAa,GAAG,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;YACrC,IAAA,iBAAS,EAAC,GAAG,EAAE;gBACb,MAAM,GAAG,OAAO,CAAC;YACnB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,IAAA,cAAM,EACJ,8BAAC,0CAAkB,CAAC,QAAQ,IAC1B,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAS;gBAClD,WAAW,EAAE,IAAI,yBAAW,EAAE;gBAC9B,eAAe,EAAE,KAAK;aACvB;YAED,8BAAC,+CAAqB,IAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC;gBAChE,8BAAC,gDAAqB;oBACpB,8BAAC,qCAAgB;wBACf,8BAAC,OAAO,OAAG,CACM,CACG,CACF,CACI,CAC/B,CAAC;QAEF,MAAM,IAAA,eAAO,EAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAE,MAAM,CAAC,CAAC,CAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnD,yCAAyC;YACzC,MAAM,CAAE,MAAM,CAAC,CAAC,CAAS,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,MAAM,GAAgB,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAa,GAAG,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;YACrC,IAAA,iBAAS,EAAC,GAAG,EAAE;gBACb,MAAM,GAAG,OAAO,CAAC;YACnB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,IAAA,cAAM,EACJ,8BAAC,0CAAkB,CAAC,QAAQ,IAC1B,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAS;gBAClD,WAAW,EAAE,IAAI,yBAAW,EAAE;gBAC9B,eAAe,EAAE,KAAK;aACvB;YAED,8BAAC,+CAAqB,IAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,CAAC;gBAClE,8BAAC,gDAAqB;oBACpB,8BAAC,qCAAgB;wBACf,8BAAC,OAAO,OAAG,CACM,CACG,CACF,CACI,CAC/B,CAAC;QAEF,MAAM,IAAA,eAAO,EAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,wCAAwC;YACxC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACxD,wCAAwC;YACxC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { render, waitFor } from \"@testing-library/react\";\nimport React, { useEffect } from \"react\";\nimport { TamboMcpTokenProvider } from \"../providers/tambo-mcp-token-provider\";\nimport { TamboRegistryProvider } from \"../providers/tambo-registry-provider\";\nimport { TamboClientContext } from \"../providers/tambo-client-provider\";\nimport { QueryClient } from \"@tanstack/react-query\";\nimport {\n TamboMcpProvider,\n useTamboMcpServers,\n type McpServer,\n} from \"./tambo-mcp-provider\";\n\n// Mock the registry to provide a no-op registerTool\n// Do not mock the registry; use the real provider in render\n\n// Provide a minimal client context instead of mocking the hook\n\n// Mock the MCP client; use a mutable implementation to avoid TDZ issues\nlet createImpl: jest.Mock = jest.fn();\njest.mock(\"./mcp-client\", () => ({\n MCPClient: { create: (...args: any[]) => createImpl(...args) },\n MCPTransport: { SSE: \"sse\", HTTP: \"http\" },\n}));\n\n// Import after mocks note: jest.mock calls are hoisted, so standard imports are fine\n\ndescribe(\"useTamboMcpServers + TamboMcpProvider\", () => {\n beforeEach(() => {\n createImpl = jest.fn();\n });\n\n it(\"provides normalized MCP server entries to inner components\", async () => {\n const fakeClient = { listTools: jest.fn().mockResolvedValue([]) } as any;\n createImpl.mockResolvedValue(fakeClient);\n\n const Inner: React.FC = () => {\n const servers = useTamboMcpServers();\n return (\n <div>\n <div data-testid=\"count\">{servers.length}</div>\n <div data-testid=\"urls\">{servers.map((s) => s.url).join(\",\")}</div>\n </div>\n );\n };\n\n const { getByTestId } = render(\n <TamboClientContext.Provider\n value={{\n client: { baseURL: \"https://api.tambo.co\" } as any,\n queryClient: new QueryClient(),\n isUpdatingToken: false,\n }}\n >\n <TamboRegistryProvider\n mcpServers={[{ url: \"https://one.example\" }, \"https://two.example\"]}\n >\n <TamboMcpTokenProvider>\n <TamboMcpProvider>\n <Inner />\n </TamboMcpProvider>\n </TamboMcpTokenProvider>\n </TamboRegistryProvider>\n </TamboClientContext.Provider>,\n );\n\n await waitFor(() => {\n expect(getByTestId(\"count\").textContent).toBe(\"2\");\n const urls = getByTestId(\"urls\").textContent || \"\";\n expect(urls).toContain(\"https://one.example\");\n expect(urls).toContain(\"https://two.example\");\n });\n });\n\n it(\"marks a successfully connected server with a client instance\", async () => {\n const fakeClient = { listTools: jest.fn().mockResolvedValue([]) } as any;\n createImpl.mockResolvedValue(fakeClient);\n\n let latest: McpServer[] = [];\n const Capture: React.FC = () => {\n const servers = useTamboMcpServers();\n useEffect(() => {\n latest = servers;\n }, [servers]);\n return null;\n };\n\n render(\n <TamboClientContext.Provider\n value={{\n client: { baseURL: \"https://api.tambo.co\" } as any,\n queryClient: new QueryClient(),\n isUpdatingToken: false,\n }}\n >\n <TamboRegistryProvider mcpServers={[{ url: \"https://ok.example\" }]}>\n <TamboMcpTokenProvider>\n <TamboMcpProvider>\n <Capture />\n </TamboMcpProvider>\n </TamboMcpTokenProvider>\n </TamboRegistryProvider>\n </TamboClientContext.Provider>,\n );\n\n await waitFor(() => {\n expect(latest.length).toBe(1);\n expect(\"client\" in latest[0]).toBe(true);\n expect((latest[0] as any).client).toBe(fakeClient);\n // no connectionError on connected server\n expect((latest[0] as any).connectionError).toBeUndefined();\n });\n });\n\n it(\"marks a failed server with a connectionError and no client\", async () => {\n const boom = new Error(\"boom\");\n createImpl.mockRejectedValue(boom);\n\n let latest: McpServer[] = [];\n const Capture: React.FC = () => {\n const servers = useTamboMcpServers();\n useEffect(() => {\n latest = servers;\n }, [servers]);\n return null;\n };\n\n render(\n <TamboClientContext.Provider\n value={{\n client: { baseURL: \"https://api.tambo.co\" } as any,\n queryClient: new QueryClient(),\n isUpdatingToken: false,\n }}\n >\n <TamboRegistryProvider mcpServers={[{ url: \"https://fail.example\" }]}>\n <TamboMcpTokenProvider>\n <TamboMcpProvider>\n <Capture />\n </TamboMcpProvider>\n </TamboMcpTokenProvider>\n </TamboRegistryProvider>\n </TamboClientContext.Provider>,\n );\n\n await waitFor(() => {\n expect(latest.length).toBe(1);\n expect(\"client\" in latest[0]).toBe(false);\n // @ts-expect-error narrowing at runtime\n expect(latest[0].connectionError).toBeInstanceOf(Error);\n // @ts-expect-error narrowing at runtime\n expect(latest[0].connectionError?.message).toBe(\"boom\");\n });\n });\n});\n"]}
@@ -1,15 +1,26 @@
1
+ import type { StandardSchemaV1 } from "@standard-schema/spec";
1
2
  import TamboAI from "@tambo-ai/typescript-sdk";
2
3
  import { JSONSchema7 } from "json-schema";
3
4
  import { ComponentType } from "react";
4
- import z from "zod";
5
- import type zodToJsonSchema from "zod-to-json-schema";
5
+ import { ZodFunction as Zod3Function, ZodTuple as Zod3FunctionArgs, ZodType as Zod3FunctionReturns, infer as Zod3Infer } from "zod/v3";
6
+ import { $ZodFunction as Zod4Function, $ZodFunctionArgs as Zod4FunctionArgs, $ZodType as Zod4FunctionReturns, infer as Zod4Infer } from "zod/v4/core";
7
+ /**
8
+ * A schema type that accepts either a Standard Schema compliant validator
9
+ * (e.g., Zod, Valibot, ArkType) or a raw JSON Schema object.
10
+ *
11
+ * Standard Schema is a specification that provides a unified interface for
12
+ * TypeScript validation libraries. Libraries like Zod implement this spec,
13
+ * allowing us to accept any compliant validator without depending on a specific library.
14
+ * @see https://standardschema.dev/
15
+ */
16
+ export type SupportedSchema = StandardSchemaV1 | JSONSchema7;
6
17
  /** Extension of the ToolParameters interface from Tambo AI to include JSONSchema definition */
7
18
  export type ParameterSpec = TamboAI.ToolParameters & {
8
- schema?: ReturnType<typeof zodToJsonSchema>;
19
+ schema?: JSONSchema7;
9
20
  };
10
21
  /**
11
22
  * Extends the base ContextTool interface from Tambo AI to include schema information
12
- * for parameter validation using zod-to-json-schema.
23
+ * for parameter validation.
13
24
  */
14
25
  export interface ComponentContextToolMetadata extends TamboAI.ComponentContextToolMetadata {
15
26
  parameters: ParameterSpec[];
@@ -23,29 +34,229 @@ export interface RegisteredComponent extends TamboAI.AvailableComponent {
23
34
  loadingComponent?: ComponentType<any>;
24
35
  }
25
36
  export type ComponentRegistry = Record<string, RegisteredComponent>;
26
- export type TamboToolRegistry = Record<string, TamboTool>;
37
+ export type TamboToolRegistry = Record<string, TamboTool | TamboToolWithToolSchema>;
27
38
  /**
28
39
  * A JSON Schema that is compatible with the MCP.
29
- * This is a simplified JSON Schema that is compatible with the MCPClient and the toolSchema.
40
+ * This is a simplified JSON Schema that is compatible with the MCPClient and the tool's inputSchema.
30
41
  *
31
42
  * Do not export this type from the SDK.
32
43
  */
33
- export type JSONSchemaLite = ReturnType<typeof zodToJsonSchema> & {
44
+ export type JSONSchemaLite = JSONSchema7 & {
34
45
  description?: string;
35
46
  };
36
- export interface TamboTool<Args extends z.ZodTuple<any, any> = z.ZodTuple<any, any>, Returns extends z.ZodTypeAny = z.ZodTypeAny> {
47
+ type MaybeAsync<T> = T | Promise<T>;
48
+ /**
49
+ * TamboTool is a type that represents a tool that can be registered with Tambo.
50
+ *
51
+ * It is preferable to use the `defineTool` helper function to create tools, as
52
+ * it provides better type inference and safety.
53
+ * @example
54
+ * ```ts
55
+ * import { TamboTool, defineTool } from "@tambo-ai/react";
56
+ * import { z } from "zod";
57
+ *
58
+ * const locationToLatLon = defineTool({
59
+ * name: "location_to_latlon",
60
+ * description:
61
+ * "Fetch latitude and longitude from a location string. Returns an object with 'lat' and 'lon' properties.",
62
+ * tool: async ({ location }) => getLatLonFromLocation(location),
63
+ * inputSchema: z.object({
64
+ * location: z.string(),
65
+ * }),
66
+ * outputSchema: z.object({
67
+ * lat: z.number(),
68
+ * lon: z.number(),
69
+ * }),
70
+ * });
71
+ * ```
72
+ * Alternatively, you manually construct a TamboTool with type safety by passing
73
+ * the expected parameter and return types as generics:
74
+ * ```ts
75
+ * import { TamboTool } from "@tambo-ai/react";
76
+ * import { z } from "zod";
77
+ *
78
+ * const locationToLatLon: TamboTool<{ location: string }, { lat: number; lon: number }> = {
79
+ * name: "location_to_latlon",
80
+ * description:
81
+ * "Fetch latitude and longitude from a location string. Returns an object with 'lat' and 'lon' properties.",
82
+ * tool: async ({ location }) => getLatLonFromLocation(location),
83
+ * inputSchema: z.object({
84
+ * location: z.string(),
85
+ * }),
86
+ * outputSchema: z.object({
87
+ * lat: z.number(),
88
+ * lon: z.number(),
89
+ * }),
90
+ * });
91
+ * ```
92
+ */
93
+ export interface TamboTool<Params = any, Returns = any, Rest extends any[] = []> {
94
+ /**
95
+ * Unique identifier for the tool
96
+ */
37
97
  name: string;
98
+ /**
99
+ * Description of what the tool does - used by AI to determine when to use it
100
+ */
38
101
  description: string;
39
- tool: (...args: z.infer<Args>) => z.infer<Returns>;
40
- toolSchema: z.ZodFunction<Args, Returns> | JSONSchemaLite;
102
+ /**
103
+ * Optional human-readable name of the tool for display purposes.
104
+ */
105
+ title?: string;
106
+ /**
107
+ * Optional properties describing tool behavior
108
+ */
109
+ annotations?: {
110
+ /**
111
+ * An array indicating the intended audience(s) for this resource. Valid
112
+ * values are "user" and "assistant". For example, ["user", "assistant"]
113
+ * indicates content useful for both.
114
+ */
115
+ audience: ("user" | "assistant")[];
116
+ /**
117
+ * A number from 0.0 to 1.0 indicating the importance of this resource. A
118
+ * value of 1 means "most important" (effectively required), while 0 means
119
+ * "least important" (entirely optional).
120
+ */
121
+ priority: number;
122
+ /**
123
+ * An ISO 8601 formatted timestamp indicating when the resource was last
124
+ * modified (e.g., "2025-01-12T15:00:58Z").
125
+ */
126
+ lastModified: string;
127
+ };
128
+ /**
129
+ * The function that implements the tool's logic. This function will be called
130
+ * by Tambo when the model decides to invoke the tool.
131
+ * @param params - The input parameters for the tool. These are validated
132
+ * against the inputSchema before being passed so are guaranteed to be correct
133
+ * when called by the model.
134
+ * @returns The result of the tool execution, which can be a value or a
135
+ * Promise resolving to a value
136
+ */
137
+ tool: (params: Params, ...rest: Rest) => MaybeAsync<Returns>;
138
+ /**
139
+ * The schema for the tool's input parameters. This can be a validator from
140
+ * any Standard Schema compliant library (Zod, Valibot, ArkType, etc.) or a
141
+ * raw JSON Schema object.
142
+ *
143
+ * This schema is used to validate and parse the parameters before passing
144
+ * them to the tool function.
145
+ */
146
+ inputSchema: SupportedSchema | unknown;
147
+ /**
148
+ * The schema for the tool's output/return value. This can be any Standard Schema
149
+ * compliant validator (Zod, Valibot, ArkType, etc.) or a raw JSON Schema object.
150
+ *
151
+ * This is used to inform the model about the structure of the tool's return value
152
+ * and is not used for runtime validation at this stage.
153
+ */
154
+ outputSchema: SupportedSchema | unknown;
41
155
  /**
42
156
  * Optional function to transform the tool's return value into an array of content parts.
43
157
  * If not provided, the return value will be converted to a string and wrapped in a text content part.
44
158
  * @param result - The result returned by the tool function
45
159
  * @returns An array of content parts to be sent back to the AI
46
160
  */
47
- transformToContent?: (result: z.infer<Returns>) => Promise<TamboAI.Beta.Threads.ChatCompletionContentPart[]> | TamboAI.Beta.Threads.ChatCompletionContentPart[];
161
+ transformToContent?: (result: any) => Promise<TamboAI.Beta.Threads.ChatCompletionContentPart[]> | TamboAI.Beta.Threads.ChatCompletionContentPart[];
48
162
  }
163
+ /**
164
+ * Simplified interface for tools using the deprecated toolSchema format.
165
+ * This interface uses simple `any` types to avoid complex type instantiation.
166
+ * Use `defineTamboTool()` for full type inference when creating tools.
167
+ * @deprecated Use TamboTool with `inputSchema`/`outputSchema` instead.
168
+ */
169
+ export type TamboToolWithToolSchema<Args extends any[] = any[], Returns = any> = Omit<TamboTool, "tool" | "inputSchema" | "outputSchema"> & {
170
+ tool: (...args: Args) => MaybeAsync<Returns>;
171
+ /** @deprecated Use `inputSchema`/`outputSchema` properties instead. */
172
+ toolSchema: unknown;
173
+ };
174
+ /**
175
+ * TamboTool is a type that represents a tool that can be registered with Tambo.
176
+ *
177
+ * It is preferable to use the `defineTool` helper function to create tools, as
178
+ * it provides better type inference and safety.
179
+ * @example
180
+ * ```ts
181
+ * import { TamboTool, defineTool } from "@tambo-ai/react";
182
+ * import { z } from "zod";
183
+ *
184
+ * const locationToLatLon = defineTool({
185
+ * name: "location_to_latlon",
186
+ * description:
187
+ * "Fetch latitude and longitude from a location string. Returns an object with 'lat' and 'lon' properties.",
188
+ * tool: async ({ location }) => getLatLonFromLocation(location),
189
+ * inputSchema: z.object({
190
+ * location: z.string(),
191
+ * }),
192
+ * outputSchema: z.object({
193
+ * lat: z.number(),
194
+ * lon: z.number(),
195
+ * }),
196
+ * });
197
+ * ```
198
+ * Alternatively, you manually construct a TamboTool with type safety by passing
199
+ * the expected parameter and return types as generics:
200
+ * ```ts
201
+ * import { TamboTool } from "@tambo-ai/react";
202
+ * import { z } from "zod";
203
+ *
204
+ * const locationToLatLon: TamboTool<{ location: string }, { lat: number; lon: number }> = {
205
+ * name: "location_to_latlon",
206
+ * description:
207
+ * "Fetch latitude and longitude from a location string. Returns an object with 'lat' and 'lon' properties.",
208
+ * tool: async ({ location }) => getLatLonFromLocation(location),
209
+ * inputSchema: z.object({
210
+ * location: z.string(),
211
+ * }),
212
+ * outputSchema: z.object({
213
+ * lat: z.number(),
214
+ * lon: z.number(),
215
+ * }),
216
+ * });
217
+ * ```
218
+ */
219
+ export type TamboToolBase<Params = any, Returns = any> = TamboToolWithToolSchema | TamboTool<Params, Returns>;
220
+ /**
221
+ * A tool that uses JSON Schema compliant input and output schemas.
222
+ * This does not provide type safety for the tool's parameters and return value.
223
+ * @internal
224
+ */
225
+ export type TamboToolJSONSchema<Args extends unknown[] = unknown[], Returns = unknown> = Omit<TamboTool<Args, Returns>, "tool" | "inputSchema" | "outputSchema"> & {
226
+ tool: (...args: Args) => MaybeAsync<Returns>;
227
+ inputSchema: JSONSchemaLite;
228
+ outputSchema: JSONSchemaLite;
229
+ };
230
+ /**
231
+ * A tool that could not be matched to any known schema types.
232
+ * This means type safety cannot be guaranteed.
233
+ * @internal
234
+ */
235
+ export type TamboToolUnknown = Omit<TamboTool, "tool" | "inputSchema" | "outputSchema"> & {
236
+ tool: (...args: unknown[]) => MaybeAsync<unknown>;
237
+ inputSchema: unknown;
238
+ outputSchema: unknown;
239
+ };
240
+ /**
241
+ * A tool that uses Standard Schema compliant input and output schemas.
242
+ * This provides full type safety for the tool's parameters and return value.
243
+ * @internal
244
+ */
245
+ export type TamboToolStandardSchema<Input extends StandardSchemaV1 = StandardSchemaV1, Output extends StandardSchemaV1 = StandardSchemaV1> = Omit<TamboTool<StandardSchemaV1.InferOutput<Input>, StandardSchemaV1.InferOutput<Output>>, "tool" | "inputSchema" | "outputSchema"> & {
246
+ tool: (...args: [StandardSchemaV1.InferOutput<Input>]) => MaybeAsync<StandardSchemaV1.InferOutput<Output>>;
247
+ inputSchema: Input;
248
+ outputSchema: Output;
249
+ };
250
+ type TamboToolZod3Function<Args extends Zod3FunctionArgs, Returns extends Zod3FunctionReturns> = Omit<TamboToolWithToolSchema<Zod3Infer<Args>, Zod3Infer<Returns>>, "toolSchema"> & {
251
+ tool: (...args: Zod3Infer<Args>) => MaybeAsync<Zod3Infer<Returns>>;
252
+ /** @deprecated Use `inputSchema`/`outputSchema` properties instead. */
253
+ toolSchema: Zod3Function<Args, Returns>;
254
+ };
255
+ type TamboToolZod4Function<Args extends Zod4FunctionArgs, Returns extends Zod4FunctionReturns> = Omit<TamboToolWithToolSchema<Zod4Infer<Args>, Zod4Infer<Returns>>, "toolSchema"> & {
256
+ tool: (...args: Zod4Infer<Args>) => MaybeAsync<Zod4Infer<Returns>>;
257
+ /** @deprecated Use `inputSchema`/`outputSchema` properties instead. */
258
+ toolSchema: Zod4Function<Args, Returns>;
259
+ };
49
260
  export type TamboToolAssociations = Record<string, string[]>;
50
261
  /**
51
262
  * A component that can be registered with the TamboRegistryProvider.
@@ -76,10 +287,27 @@ export interface TamboComponent {
76
287
  */
77
288
  component: ComponentType<any>;
78
289
  /**
79
- * A zod schema for the component props. (Recommended)
290
+ * Schema describing the component's props. Accepts any Standard Schema
291
+ * compliant validator (Zod, Valibot, ArkType, etc.) or a raw JSON Schema
292
+ * object.
293
+ *
80
294
  * Either this or propsDefinition must be provided, but not both.
295
+ * @example
296
+ * ```typescript
297
+ * import { z } from "zod/v4";
298
+ *
299
+ * const component: TamboComponent = {
300
+ * name: "MyComponent",
301
+ * description: "A sample component",
302
+ * component: MyComponent,
303
+ * propsSchema: z.object({
304
+ * title: z.string(),
305
+ * count: z.number().optional()
306
+ * })
307
+ * };
308
+ * ```
81
309
  */
82
- propsSchema?: z.ZodTypeAny | JSONSchema7;
310
+ propsSchema?: SupportedSchema;
83
311
  /**
84
312
  * The props definition of the component as a JSON object.
85
313
  * Either this or propsSchema must be provided, but not both.
@@ -89,6 +317,208 @@ export interface TamboComponent {
89
317
  /** The loading component to render while the component is loading */
90
318
  loadingComponent?: ComponentType<any>;
91
319
  /** The tools that are associated with the component */
92
- associatedTools?: TamboTool[];
320
+ associatedTools?: (TamboTool | TamboToolWithToolSchema)[];
321
+ }
322
+ export interface RegisterToolsFn {
323
+ /**
324
+ * Registers one or more Tambo tools.
325
+ * @param tools - An array of Tambo tools to register
326
+ */
327
+ (tools: TamboTool[]): void;
328
+ (tools: (TamboTool | TamboToolWithToolSchema)[]): void;
329
+ }
330
+ /**
331
+ * Function interface for registering a Tambo tool with full type inference.
332
+ * This function has multiple overloads to handle different schema types. This
333
+ * is a utility function and does not perform any runtime logic.
334
+ */
335
+ export interface RegisterToolFn {
336
+ /**
337
+ * @deprecated Use `inputSchema`/`outputSchema` instead. toolSchema is deprecated
338
+ * and will be removed in future versions.
339
+ * @example
340
+ * ```diff
341
+ * import { z } from "zod/v3";
342
+ * const myTool = defineTamboTool({
343
+ * ...
344
+ * - toolSchema: z.function()
345
+ * - .arguments(z.tuple([z.string()]))
346
+ * - .returns(z.number()),
347
+ * + inputSchema: z.object({
348
+ * + input: z.string().describe("Input description")
349
+ * + }),
350
+ * + outputSchema: z.number().describe("Result description"),
351
+ * });
352
+ */
353
+ <Args extends Zod3FunctionArgs, Returns extends Zod3FunctionReturns>(tool: TamboToolZod3Function<Args, Returns>, warnOnOverwrite?: boolean): void;
354
+ /**
355
+ * @deprecated Use `inputSchema`/`outputSchema` instead. toolSchema is deprecated
356
+ * and will be removed in future versions.
357
+ * @example
358
+ * ```diff
359
+ * import { z } from "zod/v4";
360
+ * const myTool = defineTamboTool({
361
+ * ...
362
+ * - toolSchema: z.function({
363
+ * - input: z.tuple([z.string()]),
364
+ * - output: z.number(),
365
+ * - }),
366
+ * + inputSchema: z.object({
367
+ * + input: z.string().describe("Input description")
368
+ * + }),
369
+ * + outputSchema: z.number().describe("Result description"),
370
+ * });
371
+ */
372
+ <Args extends Zod4FunctionArgs, Returns extends Zod4FunctionReturns>(tool: TamboToolZod4Function<Args, Returns>, warnOnOverwrite?: boolean): void;
373
+ (tool: TamboToolWithToolSchema, warnOnOverwrite?: boolean): void;
374
+ <Args extends StandardSchemaV1, Returns extends StandardSchemaV1>(tool: TamboTool<StandardSchemaV1.InferOutput<Args>, StandardSchemaV1.InferOutput<Returns>>, warnOnOverwrite?: boolean): void;
375
+ <Args extends any[], Returns = any>(tool: TamboToolJSONSchema<Args, Returns>, warnOnOverwrite?: boolean): void;
376
+ (tool: TamboToolUnknown, warnOnOverwrite?: boolean): void;
377
+ (tool: TamboTool, warnOnOverwrite?: boolean): void;
378
+ }
379
+ /**
380
+ * Function interface for defining a Tambo tool with full type inference. This
381
+ * function has multiple overloads to handle different schema types. This is a
382
+ * utility function and does not perform any runtime logic.
383
+ */
384
+ export interface DefineToolFn {
385
+ /**
386
+ * Provides type safety for defining a Tambo Tool.
387
+ *
388
+ * Tambo uses the [standard-schema.dev](https://standard-schema.dev) spec which means you can use any Standard Schema
389
+ * compliant validator (Zod, Valibot, ArkType, etc.). This definition ensures the input and output types are correctly
390
+ * inferred from the provided schemas.
391
+ * @example
392
+ * ```typescript
393
+ * import { z } from "zod/v4";
394
+ *
395
+ * const myTool = defineTamboTool({
396
+ * // ...
397
+ * inputSchema: z.object({
398
+ * input: z.string().describe("Input description")
399
+ * }),
400
+ * outputSchema: z.number().describe("Result description"),
401
+ * });
402
+ * ```
403
+ * @see {@link https://standard-schema.dev/}
404
+ * @param tool The tool definition to register
405
+ * @returns The registered tool definition
406
+ */
407
+ <Input extends StandardSchemaV1, Output extends StandardSchemaV1>(tool: TamboToolStandardSchema<Input, Output>): TamboTool<StandardSchemaV1.InferOutput<Input>, StandardSchemaV1.InferOutput<Output>>;
408
+ /**
409
+ * Provides type safety for defining a Tambo Tool.
410
+ *
411
+ * This tool uses the deprecated `toolSchema` format which uses a zod function schema. If you are using a validation
412
+ * library that implements StandardSchema.dev, please switch to using separate `inputSchema` and `outputSchema`
413
+ * properties instead. See example below.
414
+ * @example
415
+ * ```diff
416
+ * import { z } from "zod/v4";
417
+ *
418
+ * const myTool = defineTamboTool({
419
+ * // ...
420
+ * - toolSchema: z.function({
421
+ * - input: z.tuple([z.string()]),
422
+ * - output: z.number(),
423
+ * - })
424
+ * + inputSchema: z.object({
425
+ * + input: z.string().describe("Input description")
426
+ * + }),
427
+ * + outputSchema: z.number().describe("Result description"),
428
+ * });
429
+ * @see {@link https://standard-schema.dev/}
430
+ * @param tool The tool definition to register
431
+ * @returns The registered tool definition
432
+ * @deprecated Using `toolSchema` is deprecated. Please use separate `inputSchema` and `outputSchema` properties instead.
433
+ * Note that use of `toolSchema` will be removed in a future release.
434
+ * ```
435
+ */
436
+ <Args extends Zod3FunctionArgs, Returns extends Zod3FunctionReturns>(tool: TamboToolZod3Function<Args, Returns>): TamboToolZod3Function<Args, Returns>;
437
+ /**
438
+ * Provides type safety for defining a Tambo Tool.
439
+ *
440
+ * This tool uses the deprecated `toolSchema` format which uses a zod function schema. If you are using a validation
441
+ * library that implements standard-schema.dev, please switch to using separate `inputSchema` and `outputSchema`
442
+ * properties instead. See example below.
443
+ * @param tool The tool definition to register
444
+ * @returns The registered tool definition
445
+ * @deprecated Using `toolSchema` is deprecated. Please use separate `inputSchema` and `outputSchema` properties instead.
446
+ * Note that use of `toolSchema` will be removed in a future release.
447
+ * @example
448
+ * ```diff
449
+ * import { z } from "zod/v4";
450
+ *
451
+ * const myTool = defineTamboTool({
452
+ * // ...
453
+ * - toolSchema: z.function({
454
+ * - input: z.tuple([z.string()]),
455
+ * - output: z.number(),
456
+ * - })
457
+ * + inputSchema: z.object({
458
+ * + input: z.string().describe("Input description")
459
+ * + }),
460
+ * + outputSchema: z.number().describe("Result description"),
461
+ * });
462
+ * ```
463
+ */
464
+ <Args extends Zod4FunctionArgs, Returns extends Zod4FunctionReturns>(tool: TamboToolZod4Function<Args, Returns>): TamboToolZod4Function<Args, Returns>;
465
+ /**
466
+ * Provides type safety for defining a Tambo Tool.
467
+ *
468
+ * This tool uses the deprecated `toolSchema` property which uses a zod function schema. If you are using a validation
469
+ * library that implements standard-schema.dev, please switch to using separate `inputSchema` and `outputSchema`
470
+ * properties instead. See example below.
471
+ * @param tool The tool definition to register
472
+ * @returns The registered tool definition
473
+ * @deprecated Using `toolSchema` is deprecated. Please use separate `inputSchema` and `outputSchema` properties instead.
474
+ * Note that use of `toolSchema` will be removed in a future release.
475
+ * @example
476
+ * ```diff
477
+ * import { z } from "zod/v4";
478
+ *
479
+ * const myTool = defineTamboTool({
480
+ * // ...
481
+ * - toolSchema: { ... }
482
+ * + inputSchema: z.object({ ... }),
483
+ * + outputSchema: z.number(),
484
+ * });
485
+ * ```
486
+ */
487
+ (tool: TamboToolWithToolSchema): TamboToolWithToolSchema;
488
+ /**
489
+ * Provides type safety for defining a Tambo Tool.
490
+ *
491
+ * This tool definition matched to JSON Schema input and output schemas which allows does not guarantee type
492
+ * safety. If you are using a validation library that implements
493
+ * [Standard Schema](https://standardschema.dev/#what-tools-frameworks-accept-speccompliant-schemas), please ensure
494
+ * your schemas are correctly typed.
495
+ * @see {@link https://standard-schema.dev/}
496
+ * @param tool The tool definition to register
497
+ * @returns The registered tool definition
498
+ */
499
+ <I extends any[], O = any>(tool: TamboToolJSONSchema<I, O>): TamboToolJSONSchema<I, O>;
500
+ /**
501
+ * Provides type safety for defining a Tambo Tool.
502
+ *
503
+ * This tool definition could not be matched to any known schema types which means type safety cannot be
504
+ * guaranteed. If you are using a validation library that implements
505
+ * [Standard Schema](https://standardschema.dev/#what-tools-frameworks-accept-speccompliant-schemas), please ensure
506
+ * your schemas are correctly typed.
507
+ * @example
508
+ * ```typescript
509
+ * const myTool = defineTamboTool({
510
+ * name: "myTool",
511
+ * description: "An example tool",
512
+ * tool: (input) => { ... },
513
+ * inputSchema: yourInputSchema,
514
+ * outputSchema: yourOutputSchema,
515
+ * });
516
+ * @param tool The tool definition to register
517
+ * @returns The registered tool definition
518
+ * ```
519
+ */
520
+ (tool: TamboToolUnknown): TamboToolUnknown;
521
+ (tool: TamboTool): TamboTool;
93
522
  }
523
+ export {};
94
524
  //# sourceMappingURL=component-metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-metadata.d.ts","sourceRoot":"","sources":["../../src/model/component-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,eAAe,MAAM,oBAAoB,CAAC;AACtD,+FAA+F;AAC/F,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG;IACnD,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;CAC7C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,4BACf,SAAQ,OAAO,CAAC,4BAA4B;IAC5C,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACtD,UAAU,EAAE,4BAA4B,CAAC;CAC1C;AAED,MAAM,WAAW,mBAAoB,SAAQ,OAAO,CAAC,kBAAkB;IACrE,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,gBAAgB,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CACvC;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEpE,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,SAAS,CACxB,IAAI,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EACxD,OAAO,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU;IAE3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC;IAC1D;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAEtB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,GACzD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;CACtD;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7D;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAE9B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC;IACzC;;;;OAIG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,uDAAuD;IACvD,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;CAC/B"}
1
+ {"version":3,"file":"component-metadata.d.ts","sourceRoot":"","sources":["../../src/model/component-metadata.ts"],"names":[],"mappings":"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"}