@tambo-ai/react 0.64.1 → 0.65.1

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 (130) hide show
  1. package/README.md +304 -327
  2. package/dist/hooks/use-tambo-threads.d.ts +0 -12
  3. package/dist/hooks/use-tambo-threads.d.ts.map +1 -1
  4. package/dist/hooks/use-tambo-threads.js.map +1 -1
  5. package/dist/index.d.ts +3 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +6 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/mcp/__tests__/elicitation.test.js +7 -3
  10. package/dist/mcp/__tests__/elicitation.test.js.map +1 -1
  11. package/dist/mcp/__tests__/mcp-hooks.test.js +149 -123
  12. package/dist/mcp/__tests__/mcp-hooks.test.js.map +1 -1
  13. package/dist/mcp/__tests__/tambo-mcp-provider.test.js +176 -120
  14. package/dist/mcp/__tests__/tambo-mcp-provider.test.js.map +1 -1
  15. package/dist/mcp/__tests__/use-mcp-servers.test.js +12 -9
  16. package/dist/mcp/__tests__/use-mcp-servers.test.js.map +1 -1
  17. package/dist/mcp/elicitation.d.ts +4 -40
  18. package/dist/mcp/elicitation.d.ts.map +1 -1
  19. package/dist/mcp/elicitation.js +1 -1
  20. package/dist/mcp/elicitation.js.map +1 -1
  21. package/dist/mcp/index.d.ts +2 -1
  22. package/dist/mcp/index.d.ts.map +1 -1
  23. package/dist/mcp/index.js +2 -1
  24. package/dist/mcp/index.js.map +1 -1
  25. package/dist/mcp/mcp-client.d.ts +14 -26
  26. package/dist/mcp/mcp-client.d.ts.map +1 -1
  27. package/dist/mcp/mcp-client.js +4 -7
  28. package/dist/mcp/mcp-client.js.map +1 -1
  29. package/dist/mcp/mcp-hooks.d.ts +27 -78
  30. package/dist/mcp/mcp-hooks.d.ts.map +1 -1
  31. package/dist/mcp/tambo-mcp-provider.d.ts +27 -45
  32. package/dist/mcp/tambo-mcp-provider.d.ts.map +1 -1
  33. package/dist/mcp/tambo-mcp-provider.js +36 -87
  34. package/dist/mcp/tambo-mcp-provider.js.map +1 -1
  35. package/dist/model/mcp-server-info.d.ts +74 -0
  36. package/dist/model/mcp-server-info.d.ts.map +1 -0
  37. package/dist/model/mcp-server-info.js +29 -0
  38. package/dist/model/mcp-server-info.js.map +1 -0
  39. package/dist/providers/__tests__/tambo-thread-provider-initial-messages.test.js +22 -8
  40. package/dist/providers/__tests__/tambo-thread-provider-initial-messages.test.js.map +1 -1
  41. package/dist/providers/__tests__/tambo-thread-provider.test.js +318 -129
  42. package/dist/providers/__tests__/tambo-thread-provider.test.js.map +1 -1
  43. package/dist/providers/index.d.ts +1 -1
  44. package/dist/providers/index.d.ts.map +1 -1
  45. package/dist/providers/index.js +2 -1
  46. package/dist/providers/index.js.map +1 -1
  47. package/dist/providers/tambo-client-provider.d.ts +4 -0
  48. package/dist/providers/tambo-client-provider.d.ts.map +1 -1
  49. package/dist/providers/tambo-client-provider.js +3 -0
  50. package/dist/providers/tambo-client-provider.js.map +1 -1
  51. package/dist/providers/tambo-mcp-token-provider.d.ts +3 -0
  52. package/dist/providers/tambo-mcp-token-provider.d.ts.map +1 -1
  53. package/dist/providers/tambo-mcp-token-provider.js +11 -3
  54. package/dist/providers/tambo-mcp-token-provider.js.map +1 -1
  55. package/dist/providers/tambo-provider.d.ts +1 -0
  56. package/dist/providers/tambo-provider.d.ts.map +1 -1
  57. package/dist/providers/tambo-provider.js +10 -5
  58. package/dist/providers/tambo-provider.js.map +1 -1
  59. package/dist/providers/tambo-registry-provider.d.ts +37 -0
  60. package/dist/providers/tambo-registry-provider.d.ts.map +1 -1
  61. package/dist/providers/tambo-registry-provider.js +162 -2
  62. package/dist/providers/tambo-registry-provider.js.map +1 -1
  63. package/dist/providers/tambo-stubs.d.ts.map +1 -1
  64. package/dist/providers/tambo-stubs.js +10 -1
  65. package/dist/providers/tambo-stubs.js.map +1 -1
  66. package/esm/hooks/use-tambo-threads.d.ts +0 -12
  67. package/esm/hooks/use-tambo-threads.d.ts.map +1 -1
  68. package/esm/hooks/use-tambo-threads.js.map +1 -1
  69. package/esm/index.d.ts +3 -1
  70. package/esm/index.d.ts.map +1 -1
  71. package/esm/index.js +3 -2
  72. package/esm/index.js.map +1 -1
  73. package/esm/mcp/__tests__/elicitation.test.js +8 -4
  74. package/esm/mcp/__tests__/elicitation.test.js.map +1 -1
  75. package/esm/mcp/__tests__/mcp-hooks.test.js +149 -123
  76. package/esm/mcp/__tests__/mcp-hooks.test.js.map +1 -1
  77. package/esm/mcp/__tests__/tambo-mcp-provider.test.js +178 -122
  78. package/esm/mcp/__tests__/tambo-mcp-provider.test.js.map +1 -1
  79. package/esm/mcp/__tests__/use-mcp-servers.test.js +12 -9
  80. package/esm/mcp/__tests__/use-mcp-servers.test.js.map +1 -1
  81. package/esm/mcp/elicitation.d.ts +4 -40
  82. package/esm/mcp/elicitation.d.ts.map +1 -1
  83. package/esm/mcp/elicitation.js +2 -2
  84. package/esm/mcp/elicitation.js.map +1 -1
  85. package/esm/mcp/index.d.ts +2 -1
  86. package/esm/mcp/index.d.ts.map +1 -1
  87. package/esm/mcp/index.js +1 -1
  88. package/esm/mcp/index.js.map +1 -1
  89. package/esm/mcp/mcp-client.d.ts +14 -26
  90. package/esm/mcp/mcp-client.d.ts.map +1 -1
  91. package/esm/mcp/mcp-client.js +3 -5
  92. package/esm/mcp/mcp-client.js.map +1 -1
  93. package/esm/mcp/mcp-hooks.d.ts +27 -78
  94. package/esm/mcp/mcp-hooks.d.ts.map +1 -1
  95. package/esm/mcp/tambo-mcp-provider.d.ts +27 -45
  96. package/esm/mcp/tambo-mcp-provider.d.ts.map +1 -1
  97. package/esm/mcp/tambo-mcp-provider.js +35 -86
  98. package/esm/mcp/tambo-mcp-provider.js.map +1 -1
  99. package/esm/model/mcp-server-info.d.ts +74 -0
  100. package/esm/model/mcp-server-info.d.ts.map +1 -0
  101. package/esm/model/mcp-server-info.js +25 -0
  102. package/esm/model/mcp-server-info.js.map +1 -0
  103. package/esm/providers/__tests__/tambo-thread-provider-initial-messages.test.js +23 -9
  104. package/esm/providers/__tests__/tambo-thread-provider-initial-messages.test.js.map +1 -1
  105. package/esm/providers/__tests__/tambo-thread-provider.test.js +319 -130
  106. package/esm/providers/__tests__/tambo-thread-provider.test.js.map +1 -1
  107. package/esm/providers/index.d.ts +1 -1
  108. package/esm/providers/index.d.ts.map +1 -1
  109. package/esm/providers/index.js +1 -1
  110. package/esm/providers/index.js.map +1 -1
  111. package/esm/providers/tambo-client-provider.d.ts +4 -0
  112. package/esm/providers/tambo-client-provider.d.ts.map +1 -1
  113. package/esm/providers/tambo-client-provider.js +3 -0
  114. package/esm/providers/tambo-client-provider.js.map +1 -1
  115. package/esm/providers/tambo-mcp-token-provider.d.ts +3 -0
  116. package/esm/providers/tambo-mcp-token-provider.d.ts.map +1 -1
  117. package/esm/providers/tambo-mcp-token-provider.js +13 -5
  118. package/esm/providers/tambo-mcp-token-provider.js.map +1 -1
  119. package/esm/providers/tambo-provider.d.ts +1 -0
  120. package/esm/providers/tambo-provider.d.ts.map +1 -1
  121. package/esm/providers/tambo-provider.js +11 -6
  122. package/esm/providers/tambo-provider.js.map +1 -1
  123. package/esm/providers/tambo-registry-provider.d.ts +37 -0
  124. package/esm/providers/tambo-registry-provider.d.ts.map +1 -1
  125. package/esm/providers/tambo-registry-provider.js +161 -2
  126. package/esm/providers/tambo-registry-provider.js.map +1 -1
  127. package/esm/providers/tambo-stubs.d.ts.map +1 -1
  128. package/esm/providers/tambo-stubs.js +10 -1
  129. package/esm/providers/tambo-stubs.js.map +1 -1
  130. package/package.json +6 -6
@@ -84,19 +84,21 @@ describe("useTamboMcpPromptList - individual server caching", () => {
84
84
  client: { baseURL: "https://api.tambo.co" },
85
85
  queryClient,
86
86
  isUpdatingToken: false,
87
+ mcpAccessToken: null,
88
+ setMcpAccessToken: () => { },
87
89
  } },
88
- React.createElement(TamboRegistryProvider, null,
90
+ React.createElement(TamboRegistryProvider, { mcpServers: [
91
+ {
92
+ url: "https://server-a.example",
93
+ transport: MCPTransport.SSE,
94
+ },
95
+ {
96
+ url: "https://server-b.example",
97
+ transport: MCPTransport.SSE,
98
+ },
99
+ ] },
89
100
  React.createElement(TamboMcpTokenProvider, null,
90
- React.createElement(TamboMcpProvider, { mcpServers: [
91
- {
92
- url: "https://server-a.example",
93
- transport: MCPTransport.SSE,
94
- },
95
- {
96
- url: "https://server-b.example",
97
- transport: MCPTransport.SSE,
98
- },
99
- ] },
101
+ React.createElement(TamboMcpProvider, null,
100
102
  React.createElement(Capture, null))))));
101
103
  // Wait for all prompts to be loaded
102
104
  await waitFor(() => {
@@ -169,19 +171,21 @@ describe("useTamboMcpPromptList - individual server caching", () => {
169
171
  client: { baseURL: "https://api.tambo.co" },
170
172
  queryClient,
171
173
  isUpdatingToken: false,
174
+ mcpAccessToken: null,
175
+ setMcpAccessToken: () => { },
172
176
  } },
173
- React.createElement(TamboRegistryProvider, null,
177
+ React.createElement(TamboRegistryProvider, { mcpServers: [
178
+ {
179
+ url: "https://server-a.example",
180
+ transport: MCPTransport.SSE,
181
+ },
182
+ {
183
+ url: "https://server-b.example",
184
+ transport: MCPTransport.SSE,
185
+ },
186
+ ] },
174
187
  React.createElement(TamboMcpTokenProvider, null,
175
- React.createElement(TamboMcpProvider, { mcpServers: [
176
- {
177
- url: "https://server-a.example",
178
- transport: MCPTransport.SSE,
179
- },
180
- {
181
- url: "https://server-b.example",
182
- transport: MCPTransport.SSE,
183
- },
184
- ] },
188
+ React.createElement(TamboMcpProvider, null,
185
189
  React.createElement(Capture, null))))));
186
190
  // Wait for initial prompts to be loaded
187
191
  await waitFor(() => {
@@ -197,15 +201,17 @@ describe("useTamboMcpPromptList - individual server caching", () => {
197
201
  client: { baseURL: "https://api.tambo.co" },
198
202
  queryClient,
199
203
  isUpdatingToken: false,
204
+ mcpAccessToken: null,
205
+ setMcpAccessToken: () => { },
200
206
  } },
201
- React.createElement(TamboRegistryProvider, null,
207
+ React.createElement(TamboRegistryProvider, { mcpServers: [
208
+ {
209
+ url: "https://server-a.example",
210
+ transport: MCPTransport.SSE,
211
+ },
212
+ ] },
202
213
  React.createElement(TamboMcpTokenProvider, null,
203
- React.createElement(TamboMcpProvider, { mcpServers: [
204
- {
205
- url: "https://server-a.example",
206
- transport: MCPTransport.SSE,
207
- },
208
- ] },
214
+ React.createElement(TamboMcpProvider, null,
209
215
  React.createElement(Capture, null))))));
210
216
  // Wait for prompts to be updated (server B prompts should disappear)
211
217
  // When only 1 server remains, prompts should NOT be prefixed
@@ -272,19 +278,21 @@ describe("useTamboMcpPromptList - individual server caching", () => {
272
278
  client: { baseURL: "https://api.tambo.co" },
273
279
  queryClient,
274
280
  isUpdatingToken: false,
281
+ mcpAccessToken: null,
282
+ setMcpAccessToken: () => { },
275
283
  } },
276
- React.createElement(TamboRegistryProvider, null,
284
+ React.createElement(TamboRegistryProvider, { mcpServers: [
285
+ {
286
+ url: "https://server-a.example",
287
+ transport: MCPTransport.SSE,
288
+ },
289
+ {
290
+ url: "https://server-b.example",
291
+ transport: MCPTransport.SSE,
292
+ },
293
+ ] },
277
294
  React.createElement(TamboMcpTokenProvider, null,
278
- React.createElement(TamboMcpProvider, { mcpServers: [
279
- {
280
- url: "https://server-a.example",
281
- transport: MCPTransport.SSE,
282
- },
283
- {
284
- url: "https://server-b.example",
285
- transport: MCPTransport.SSE,
286
- },
287
- ] },
295
+ React.createElement(TamboMcpProvider, null,
288
296
  React.createElement(Capture, null))))));
289
297
  // Wait for prompts to be loaded
290
298
  await waitFor(() => {
@@ -352,19 +360,21 @@ describe("useTamboMcpPromptList - individual server caching", () => {
352
360
  client: { baseURL: "https://api.tambo.co" },
353
361
  queryClient,
354
362
  isUpdatingToken: false,
363
+ mcpAccessToken: null,
364
+ setMcpAccessToken: () => { },
355
365
  } },
356
- React.createElement(TamboRegistryProvider, null,
366
+ React.createElement(TamboRegistryProvider, { mcpServers: [
367
+ {
368
+ url: "https://server-a.example",
369
+ transport: MCPTransport.SSE,
370
+ },
371
+ {
372
+ url: "https://server-b.example",
373
+ transport: MCPTransport.SSE,
374
+ },
375
+ ] },
357
376
  React.createElement(TamboMcpTokenProvider, null,
358
- React.createElement(TamboMcpProvider, { mcpServers: [
359
- {
360
- url: "https://server-a.example",
361
- transport: MCPTransport.SSE,
362
- },
363
- {
364
- url: "https://server-b.example",
365
- transport: MCPTransport.SSE,
366
- },
367
- ] },
377
+ React.createElement(TamboMcpProvider, null,
368
378
  React.createElement(Capture, null))))));
369
379
  // Wait for server A prompts to be loaded
370
380
  // Server B should fail but not block server A
@@ -425,15 +435,17 @@ describe("useTamboMcpPromptList - individual server caching", () => {
425
435
  client: { baseURL: "https://api.tambo.co" },
426
436
  queryClient,
427
437
  isUpdatingToken: false,
438
+ mcpAccessToken: null,
439
+ setMcpAccessToken: () => { },
428
440
  } },
429
- React.createElement(TamboRegistryProvider, null,
441
+ React.createElement(TamboRegistryProvider, { mcpServers: [
442
+ {
443
+ url: "https://server-a.example",
444
+ transport: MCPTransport.SSE,
445
+ },
446
+ ] },
430
447
  React.createElement(TamboMcpTokenProvider, null,
431
- React.createElement(TamboMcpProvider, { mcpServers: [
432
- {
433
- url: "https://server-a.example",
434
- transport: MCPTransport.SSE,
435
- },
436
- ] },
448
+ React.createElement(TamboMcpProvider, null,
437
449
  React.createElement(Capture, null))))));
438
450
  // Wait for initial prompts from server A
439
451
  await waitFor(() => {
@@ -445,19 +457,21 @@ describe("useTamboMcpPromptList - individual server caching", () => {
445
457
  client: { baseURL: "https://api.tambo.co" },
446
458
  queryClient,
447
459
  isUpdatingToken: false,
460
+ mcpAccessToken: null,
461
+ setMcpAccessToken: () => { },
448
462
  } },
449
- React.createElement(TamboRegistryProvider, null,
463
+ React.createElement(TamboRegistryProvider, { mcpServers: [
464
+ {
465
+ url: "https://server-a.example",
466
+ transport: MCPTransport.SSE,
467
+ },
468
+ {
469
+ url: "https://server-b.example",
470
+ transport: MCPTransport.SSE,
471
+ },
472
+ ] },
450
473
  React.createElement(TamboMcpTokenProvider, null,
451
- React.createElement(TamboMcpProvider, { mcpServers: [
452
- {
453
- url: "https://server-a.example",
454
- transport: MCPTransport.SSE,
455
- },
456
- {
457
- url: "https://server-b.example",
458
- transport: MCPTransport.SSE,
459
- },
460
- ] },
474
+ React.createElement(TamboMcpProvider, null,
461
475
  React.createElement(Capture, null))))));
462
476
  // Wait for server B prompts to be added
463
477
  // Now with 2 servers, prompts should be prefixed
@@ -557,19 +571,21 @@ describe("useTamboMcpResourceList - resource management", () => {
557
571
  client: { baseURL: "https://api.tambo.co" },
558
572
  queryClient,
559
573
  isUpdatingToken: false,
574
+ mcpAccessToken: null,
575
+ setMcpAccessToken: () => { },
560
576
  } },
561
- React.createElement(TamboRegistryProvider, null,
577
+ React.createElement(TamboRegistryProvider, { mcpServers: [
578
+ {
579
+ url: "https://server-a.example",
580
+ transport: MCPTransport.SSE,
581
+ },
582
+ {
583
+ url: "https://server-b.example",
584
+ transport: MCPTransport.SSE,
585
+ },
586
+ ] },
562
587
  React.createElement(TamboMcpTokenProvider, null,
563
- React.createElement(TamboMcpProvider, { mcpServers: [
564
- {
565
- url: "https://server-a.example",
566
- transport: MCPTransport.SSE,
567
- },
568
- {
569
- url: "https://server-b.example",
570
- transport: MCPTransport.SSE,
571
- },
572
- ] },
588
+ React.createElement(TamboMcpProvider, null,
573
589
  React.createElement(Capture, null))))));
574
590
  // Wait for all resources to be loaded
575
591
  await waitFor(() => {
@@ -623,15 +639,17 @@ describe("useTamboMcpResourceList - resource management", () => {
623
639
  client: { baseURL: "https://api.tambo.co" },
624
640
  queryClient,
625
641
  isUpdatingToken: false,
642
+ mcpAccessToken: null,
643
+ setMcpAccessToken: () => { },
626
644
  } },
627
- React.createElement(TamboRegistryProvider, null,
645
+ React.createElement(TamboRegistryProvider, { mcpServers: [
646
+ {
647
+ url: "https://server-a.example",
648
+ transport: MCPTransport.SSE,
649
+ },
650
+ ] },
628
651
  React.createElement(TamboMcpTokenProvider, null,
629
- React.createElement(TamboMcpProvider, { mcpServers: [
630
- {
631
- url: "https://server-a.example",
632
- transport: MCPTransport.SSE,
633
- },
634
- ] },
652
+ React.createElement(TamboMcpProvider, null,
635
653
  React.createElement(Capture, null))))));
636
654
  await waitFor(() => {
637
655
  expect(capturedResources.length).toBe(1);
@@ -706,19 +724,21 @@ describe("useTamboMcpResourceList - resource management", () => {
706
724
  client: { baseURL: "https://api.tambo.co" },
707
725
  queryClient,
708
726
  isUpdatingToken: false,
727
+ mcpAccessToken: null,
728
+ setMcpAccessToken: () => { },
709
729
  } },
710
- React.createElement(TamboRegistryProvider, null,
730
+ React.createElement(TamboRegistryProvider, { mcpServers: [
731
+ {
732
+ url: "https://server-a.example",
733
+ transport: MCPTransport.SSE,
734
+ },
735
+ {
736
+ url: "https://server-b.example",
737
+ transport: MCPTransport.SSE,
738
+ },
739
+ ] },
711
740
  React.createElement(TamboMcpTokenProvider, null,
712
- React.createElement(TamboMcpProvider, { mcpServers: [
713
- {
714
- url: "https://server-a.example",
715
- transport: MCPTransport.SSE,
716
- },
717
- {
718
- url: "https://server-b.example",
719
- transport: MCPTransport.SSE,
720
- },
721
- ] },
741
+ React.createElement(TamboMcpProvider, null,
722
742
  React.createElement(Capture, null))))));
723
743
  // Wait for all resources to be loaded (prefixed)
724
744
  await waitFor(() => {
@@ -732,15 +752,17 @@ describe("useTamboMcpResourceList - resource management", () => {
732
752
  client: { baseURL: "https://api.tambo.co" },
733
753
  queryClient,
734
754
  isUpdatingToken: false,
755
+ mcpAccessToken: null,
756
+ setMcpAccessToken: () => { },
735
757
  } },
736
- React.createElement(TamboRegistryProvider, null,
758
+ React.createElement(TamboRegistryProvider, { mcpServers: [
759
+ {
760
+ url: "https://server-a.example",
761
+ transport: MCPTransport.SSE,
762
+ },
763
+ ] },
737
764
  React.createElement(TamboMcpTokenProvider, null,
738
- React.createElement(TamboMcpProvider, { mcpServers: [
739
- {
740
- url: "https://server-a.example",
741
- transport: MCPTransport.SSE,
742
- },
743
- ] },
765
+ React.createElement(TamboMcpProvider, null,
744
766
  React.createElement(Capture, null))))));
745
767
  // Wait for server B resources to be removed and prefixes stripped
746
768
  await waitFor(() => {
@@ -814,15 +836,17 @@ describe("useTamboMcpResource - read individual resource", () => {
814
836
  client: { baseURL: "https://api.tambo.co" },
815
837
  queryClient,
816
838
  isUpdatingToken: false,
839
+ mcpAccessToken: null,
840
+ setMcpAccessToken: () => { },
817
841
  } },
818
- React.createElement(TamboRegistryProvider, null,
842
+ React.createElement(TamboRegistryProvider, { mcpServers: [
843
+ {
844
+ url: "https://server-a.example",
845
+ transport: MCPTransport.SSE,
846
+ },
847
+ ] },
819
848
  React.createElement(TamboMcpTokenProvider, null,
820
- React.createElement(TamboMcpProvider, { mcpServers: [
821
- {
822
- url: "https://server-a.example",
823
- transport: MCPTransport.SSE,
824
- },
825
- ] },
849
+ React.createElement(TamboMcpProvider, null,
826
850
  React.createElement(Capture, null))))));
827
851
  await waitFor(() => {
828
852
  expect(capturedResourceData).not.toBeNull();
@@ -905,19 +929,21 @@ describe("useTamboMcpResource - read individual resource", () => {
905
929
  client: { baseURL: "https://api.tambo.co" },
906
930
  queryClient,
907
931
  isUpdatingToken: false,
932
+ mcpAccessToken: null,
933
+ setMcpAccessToken: () => { },
908
934
  } },
909
- React.createElement(TamboRegistryProvider, null,
935
+ React.createElement(TamboRegistryProvider, { mcpServers: [
936
+ {
937
+ url: "https://server-a.example",
938
+ transport: MCPTransport.SSE,
939
+ },
940
+ {
941
+ url: "https://server-b.example",
942
+ transport: MCPTransport.SSE,
943
+ },
944
+ ] },
910
945
  React.createElement(TamboMcpTokenProvider, null,
911
- React.createElement(TamboMcpProvider, { mcpServers: [
912
- {
913
- url: "https://server-a.example",
914
- transport: MCPTransport.SSE,
915
- },
916
- {
917
- url: "https://server-b.example",
918
- transport: MCPTransport.SSE,
919
- },
920
- ] },
946
+ React.createElement(TamboMcpProvider, null,
921
947
  React.createElement(Capture, null))))));
922
948
  await waitFor(() => {
923
949
  expect(capturedResourceData).not.toBeNull();