@tambo-ai/react 0.75.0 → 1.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hoc/with-tambo-interactable.d.ts.map +1 -1
- package/dist/hoc/with-tambo-interactable.js +13 -13
- package/dist/hoc/with-tambo-interactable.js.map +1 -1
- package/dist/hoc/with-tambo-interactable.test.js +3 -3
- package/dist/hoc/with-tambo-interactable.test.js.map +1 -1
- package/dist/index.d.ts +7 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -59
- package/dist/index.js.map +1 -1
- package/dist/mcp/mcp-hooks.js +5 -5
- package/dist/mcp/mcp-hooks.js.map +1 -1
- package/dist/model/component-metadata.d.ts +4 -4
- package/dist/model/component-metadata.js.map +1 -1
- package/dist/providers/tambo-client-provider.d.ts +6 -0
- package/dist/providers/tambo-client-provider.d.ts.map +1 -1
- package/dist/providers/tambo-client-provider.js +4 -2
- package/dist/providers/tambo-client-provider.js.map +1 -1
- package/dist/providers/tambo-interactable-provider.d.ts +1 -1
- package/dist/providers/tambo-interactables-additional-context-edge-cases.test.js +2 -10
- package/dist/providers/tambo-interactables-additional-context-edge-cases.test.js.map +1 -1
- package/dist/providers/tambo-interactables-additional-context.test.js +3 -19
- package/dist/providers/tambo-interactables-additional-context.test.js.map +1 -1
- package/dist/providers/tambo-mcp-token-provider.d.ts +8 -17
- package/dist/providers/tambo-mcp-token-provider.d.ts.map +1 -1
- package/dist/providers/tambo-mcp-token-provider.js +20 -97
- package/dist/providers/tambo-mcp-token-provider.js.map +1 -1
- package/dist/testing/tools.d.ts +3 -3
- package/dist/testing/tools.d.ts.map +1 -1
- package/dist/testing/tools.js.map +1 -1
- package/dist/util/registry-validators.js +1 -1
- package/dist/util/registry-validators.js.map +1 -1
- package/dist/v1/__tests__/v1-interactables.test.js +1 -1
- package/dist/v1/__tests__/v1-interactables.test.js.map +1 -1
- package/dist/v1/components/v1-component-renderer.d.ts +9 -9
- package/dist/v1/components/v1-component-renderer.d.ts.map +1 -1
- package/dist/v1/components/v1-component-renderer.js +13 -13
- package/dist/v1/components/v1-component-renderer.js.map +1 -1
- package/dist/v1/components/v1-component-renderer.test.js +15 -15
- package/dist/v1/components/v1-component-renderer.test.js.map +1 -1
- package/{esm/hooks/use-current-message.d.ts → dist/v1/hooks/use-tambo-current-message.d.ts} +30 -9
- package/dist/v1/hooks/use-tambo-current-message.d.ts.map +1 -0
- package/dist/{hooks/use-current-message.js → v1/hooks/use-tambo-current-message.js} +13 -8
- package/dist/v1/hooks/use-tambo-current-message.js.map +1 -0
- package/dist/v1/hooks/use-tambo-v1-auth-state.d.ts +5 -5
- package/dist/v1/hooks/use-tambo-v1-auth-state.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-auth-state.js +8 -8
- package/dist/v1/hooks/use-tambo-v1-auth-state.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-auth-state.test.js +12 -12
- package/dist/v1/hooks/use-tambo-v1-auth-state.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-component-state.d.ts +7 -6
- package/dist/v1/hooks/use-tambo-v1-component-state.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-component-state.js +50 -24
- package/dist/v1/hooks/use-tambo-v1-component-state.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-component-state.test.js +60 -35
- package/dist/v1/hooks/use-tambo-v1-component-state.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-messages.d.ts +9 -9
- package/dist/v1/hooks/use-tambo-v1-messages.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-messages.js +4 -4
- package/dist/v1/hooks/use-tambo-v1-messages.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-messages.test.js +7 -7
- package/dist/v1/hooks/use-tambo-v1-messages.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-send-message.d.ts +3 -3
- package/dist/v1/hooks/use-tambo-v1-send-message.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-send-message.js +20 -22
- package/dist/v1/hooks/use-tambo-v1-send-message.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-send-message.test.js +51 -51
- package/dist/v1/hooks/use-tambo-v1-send-message.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-stream-status.d.ts +5 -5
- package/dist/v1/hooks/use-tambo-v1-stream-status.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-stream-status.js +12 -14
- package/dist/v1/hooks/use-tambo-v1-stream-status.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-stream-status.test.js +19 -19
- package/dist/v1/hooks/use-tambo-v1-stream-status.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-suggestions.d.ts +7 -7
- package/dist/v1/hooks/use-tambo-v1-suggestions.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-suggestions.js +9 -9
- package/dist/v1/hooks/use-tambo-v1-suggestions.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-suggestions.test.js +44 -44
- package/dist/v1/hooks/use-tambo-v1-suggestions.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-thread-input.d.ts +3 -3
- package/dist/v1/hooks/use-tambo-v1-thread-input.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-thread-input.js +4 -4
- package/dist/v1/hooks/use-tambo-v1-thread-input.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-thread-input.test.js +29 -29
- package/dist/v1/hooks/use-tambo-v1-thread-input.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-thread-list.d.ts +4 -4
- package/dist/v1/hooks/use-tambo-v1-thread-list.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-thread-list.js +5 -5
- package/dist/v1/hooks/use-tambo-v1-thread-list.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-thread-list.test.js +13 -17
- package/dist/v1/hooks/use-tambo-v1-thread-list.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-thread.d.ts +3 -3
- package/dist/v1/hooks/use-tambo-v1-thread.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-thread.js +4 -4
- package/dist/v1/hooks/use-tambo-v1-thread.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-thread.test.js +5 -5
- package/dist/v1/hooks/use-tambo-v1-thread.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1.d.ts +16 -7
- package/dist/v1/hooks/use-tambo-v1.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1.js +41 -10
- package/dist/v1/hooks/use-tambo-v1.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1.test.js +176 -48
- package/dist/v1/hooks/use-tambo-v1.test.js.map +1 -1
- package/dist/v1/index.d.ts +31 -27
- package/dist/v1/index.d.ts.map +1 -1
- package/dist/v1/index.js +45 -35
- package/dist/v1/index.js.map +1 -1
- package/dist/v1/providers/tambo-v1-provider.d.ts +20 -20
- package/dist/v1/providers/tambo-v1-provider.d.ts.map +1 -1
- package/dist/v1/providers/tambo-v1-provider.js +32 -32
- package/dist/v1/providers/tambo-v1-provider.js.map +1 -1
- package/dist/v1/providers/tambo-v1-provider.test.js +22 -22
- package/dist/v1/providers/tambo-v1-provider.test.js.map +1 -1
- package/dist/v1/providers/tambo-v1-stream-context.d.ts +15 -15
- package/dist/v1/providers/tambo-v1-stream-context.d.ts.map +1 -1
- package/dist/v1/providers/tambo-v1-stream-context.js +17 -17
- package/dist/v1/providers/tambo-v1-stream-context.js.map +1 -1
- package/dist/v1/providers/tambo-v1-stream-context.test.js +9 -9
- package/dist/v1/providers/tambo-v1-stream-context.test.js.map +1 -1
- package/dist/v1/providers/tambo-v1-stub-provider.d.ts +9 -9
- package/dist/v1/providers/tambo-v1-stub-provider.d.ts.map +1 -1
- package/dist/v1/providers/tambo-v1-stub-provider.js +7 -7
- package/dist/v1/providers/tambo-v1-stub-provider.js.map +1 -1
- package/dist/v1/providers/tambo-v1-stub-provider.test.js +25 -25
- package/dist/v1/providers/tambo-v1-stub-provider.test.js.map +1 -1
- package/dist/v1/providers/tambo-v1-thread-input-provider.d.ts +9 -9
- package/dist/v1/providers/tambo-v1-thread-input-provider.d.ts.map +1 -1
- package/dist/v1/providers/tambo-v1-thread-input-provider.js +16 -16
- package/dist/v1/providers/tambo-v1-thread-input-provider.js.map +1 -1
- package/dist/v1/types/auth.d.ts +2 -2
- package/dist/v1/types/auth.d.ts.map +1 -1
- package/dist/v1/types/auth.js.map +1 -1
- package/dist/v1/types/component.d.ts +3 -3
- package/dist/v1/types/component.d.ts.map +1 -1
- package/dist/v1/types/component.js +2 -2
- package/dist/v1/types/component.js.map +1 -1
- package/dist/v1/types/event.d.ts +1 -1
- package/dist/v1/types/event.js +1 -1
- package/dist/v1/types/event.js.map +1 -1
- package/dist/v1/types/message.d.ts +17 -24
- package/dist/v1/types/message.d.ts.map +1 -1
- package/dist/v1/types/message.js +1 -1
- package/dist/v1/types/message.js.map +1 -1
- package/dist/v1/types/thread.d.ts +10 -8
- package/dist/v1/types/thread.d.ts.map +1 -1
- package/dist/v1/types/thread.js +1 -1
- package/dist/v1/types/thread.js.map +1 -1
- package/dist/v1/types/tool-choice.d.ts +1 -1
- package/dist/v1/types/tool-choice.js.map +1 -1
- package/dist/v1/utils/component-renderer.d.ts +11 -5
- package/dist/v1/utils/component-renderer.d.ts.map +1 -1
- package/dist/v1/utils/component-renderer.js +16 -7
- package/dist/v1/utils/component-renderer.js.map +1 -1
- package/dist/v1/utils/component-renderer.test.js +7 -7
- package/dist/v1/utils/component-renderer.test.js.map +1 -1
- package/dist/v1/utils/event-accumulator.d.ts +13 -13
- package/dist/v1/utils/event-accumulator.d.ts.map +1 -1
- package/dist/v1/utils/event-accumulator.js +26 -15
- package/dist/v1/utils/event-accumulator.js.map +1 -1
- package/dist/v1/utils/event-accumulator.test.js +54 -19
- package/dist/v1/utils/event-accumulator.test.js.map +1 -1
- package/dist/v1/utils/registry-conversion.d.ts +18 -18
- package/dist/v1/utils/registry-conversion.js +23 -23
- package/dist/v1/utils/registry-conversion.js.map +1 -1
- package/dist/v1/utils/stream-handler.d.ts +1 -1
- package/dist/v1/utils/stream-handler.js +1 -1
- package/dist/v1/utils/stream-handler.js.map +1 -1
- package/dist/v1/utils/thread-utils.d.ts +2 -2
- package/dist/v1/utils/thread-utils.d.ts.map +1 -1
- package/dist/v1/utils/thread-utils.js.map +1 -1
- package/dist/v1/utils/tool-call-tracker.d.ts +1 -1
- package/dist/v1/utils/tool-call-tracker.js +1 -1
- package/dist/v1/utils/tool-call-tracker.js.map +1 -1
- package/dist/v1/utils/tool-executor.d.ts +1 -1
- package/dist/v1/utils/tool-executor.js +2 -2
- package/dist/v1/utils/tool-executor.js.map +1 -1
- package/esm/hoc/with-tambo-interactable.d.ts.map +1 -1
- package/esm/hoc/with-tambo-interactable.js +13 -13
- package/esm/hoc/with-tambo-interactable.js.map +1 -1
- package/esm/hoc/with-tambo-interactable.test.js +1 -1
- package/esm/hoc/with-tambo-interactable.test.js.map +1 -1
- package/esm/index.d.ts +7 -25
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +7 -21
- package/esm/index.js.map +1 -1
- package/esm/mcp/mcp-hooks.js +1 -1
- package/esm/mcp/mcp-hooks.js.map +1 -1
- package/esm/model/component-metadata.d.ts +4 -4
- package/esm/model/component-metadata.js.map +1 -1
- package/esm/providers/tambo-client-provider.d.ts +6 -0
- package/esm/providers/tambo-client-provider.d.ts.map +1 -1
- package/esm/providers/tambo-client-provider.js +4 -2
- package/esm/providers/tambo-client-provider.js.map +1 -1
- package/esm/providers/tambo-interactable-provider.d.ts +1 -1
- package/esm/providers/tambo-interactables-additional-context-edge-cases.test.js +2 -10
- package/esm/providers/tambo-interactables-additional-context-edge-cases.test.js.map +1 -1
- package/esm/providers/tambo-interactables-additional-context.test.js +3 -19
- package/esm/providers/tambo-interactables-additional-context.test.js.map +1 -1
- package/esm/providers/tambo-mcp-token-provider.d.ts +8 -17
- package/esm/providers/tambo-mcp-token-provider.d.ts.map +1 -1
- package/esm/providers/tambo-mcp-token-provider.js +20 -97
- package/esm/providers/tambo-mcp-token-provider.js.map +1 -1
- package/esm/testing/tools.d.ts +3 -3
- package/esm/testing/tools.d.ts.map +1 -1
- package/esm/testing/tools.js.map +1 -1
- package/esm/util/registry-validators.js +1 -1
- package/esm/util/registry-validators.js.map +1 -1
- package/esm/v1/__tests__/v1-interactables.test.js +1 -1
- package/esm/v1/__tests__/v1-interactables.test.js.map +1 -1
- package/esm/v1/components/v1-component-renderer.d.ts +9 -9
- package/esm/v1/components/v1-component-renderer.d.ts.map +1 -1
- package/esm/v1/components/v1-component-renderer.js +12 -12
- package/esm/v1/components/v1-component-renderer.js.map +1 -1
- package/esm/v1/components/v1-component-renderer.test.js +16 -16
- package/esm/v1/components/v1-component-renderer.test.js.map +1 -1
- package/{dist/hooks/use-current-message.d.ts → esm/v1/hooks/use-tambo-current-message.d.ts} +30 -9
- package/esm/v1/hooks/use-tambo-current-message.d.ts.map +1 -0
- package/esm/{hooks/use-current-message.js → v1/hooks/use-tambo-current-message.js} +13 -8
- package/esm/v1/hooks/use-tambo-current-message.js.map +1 -0
- package/esm/v1/hooks/use-tambo-v1-auth-state.d.ts +5 -5
- package/esm/v1/hooks/use-tambo-v1-auth-state.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-auth-state.js +8 -8
- package/esm/v1/hooks/use-tambo-v1-auth-state.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-auth-state.test.js +14 -14
- package/esm/v1/hooks/use-tambo-v1-auth-state.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-component-state.d.ts +7 -6
- package/esm/v1/hooks/use-tambo-v1-component-state.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-component-state.js +50 -24
- package/esm/v1/hooks/use-tambo-v1-component-state.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-component-state.test.js +62 -37
- package/esm/v1/hooks/use-tambo-v1-component-state.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-messages.d.ts +9 -9
- package/esm/v1/hooks/use-tambo-v1-messages.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-messages.js +3 -3
- package/esm/v1/hooks/use-tambo-v1-messages.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-messages.test.js +9 -9
- package/esm/v1/hooks/use-tambo-v1-messages.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-send-message.d.ts +3 -3
- package/esm/v1/hooks/use-tambo-v1-send-message.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-send-message.js +21 -23
- package/esm/v1/hooks/use-tambo-v1-send-message.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-send-message.test.js +54 -54
- package/esm/v1/hooks/use-tambo-v1-send-message.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-stream-status.d.ts +5 -5
- package/esm/v1/hooks/use-tambo-v1-stream-status.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-stream-status.js +12 -14
- package/esm/v1/hooks/use-tambo-v1-stream-status.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-stream-status.test.js +21 -21
- package/esm/v1/hooks/use-tambo-v1-stream-status.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-suggestions.d.ts +7 -7
- package/esm/v1/hooks/use-tambo-v1-suggestions.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-suggestions.js +11 -11
- package/esm/v1/hooks/use-tambo-v1-suggestions.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-suggestions.test.js +48 -48
- package/esm/v1/hooks/use-tambo-v1-suggestions.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-thread-input.d.ts +3 -3
- package/esm/v1/hooks/use-tambo-v1-thread-input.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-thread-input.js +3 -3
- package/esm/v1/hooks/use-tambo-v1-thread-input.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-thread-input.test.js +32 -32
- package/esm/v1/hooks/use-tambo-v1-thread-input.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-thread-list.d.ts +4 -4
- package/esm/v1/hooks/use-tambo-v1-thread-list.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-thread-list.js +6 -6
- package/esm/v1/hooks/use-tambo-v1-thread-list.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-thread-list.test.js +15 -19
- package/esm/v1/hooks/use-tambo-v1-thread-list.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-thread.d.ts +3 -3
- package/esm/v1/hooks/use-tambo-v1-thread.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-thread.js +4 -4
- package/esm/v1/hooks/use-tambo-v1-thread.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-thread.test.js +6 -6
- package/esm/v1/hooks/use-tambo-v1-thread.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1.d.ts +16 -7
- package/esm/v1/hooks/use-tambo-v1.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1.js +43 -12
- package/esm/v1/hooks/use-tambo-v1.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1.test.js +178 -50
- package/esm/v1/hooks/use-tambo-v1.test.js.map +1 -1
- package/esm/v1/index.d.ts +31 -27
- package/esm/v1/index.d.ts.map +1 -1
- package/esm/v1/index.js +38 -33
- package/esm/v1/index.js.map +1 -1
- package/esm/v1/providers/tambo-v1-provider.d.ts +20 -20
- package/esm/v1/providers/tambo-v1-provider.d.ts.map +1 -1
- package/esm/v1/providers/tambo-v1-provider.js +32 -32
- package/esm/v1/providers/tambo-v1-provider.js.map +1 -1
- package/esm/v1/providers/tambo-v1-provider.test.js +23 -23
- package/esm/v1/providers/tambo-v1-provider.test.js.map +1 -1
- package/esm/v1/providers/tambo-v1-stream-context.d.ts +15 -15
- package/esm/v1/providers/tambo-v1-stream-context.d.ts.map +1 -1
- package/esm/v1/providers/tambo-v1-stream-context.js +17 -17
- package/esm/v1/providers/tambo-v1-stream-context.js.map +1 -1
- package/esm/v1/providers/tambo-v1-stream-context.test.js +10 -10
- package/esm/v1/providers/tambo-v1-stream-context.test.js.map +1 -1
- package/esm/v1/providers/tambo-v1-stub-provider.d.ts +9 -9
- package/esm/v1/providers/tambo-v1-stub-provider.d.ts.map +1 -1
- package/esm/v1/providers/tambo-v1-stub-provider.js +9 -9
- package/esm/v1/providers/tambo-v1-stub-provider.js.map +1 -1
- package/esm/v1/providers/tambo-v1-stub-provider.test.js +28 -28
- package/esm/v1/providers/tambo-v1-stub-provider.test.js.map +1 -1
- package/esm/v1/providers/tambo-v1-thread-input-provider.d.ts +9 -9
- package/esm/v1/providers/tambo-v1-thread-input-provider.d.ts.map +1 -1
- package/esm/v1/providers/tambo-v1-thread-input-provider.js +15 -15
- package/esm/v1/providers/tambo-v1-thread-input-provider.js.map +1 -1
- package/esm/v1/types/auth.d.ts +2 -2
- package/esm/v1/types/auth.d.ts.map +1 -1
- package/esm/v1/types/auth.js.map +1 -1
- package/esm/v1/types/component.d.ts +3 -3
- package/esm/v1/types/component.d.ts.map +1 -1
- package/esm/v1/types/component.js +2 -2
- package/esm/v1/types/component.js.map +1 -1
- package/esm/v1/types/event.d.ts +1 -1
- package/esm/v1/types/event.js +1 -1
- package/esm/v1/types/event.js.map +1 -1
- package/esm/v1/types/message.d.ts +17 -24
- package/esm/v1/types/message.d.ts.map +1 -1
- package/esm/v1/types/message.js +1 -1
- package/esm/v1/types/message.js.map +1 -1
- package/esm/v1/types/thread.d.ts +10 -8
- package/esm/v1/types/thread.d.ts.map +1 -1
- package/esm/v1/types/thread.js +1 -1
- package/esm/v1/types/thread.js.map +1 -1
- package/esm/v1/types/tool-choice.d.ts +1 -1
- package/esm/v1/types/tool-choice.js.map +1 -1
- package/esm/v1/utils/component-renderer.d.ts +11 -5
- package/esm/v1/utils/component-renderer.d.ts.map +1 -1
- package/esm/v1/utils/component-renderer.js +13 -5
- package/esm/v1/utils/component-renderer.js.map +1 -1
- package/esm/v1/utils/component-renderer.test.js +8 -8
- package/esm/v1/utils/component-renderer.test.js.map +1 -1
- package/esm/v1/utils/event-accumulator.d.ts +13 -13
- package/esm/v1/utils/event-accumulator.d.ts.map +1 -1
- package/esm/v1/utils/event-accumulator.js +26 -15
- package/esm/v1/utils/event-accumulator.js.map +1 -1
- package/esm/v1/utils/event-accumulator.test.js +54 -19
- package/esm/v1/utils/event-accumulator.test.js.map +1 -1
- package/esm/v1/utils/registry-conversion.d.ts +18 -18
- package/esm/v1/utils/registry-conversion.js +23 -23
- package/esm/v1/utils/registry-conversion.js.map +1 -1
- package/esm/v1/utils/stream-handler.d.ts +1 -1
- package/esm/v1/utils/stream-handler.js +1 -1
- package/esm/v1/utils/stream-handler.js.map +1 -1
- package/esm/v1/utils/thread-utils.d.ts +2 -2
- package/esm/v1/utils/thread-utils.d.ts.map +1 -1
- package/esm/v1/utils/thread-utils.js.map +1 -1
- package/esm/v1/utils/tool-call-tracker.d.ts +1 -1
- package/esm/v1/utils/tool-call-tracker.js +1 -1
- package/esm/v1/utils/tool-call-tracker.js.map +1 -1
- package/esm/v1/utils/tool-executor.d.ts +1 -1
- package/esm/v1/utils/tool-executor.js +2 -2
- package/esm/v1/utils/tool-executor.js.map +1 -1
- package/package.json +4 -9
- package/dist/hooks/index.d.ts +0 -9
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -34
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/use-component-state.d.ts +0 -30
- package/dist/hooks/use-component-state.d.ts.map +0 -1
- package/dist/hooks/use-component-state.js +0 -139
- package/dist/hooks/use-component-state.js.map +0 -1
- package/dist/hooks/use-component-state.test.d.ts +0 -2
- package/dist/hooks/use-component-state.test.d.ts.map +0 -1
- package/dist/hooks/use-component-state.test.js +0 -406
- package/dist/hooks/use-component-state.test.js.map +0 -1
- package/dist/hooks/use-current-message.d.ts.map +0 -1
- package/dist/hooks/use-current-message.js.map +0 -1
- package/dist/hooks/use-current-message.test.d.ts +0 -2
- package/dist/hooks/use-current-message.test.d.ts.map +0 -1
- package/dist/hooks/use-current-message.test.js +0 -269
- package/dist/hooks/use-current-message.test.js.map +0 -1
- package/dist/hooks/use-streaming-props.d.ts +0 -11
- package/dist/hooks/use-streaming-props.d.ts.map +0 -1
- package/dist/hooks/use-streaming-props.js +0 -37
- package/dist/hooks/use-streaming-props.js.map +0 -1
- package/dist/hooks/use-suggestions.d.ts +0 -46
- package/dist/hooks/use-suggestions.d.ts.map +0 -1
- package/dist/hooks/use-suggestions.js +0 -118
- package/dist/hooks/use-suggestions.js.map +0 -1
- package/dist/hooks/use-suggestions.test.d.ts +0 -2
- package/dist/hooks/use-suggestions.test.d.ts.map +0 -1
- package/dist/hooks/use-suggestions.test.js +0 -247
- package/dist/hooks/use-suggestions.test.js.map +0 -1
- package/dist/hooks/use-tambo-stream-status.d.ts +0 -90
- package/dist/hooks/use-tambo-stream-status.d.ts.map +0 -1
- package/dist/hooks/use-tambo-stream-status.js +0 -213
- package/dist/hooks/use-tambo-stream-status.js.map +0 -1
- package/dist/hooks/use-tambo-stream-status.test.d.ts +0 -2
- package/dist/hooks/use-tambo-stream-status.test.d.ts.map +0 -1
- package/dist/hooks/use-tambo-stream-status.test.js +0 -378
- package/dist/hooks/use-tambo-stream-status.test.js.map +0 -1
- package/dist/hooks/use-tambo-threads.d.ts +0 -158
- package/dist/hooks/use-tambo-threads.d.ts.map +0 -1
- package/dist/hooks/use-tambo-threads.js +0 -45
- package/dist/hooks/use-tambo-threads.js.map +0 -1
- package/dist/hooks/use-tambo-threads.test.d.ts +0 -2
- package/dist/hooks/use-tambo-threads.test.d.ts.map +0 -1
- package/dist/hooks/use-tambo-threads.test.js +0 -214
- package/dist/hooks/use-tambo-threads.test.js.map +0 -1
- package/dist/model/generate-component-response.d.ts +0 -37
- package/dist/model/generate-component-response.d.ts.map +0 -1
- package/dist/model/generate-component-response.js +0 -29
- package/dist/model/generate-component-response.js.map +0 -1
- package/dist/model/tambo-thread.d.ts +0 -15
- package/dist/model/tambo-thread.d.ts.map +0 -1
- package/dist/model/tambo-thread.js +0 -3
- package/dist/model/tambo-thread.js.map +0 -1
- package/dist/providers/__tests__/thread-input-resource-resolution.test.d.ts +0 -2
- package/dist/providers/__tests__/thread-input-resource-resolution.test.d.ts.map +0 -1
- package/dist/providers/__tests__/thread-input-resource-resolution.test.js +0 -592
- package/dist/providers/__tests__/thread-input-resource-resolution.test.js.map +0 -1
- package/dist/providers/index.d.ts +0 -13
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -41
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/tambo-component-provider.d.ts +0 -23
- package/dist/providers/tambo-component-provider.d.ts.map +0 -1
- package/dist/providers/tambo-component-provider.js +0 -88
- package/dist/providers/tambo-component-provider.js.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/index.d.ts +0 -19
- package/dist/providers/tambo-prop-stream-provider/index.d.ts.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/index.js +0 -43
- package/dist/providers/tambo-prop-stream-provider/index.js.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/pending.d.ts +0 -12
- package/dist/providers/tambo-prop-stream-provider/pending.d.ts.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/pending.js +0 -31
- package/dist/providers/tambo-prop-stream-provider/pending.js.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/provider.d.ts +0 -17
- package/dist/providers/tambo-prop-stream-provider/provider.d.ts.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/provider.js +0 -107
- package/dist/providers/tambo-prop-stream-provider/provider.js.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/streaming.d.ts +0 -12
- package/dist/providers/tambo-prop-stream-provider/streaming.d.ts.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/streaming.js +0 -28
- package/dist/providers/tambo-prop-stream-provider/streaming.js.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/success.d.ts +0 -12
- package/dist/providers/tambo-prop-stream-provider/success.d.ts.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/success.js +0 -28
- package/dist/providers/tambo-prop-stream-provider/success.js.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/types.d.ts +0 -25
- package/dist/providers/tambo-prop-stream-provider/types.d.ts.map +0 -1
- package/dist/providers/tambo-prop-stream-provider/types.js +0 -6
- package/dist/providers/tambo-prop-stream-provider/types.js.map +0 -1
- package/dist/providers/tambo-prop-stream-provider.test.d.ts +0 -2
- package/dist/providers/tambo-prop-stream-provider.test.d.ts.map +0 -1
- package/dist/providers/tambo-prop-stream-provider.test.js +0 -275
- package/dist/providers/tambo-prop-stream-provider.test.js.map +0 -1
- package/dist/providers/tambo-provider.d.ts +0 -53
- package/dist/providers/tambo-provider.d.ts.map +0 -1
- package/dist/providers/tambo-provider.js +0 -133
- package/dist/providers/tambo-provider.js.map +0 -1
- package/dist/providers/tambo-stubs.d.ts +0 -89
- package/dist/providers/tambo-stubs.d.ts.map +0 -1
- package/dist/providers/tambo-stubs.js +0 -279
- package/dist/providers/tambo-stubs.js.map +0 -1
- package/dist/providers/tambo-stubs.test.d.ts +0 -2
- package/dist/providers/tambo-stubs.test.d.ts.map +0 -1
- package/dist/providers/tambo-stubs.test.js +0 -97
- package/dist/providers/tambo-stubs.test.js.map +0 -1
- package/dist/providers/tambo-thread-input-provider.d.ts +0 -65
- package/dist/providers/tambo-thread-input-provider.d.ts.map +0 -1
- package/dist/providers/tambo-thread-input-provider.js +0 -179
- package/dist/providers/tambo-thread-input-provider.js.map +0 -1
- package/dist/providers/tambo-thread-provider-initial-messages.test.d.ts +0 -2
- package/dist/providers/tambo-thread-provider-initial-messages.test.d.ts.map +0 -1
- package/dist/providers/tambo-thread-provider-initial-messages.test.js +0 -278
- package/dist/providers/tambo-thread-provider-initial-messages.test.js.map +0 -1
- package/dist/providers/tambo-thread-provider.d.ts +0 -126
- package/dist/providers/tambo-thread-provider.d.ts.map +0 -1
- package/dist/providers/tambo-thread-provider.js +0 -931
- package/dist/providers/tambo-thread-provider.js.map +0 -1
- package/dist/providers/tambo-thread-provider.test.d.ts +0 -2
- package/dist/providers/tambo-thread-provider.test.d.ts.map +0 -1
- package/dist/providers/tambo-thread-provider.test.js +0 -1591
- package/dist/providers/tambo-thread-provider.test.js.map +0 -1
- package/dist/util/generate-component.d.ts +0 -12
- package/dist/util/generate-component.d.ts.map +0 -1
- package/dist/util/generate-component.js +0 -58
- package/dist/util/generate-component.js.map +0 -1
- package/dist/util/generate-component.test.d.ts +0 -2
- package/dist/util/generate-component.test.d.ts.map +0 -1
- package/dist/util/generate-component.test.js +0 -340
- package/dist/util/generate-component.test.js.map +0 -1
- package/esm/hooks/index.d.ts +0 -9
- package/esm/hooks/index.d.ts.map +0 -1
- package/esm/hooks/index.js +0 -10
- package/esm/hooks/index.js.map +0 -1
- package/esm/hooks/use-component-state.d.ts +0 -30
- package/esm/hooks/use-component-state.d.ts.map +0 -1
- package/esm/hooks/use-component-state.js +0 -136
- package/esm/hooks/use-component-state.js.map +0 -1
- package/esm/hooks/use-component-state.test.d.ts +0 -2
- package/esm/hooks/use-component-state.test.d.ts.map +0 -1
- package/esm/hooks/use-component-state.test.js +0 -401
- package/esm/hooks/use-component-state.test.js.map +0 -1
- package/esm/hooks/use-current-message.d.ts.map +0 -1
- package/esm/hooks/use-current-message.js.map +0 -1
- package/esm/hooks/use-current-message.test.d.ts +0 -2
- package/esm/hooks/use-current-message.test.d.ts.map +0 -1
- package/esm/hooks/use-current-message.test.js +0 -264
- package/esm/hooks/use-current-message.test.js.map +0 -1
- package/esm/hooks/use-streaming-props.d.ts +0 -11
- package/esm/hooks/use-streaming-props.d.ts.map +0 -1
- package/esm/hooks/use-streaming-props.js +0 -34
- package/esm/hooks/use-streaming-props.js.map +0 -1
- package/esm/hooks/use-suggestions.d.ts +0 -46
- package/esm/hooks/use-suggestions.d.ts.map +0 -1
- package/esm/hooks/use-suggestions.js +0 -115
- package/esm/hooks/use-suggestions.js.map +0 -1
- package/esm/hooks/use-suggestions.test.d.ts +0 -2
- package/esm/hooks/use-suggestions.test.d.ts.map +0 -1
- package/esm/hooks/use-suggestions.test.js +0 -245
- package/esm/hooks/use-suggestions.test.js.map +0 -1
- package/esm/hooks/use-tambo-stream-status.d.ts +0 -90
- package/esm/hooks/use-tambo-stream-status.d.ts.map +0 -1
- package/esm/hooks/use-tambo-stream-status.js +0 -210
- package/esm/hooks/use-tambo-stream-status.js.map +0 -1
- package/esm/hooks/use-tambo-stream-status.test.d.ts +0 -2
- package/esm/hooks/use-tambo-stream-status.test.d.ts.map +0 -1
- package/esm/hooks/use-tambo-stream-status.test.js +0 -376
- package/esm/hooks/use-tambo-stream-status.test.js.map +0 -1
- package/esm/hooks/use-tambo-threads.d.ts +0 -158
- package/esm/hooks/use-tambo-threads.d.ts.map +0 -1
- package/esm/hooks/use-tambo-threads.js +0 -42
- package/esm/hooks/use-tambo-threads.js.map +0 -1
- package/esm/hooks/use-tambo-threads.test.d.ts +0 -2
- package/esm/hooks/use-tambo-threads.test.d.ts.map +0 -1
- package/esm/hooks/use-tambo-threads.test.js +0 -212
- package/esm/hooks/use-tambo-threads.test.js.map +0 -1
- package/esm/model/generate-component-response.d.ts +0 -37
- package/esm/model/generate-component-response.d.ts.map +0 -1
- package/esm/model/generate-component-response.js +0 -25
- package/esm/model/generate-component-response.js.map +0 -1
- package/esm/model/tambo-thread.d.ts +0 -15
- package/esm/model/tambo-thread.d.ts.map +0 -1
- package/esm/model/tambo-thread.js +0 -2
- package/esm/model/tambo-thread.js.map +0 -1
- package/esm/providers/__tests__/thread-input-resource-resolution.test.d.ts +0 -2
- package/esm/providers/__tests__/thread-input-resource-resolution.test.d.ts.map +0 -1
- package/esm/providers/__tests__/thread-input-resource-resolution.test.js +0 -587
- package/esm/providers/__tests__/thread-input-resource-resolution.test.js.map +0 -1
- package/esm/providers/index.d.ts +0 -13
- package/esm/providers/index.d.ts.map +0 -1
- package/esm/providers/index.js +0 -11
- package/esm/providers/index.js.map +0 -1
- package/esm/providers/tambo-component-provider.d.ts +0 -23
- package/esm/providers/tambo-component-provider.d.ts.map +0 -1
- package/esm/providers/tambo-component-provider.js +0 -50
- package/esm/providers/tambo-component-provider.js.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/index.d.ts +0 -19
- package/esm/providers/tambo-prop-stream-provider/index.d.ts.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/index.js +0 -22
- package/esm/providers/tambo-prop-stream-provider/index.js.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/pending.d.ts +0 -12
- package/esm/providers/tambo-prop-stream-provider/pending.d.ts.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/pending.js +0 -24
- package/esm/providers/tambo-prop-stream-provider/pending.js.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/provider.d.ts +0 -17
- package/esm/providers/tambo-prop-stream-provider/provider.d.ts.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/provider.js +0 -70
- package/esm/providers/tambo-prop-stream-provider/provider.js.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/streaming.d.ts +0 -12
- package/esm/providers/tambo-prop-stream-provider/streaming.d.ts.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/streaming.js +0 -21
- package/esm/providers/tambo-prop-stream-provider/streaming.js.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/success.d.ts +0 -12
- package/esm/providers/tambo-prop-stream-provider/success.d.ts.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/success.js +0 -21
- package/esm/providers/tambo-prop-stream-provider/success.js.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/types.d.ts +0 -25
- package/esm/providers/tambo-prop-stream-provider/types.d.ts.map +0 -1
- package/esm/providers/tambo-prop-stream-provider/types.js +0 -3
- package/esm/providers/tambo-prop-stream-provider/types.js.map +0 -1
- package/esm/providers/tambo-prop-stream-provider.test.d.ts +0 -2
- package/esm/providers/tambo-prop-stream-provider.test.d.ts.map +0 -1
- package/esm/providers/tambo-prop-stream-provider.test.js +0 -270
- package/esm/providers/tambo-prop-stream-provider.test.js.map +0 -1
- package/esm/providers/tambo-provider.d.ts +0 -53
- package/esm/providers/tambo-provider.d.ts.map +0 -1
- package/esm/providers/tambo-provider.js +0 -94
- package/esm/providers/tambo-provider.js.map +0 -1
- package/esm/providers/tambo-stubs.d.ts +0 -89
- package/esm/providers/tambo-stubs.d.ts.map +0 -1
- package/esm/providers/tambo-stubs.js +0 -242
- package/esm/providers/tambo-stubs.js.map +0 -1
- package/esm/providers/tambo-stubs.test.d.ts +0 -2
- package/esm/providers/tambo-stubs.test.d.ts.map +0 -1
- package/esm/providers/tambo-stubs.test.js +0 -62
- package/esm/providers/tambo-stubs.test.js.map +0 -1
- package/esm/providers/tambo-thread-input-provider.d.ts +0 -65
- package/esm/providers/tambo-thread-input-provider.d.ts.map +0 -1
- package/esm/providers/tambo-thread-input-provider.js +0 -141
- package/esm/providers/tambo-thread-input-provider.js.map +0 -1
- package/esm/providers/tambo-thread-provider-initial-messages.test.d.ts +0 -2
- package/esm/providers/tambo-thread-provider-initial-messages.test.d.ts.map +0 -1
- package/esm/providers/tambo-thread-provider-initial-messages.test.js +0 -273
- package/esm/providers/tambo-thread-provider-initial-messages.test.js.map +0 -1
- package/esm/providers/tambo-thread-provider.d.ts +0 -126
- package/esm/providers/tambo-thread-provider.d.ts.map +0 -1
- package/esm/providers/tambo-thread-provider.js +0 -891
- package/esm/providers/tambo-thread-provider.js.map +0 -1
- package/esm/providers/tambo-thread-provider.test.d.ts +0 -2
- package/esm/providers/tambo-thread-provider.test.d.ts.map +0 -1
- package/esm/providers/tambo-thread-provider.test.js +0 -1553
- package/esm/providers/tambo-thread-provider.test.js.map +0 -1
- package/esm/util/generate-component.d.ts +0 -12
- package/esm/util/generate-component.d.ts.map +0 -1
- package/esm/util/generate-component.js +0 -52
- package/esm/util/generate-component.js.map +0 -1
- package/esm/util/generate-component.test.d.ts +0 -2
- package/esm/util/generate-component.test.d.ts.map +0 -1
- package/esm/util/generate-component.test.js +0 -302
- package/esm/util/generate-component.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thread-input-resource-resolution.test.js","sourceRoot":"","sources":["../../../src/providers/__tests__/thread-input-resource-resolution.test.tsx"],"names":[],"mappings":"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","sourcesContent":["import { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { act, renderHook } from \"@testing-library/react\";\nimport React from \"react\";\nimport type TamboAI from \"@tambo-ai/typescript-sdk\";\nimport { ServerType } from \"../../mcp/mcp-constants\";\nimport type { McpServer } from \"../../mcp/tambo-mcp-provider\";\nimport { TamboProvider } from \"../tambo-provider\";\nimport { useTamboThreadInput } from \"../tambo-thread-input-provider\";\n\n// Mock the Tambo client provider to avoid needing real API credentials\n\njest.mock(\"../tambo-client-provider\", () => {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const ReactModule = require(\"react\");\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { QueryClient: QC } = require(\"@tanstack/react-query\");\n const mockQueryClient = new QC();\n const MockContext = ReactModule.createContext({\n client: {},\n queryClient: mockQueryClient,\n isUpdatingToken: false,\n });\n return {\n TamboClientProvider: ({ children }: { children: React.ReactNode }) => (\n <MockContext.Provider\n value={{\n client: {},\n queryClient: mockQueryClient,\n isUpdatingToken: false,\n }}\n >\n {children}\n </MockContext.Provider>\n ),\n TamboClientContext: MockContext,\n useTamboClient: () => ({\n client: {},\n queryClient: mockQueryClient,\n isUpdatingToken: false,\n }),\n };\n});\n\n// Mock the thread provider to capture sendThreadMessage calls\nconst mockSendThreadMessage = jest.fn();\nconst mockContextKey = \"test-context-key\";\njest.mock(\"../tambo-thread-provider\", () => ({\n TamboThreadProvider: ({ children }: { children: React.ReactNode }) =>\n children,\n useTamboThread: () => ({\n thread: { id: \"test-thread-id\" },\n sendThreadMessage: mockSendThreadMessage,\n contextKey: mockContextKey,\n }),\n}));\n\n// Mock servers array - will be updated per test\nlet mockServers: McpServer[] = [];\n\n// Mock the MCP provider to avoid real MCP connections\njest.mock(\"../../mcp/tambo-mcp-provider\", () => ({\n TamboMcpProvider: ({ children }: { children: React.ReactNode }) => children,\n useTamboMcpServers: () => mockServers,\n}));\n\n// Mock the MCP token provider\njest.mock(\"../tambo-mcp-token-provider\", () => ({\n TamboMcpTokenProvider: ({ children }: { children: React.ReactNode }) =>\n children,\n useTamboMcpToken: () => ({\n mcpAccessToken: null,\n tamboBaseUrl: null,\n }),\n}));\n\n// Helper to create internal server\nconst createMockInternalServer = (serverKey: string): McpServer =>\n ({\n key: serverKey,\n serverKey,\n url: \"https://api.tambo.co/mcp\",\n name: \"__tambo_internal_mcp_server__\",\n transport: \"http\",\n serverType: ServerType.TAMBO_INTERNAL,\n connectionError: undefined, // Internal servers resolved by backend\n }) as unknown as McpServer;\n\n// Mock the message images hook\njest.mock(\"../../hooks/use-message-images\", () => ({\n useMessageImages: () => ({\n images: [],\n addImage: jest.fn(),\n addImages: jest.fn(),\n removeImage: jest.fn(),\n clearImages: jest.fn(),\n }),\n}));\n\n// Mock the mutation hook to execute the mutation function directly\njest.mock(\"../../hooks/react-query-hooks\", () => ({\n useTamboMutation: ({ mutationFn }: { mutationFn: () => Promise<void> }) => ({\n mutateAsync: mutationFn,\n mutate: mutationFn,\n isLoading: false,\n isError: false,\n isSuccess: false,\n error: null,\n reset: jest.fn(),\n }),\n}));\n\ndescribe(\"TamboProvider - Resource Content Resolution Integration\", () => {\n let queryClient: QueryClient;\n\n beforeEach(() => {\n jest.clearAllMocks();\n mockSendThreadMessage.mockResolvedValue(undefined);\n // Default: no MCP servers (registry resources don't need a server entry)\n mockServers = [];\n queryClient = new QueryClient({\n defaultOptions: {\n queries: { retry: false },\n mutations: { retry: false },\n },\n });\n });\n\n afterEach(() => {\n queryClient.clear();\n mockServers = [];\n });\n\n const createWrapper = (options?: {\n listResources?: (\n search?: string,\n ) => Promise<{ uri: string; name: string; mimeType?: string }[]>;\n getResource?: (uri: string) => Promise<unknown>;\n resources?: { uri: string; name: string; mimeType?: string }[];\n }) => {\n function Wrapper({ children }: { children: React.ReactNode }) {\n return (\n <QueryClientProvider client={queryClient}>\n <TamboProvider\n apiKey=\"test-api-key\"\n tamboUrl=\"https://api.tambo.co\"\n listResources={options?.listResources}\n // Cast to any because test mocks return simplified types\n getResource={options?.getResource as any}\n resources={options?.resources}\n contextKey={mockContextKey}\n >\n {children}\n </TamboProvider>\n </QueryClientProvider>\n );\n }\n return Wrapper;\n };\n\n it(\"should resolve registry resource content when submitting a message\", async () => {\n const mockGetResource = jest.fn().mockResolvedValue({\n contents: [\n {\n uri: \"file:///my-document.txt\",\n mimeType: \"text/plain\",\n text: \"This is the document content from the registry\",\n },\n ],\n });\n\n const mockListResources = jest.fn().mockResolvedValue([\n {\n uri: \"file:///my-document.txt\",\n name: \"My Document\",\n mimeType: \"text/plain\",\n },\n ]);\n\n const { result } = renderHook(() => useTamboThreadInput(), {\n wrapper: createWrapper({\n listResources: mockListResources,\n getResource: mockGetResource,\n }),\n });\n\n // Set the input value with a registry resource reference\n act(() => {\n result.current.setValue(\n \"Show me the contents of @registry:file:///my-document.txt in a table\",\n );\n });\n\n // Submit the message\n await act(async () => {\n await result.current.submit();\n });\n\n // Verify getResource was called with the correct URI (without the registry: prefix)\n expect(mockGetResource).toHaveBeenCalledWith(\"file:///my-document.txt\");\n\n // Verify sendThreadMessage was called with the resolved content\n expect(mockSendThreadMessage).toHaveBeenCalledTimes(1);\n const [, options] = mockSendThreadMessage.mock.calls[0];\n const content =\n options.content as TamboAI.Beta.Threads.ChatCompletionContentPart[];\n\n // Should have: text \"Show me the contents of \", resource with resolved content, text \" in a table\"\n expect(content).toMatchInlineSnapshot(`\n [\n {\n \"text\": \"Show me the contents of \",\n \"type\": \"text\",\n },\n {\n \"resource\": {\n \"mimeType\": \"text/plain\",\n \"text\": \"This is the document content from the registry\",\n \"uri\": \"file:///my-document.txt\",\n },\n \"type\": \"resource\",\n },\n {\n \"text\": \" in a table\",\n \"type\": \"text\",\n },\n ]\n `);\n });\n\n it(\"should resolve multiple registry resources in a single message\", async () => {\n const mockGetResource = jest\n .fn()\n .mockImplementation(async (uri: string) => {\n if (uri === \"file:///doc1.txt\") {\n return { contents: [{ uri, text: \"Content of doc1\" }] };\n }\n if (uri === \"file:///doc2.txt\") {\n return { contents: [{ uri, text: \"Content of doc2\" }] };\n }\n return null;\n });\n\n const mockListResources = jest.fn().mockResolvedValue([]);\n\n const { result } = renderHook(() => useTamboThreadInput(), {\n wrapper: createWrapper({\n listResources: mockListResources,\n getResource: mockGetResource,\n }),\n });\n\n act(() => {\n result.current.setValue(\n \"Compare @registry:file:///doc1.txt with @registry:file:///doc2.txt\",\n );\n });\n\n await act(async () => {\n await result.current.submit();\n });\n\n // Both resources should have been fetched\n expect(mockGetResource).toHaveBeenCalledWith(\"file:///doc1.txt\");\n expect(mockGetResource).toHaveBeenCalledWith(\"file:///doc2.txt\");\n\n const [, options] = mockSendThreadMessage.mock.calls[0];\n const content =\n options.content as TamboAI.Beta.Threads.ChatCompletionContentPart[];\n\n expect(content).toMatchInlineSnapshot(`\n [\n {\n \"text\": \"Compare \",\n \"type\": \"text\",\n },\n {\n \"resource\": {\n \"text\": \"Content of doc1\",\n \"uri\": \"file:///doc1.txt\",\n },\n \"type\": \"resource\",\n },\n {\n \"text\": \" with \",\n \"type\": \"text\",\n },\n {\n \"resource\": {\n \"text\": \"Content of doc2\",\n \"uri\": \"file:///doc2.txt\",\n },\n \"type\": \"resource\",\n },\n ]\n `);\n });\n\n it(\"should resolve registry resource with blob content\", async () => {\n const mockGetResource = jest.fn().mockResolvedValue({\n contents: [\n {\n uri: \"file:///image.png\",\n mimeType: \"image/png\",\n blob: \"base64encodedimagedata\",\n },\n ],\n });\n\n const mockListResources = jest.fn().mockResolvedValue([]);\n\n const { result } = renderHook(() => useTamboThreadInput(), {\n wrapper: createWrapper({\n listResources: mockListResources,\n getResource: mockGetResource,\n }),\n });\n\n act(() => {\n result.current.setValue(\"Analyze @registry:file:///image.png\");\n });\n\n await act(async () => {\n await result.current.submit();\n });\n\n const [, options] = mockSendThreadMessage.mock.calls[0];\n const content =\n options.content as TamboAI.Beta.Threads.ChatCompletionContentPart[];\n\n expect(content).toMatchInlineSnapshot(`\n [\n {\n \"text\": \"Analyze \",\n \"type\": \"text\",\n },\n {\n \"resource\": {\n \"blob\": \"base64encodedimagedata\",\n \"mimeType\": \"image/png\",\n \"uri\": \"file:///image.png\",\n },\n \"type\": \"resource\",\n },\n ]\n `);\n });\n\n it(\"should continue with submission even if resource fetch fails (graceful fallback)\", async () => {\n const consoleSpy = jest.spyOn(console, \"warn\").mockImplementation();\n const mockGetResource = jest\n .fn()\n .mockRejectedValue(new Error(\"Resource fetch failed\"));\n\n const mockListResources = jest.fn().mockResolvedValue([]);\n\n const { result } = renderHook(() => useTamboThreadInput(), {\n wrapper: createWrapper({\n listResources: mockListResources,\n getResource: mockGetResource,\n }),\n });\n\n act(() => {\n result.current.setValue(\"Check @registry:file:///missing.txt\");\n });\n\n // Should not throw, should continue with submission\n await act(async () => {\n await result.current.submit();\n });\n\n // Resource fetch was attempted\n expect(mockGetResource).toHaveBeenCalledWith(\"file:///missing.txt\");\n\n // Warning should be logged\n expect(consoleSpy).toHaveBeenCalledWith(\n \"Failed to fetch resource content for registry:file:///missing.txt:\",\n expect.any(Error),\n );\n\n // Message should still be sent (without the resolved content)\n expect(mockSendThreadMessage).toHaveBeenCalledTimes(1);\n const [, options] = mockSendThreadMessage.mock.calls[0];\n const content =\n options.content as TamboAI.Beta.Threads.ChatCompletionContentPart[];\n\n // Resource should be present but without text/blob content\n expect(content).toMatchInlineSnapshot(`\n [\n {\n \"text\": \"Check \",\n \"type\": \"text\",\n },\n {\n \"resource\": {\n \"uri\": \"file:///missing.txt\",\n },\n \"type\": \"resource\",\n },\n ]\n `);\n\n consoleSpy.mockRestore();\n });\n\n it(\"should NOT resolve internal server resources (serverType: TAMBO_INTERNAL)\", async () => {\n // Add internal server to mock servers\n mockServers = [createMockInternalServer(\"tambo-abc123\")];\n\n const mockGetResource = jest.fn().mockResolvedValue({\n contents: [{ uri: \"tambo:test://resource/1\", text: \"Should not fetch\" }],\n });\n\n const mockListResources = jest.fn().mockResolvedValue([]);\n\n const { result } = renderHook(() => useTamboThreadInput(), {\n wrapper: createWrapper({\n listResources: mockListResources,\n getResource: mockGetResource,\n }),\n });\n\n act(() => {\n result.current.setValue(\n \"Check @tambo-abc123:tambo:test://internal/resource/1\",\n );\n });\n\n await act(async () => {\n await result.current.submit();\n });\n\n // getResource should NOT be called for internal server resources\n expect(mockGetResource).not.toHaveBeenCalled();\n\n // Message should still be sent with resource (but without resolved content)\n expect(mockSendThreadMessage).toHaveBeenCalledTimes(1);\n const [, options] = mockSendThreadMessage.mock.calls[0];\n const content =\n options.content as TamboAI.Beta.Threads.ChatCompletionContentPart[];\n\n expect(content).toMatchInlineSnapshot(`\n [\n {\n \"text\": \"Check \",\n \"type\": \"text\",\n },\n {\n \"resource\": {\n \"uri\": \"tambo:test://internal/resource/1\",\n },\n \"type\": \"resource\",\n },\n ]\n `);\n });\n\n it(\"should handle mixed registry and internal server resources\", async () => {\n // Add internal server\n mockServers = [createMockInternalServer(\"tambo-xyz\")];\n\n const mockGetResource = jest.fn().mockResolvedValue({\n contents: [{ uri: \"file:///registry-doc.txt\", text: \"Registry content\" }],\n });\n\n const mockListResources = jest.fn().mockResolvedValue([]);\n\n const { result } = renderHook(() => useTamboThreadInput(), {\n wrapper: createWrapper({\n listResources: mockListResources,\n getResource: mockGetResource,\n }),\n });\n\n act(() => {\n result.current.setValue(\n \"@registry:file:///registry-doc.txt and @tambo-xyz:tambo:test://internal\",\n );\n });\n\n await act(async () => {\n await result.current.submit();\n });\n\n // Only the registry resource should be fetched\n expect(mockGetResource).toHaveBeenCalledTimes(1);\n expect(mockGetResource).toHaveBeenCalledWith(\"file:///registry-doc.txt\");\n\n const [, options] = mockSendThreadMessage.mock.calls[0];\n const content =\n options.content as TamboAI.Beta.Threads.ChatCompletionContentPart[];\n\n expect(content).toMatchInlineSnapshot(`\n [\n {\n \"resource\": {\n \"text\": \"Registry content\",\n \"uri\": \"file:///registry-doc.txt\",\n },\n \"type\": \"resource\",\n },\n {\n \"text\": \" and \",\n \"type\": \"text\",\n },\n {\n \"resource\": {\n \"uri\": \"tambo:test://internal\",\n },\n \"type\": \"resource\",\n },\n ]\n `);\n });\n\n it(\"should include resource names when provided in submit options\", async () => {\n const mockGetResource = jest.fn().mockResolvedValue({\n contents: [\n {\n uri: \"file:///doc.txt\",\n text: \"Document content\",\n },\n ],\n });\n\n const mockListResources = jest.fn().mockResolvedValue([]);\n\n const { result } = renderHook(() => useTamboThreadInput(), {\n wrapper: createWrapper({\n listResources: mockListResources,\n getResource: mockGetResource,\n }),\n });\n\n act(() => {\n result.current.setValue(\"Check @registry:file:///doc.txt\");\n });\n\n await act(async () => {\n await result.current.submit({\n resourceNames: {\n \"registry:file:///doc.txt\": \"Important Document.txt\",\n },\n });\n });\n\n const [, options] = mockSendThreadMessage.mock.calls[0];\n const content =\n options.content as TamboAI.Beta.Threads.ChatCompletionContentPart[];\n\n expect(content).toMatchInlineSnapshot(`\n [\n {\n \"text\": \"Check \",\n \"type\": \"text\",\n },\n {\n \"resource\": {\n \"name\": \"Important Document.txt\",\n \"text\": \"Document content\",\n \"uri\": \"file:///doc.txt\",\n },\n \"type\": \"resource\",\n },\n ]\n `);\n });\n\n it(\"should handle message without any resource references\", async () => {\n const mockGetResource = jest.fn();\n const mockListResources = jest.fn().mockResolvedValue([]);\n\n const { result } = renderHook(() => useTamboThreadInput(), {\n wrapper: createWrapper({\n listResources: mockListResources,\n getResource: mockGetResource,\n }),\n });\n\n act(() => {\n result.current.setValue(\"Just a regular message without resources\");\n });\n\n await act(async () => {\n await result.current.submit();\n });\n\n // No resource fetch should happen\n expect(mockGetResource).not.toHaveBeenCalled();\n\n // Message should be sent as plain text\n const [, options] = mockSendThreadMessage.mock.calls[0];\n const content =\n options.content as TamboAI.Beta.Threads.ChatCompletionContentPart[];\n\n expect(content).toMatchInlineSnapshot(`\n [\n {\n \"text\": \"Just a regular message without resources\",\n \"type\": \"text\",\n },\n ]\n `);\n });\n\n it(\"should handle null returned from getResource\", async () => {\n const mockGetResource = jest.fn().mockResolvedValue(null);\n const mockListResources = jest.fn().mockResolvedValue([]);\n\n const { result } = renderHook(() => useTamboThreadInput(), {\n wrapper: createWrapper({\n listResources: mockListResources,\n getResource: mockGetResource,\n }),\n });\n\n act(() => {\n result.current.setValue(\"Check @registry:file:///unknown.txt\");\n });\n\n await act(async () => {\n await result.current.submit();\n });\n\n expect(mockGetResource).toHaveBeenCalled();\n\n const [, options] = mockSendThreadMessage.mock.calls[0];\n const content =\n options.content as TamboAI.Beta.Threads.ChatCompletionContentPart[];\n\n // Resource should be present but without content\n expect(content).toMatchInlineSnapshot(`\n [\n {\n \"text\": \"Check \",\n \"type\": \"text\",\n },\n {\n \"resource\": {\n \"uri\": \"file:///unknown.txt\",\n },\n \"type\": \"resource\",\n },\n ]\n `);\n });\n\n it(\"should warn when no resourceSource is available for registry resource\", async () => {\n const consoleSpy = jest.spyOn(console, \"warn\").mockImplementation();\n\n // No listResources/getResource provided\n const { result } = renderHook(() => useTamboThreadInput(), {\n wrapper: createWrapper(),\n });\n\n act(() => {\n result.current.setValue(\"Check @registry:file:///doc.txt\");\n });\n\n await act(async () => {\n await result.current.submit();\n });\n\n expect(consoleSpy).toHaveBeenCalledWith(\n \"No resource source available to resolve registry resource: registry:file:///doc.txt\",\n );\n\n consoleSpy.mockRestore();\n });\n\n it(\"should resolve static resources passed via resources prop\", async () => {\n // When using static resources, we need both listResources and getResource\n // to form the resourceSource, even though the resources are static\n const mockGetResource = jest.fn().mockResolvedValue({\n contents: [\n {\n uri: \"static://my-static-resource\",\n text: \"Static resource content\",\n mimeType: \"text/plain\",\n },\n ],\n });\n\n const { result } = renderHook(() => useTamboThreadInput(), {\n wrapper: createWrapper({\n resources: [\n {\n uri: \"static://my-static-resource\",\n name: \"My Static Resource\",\n mimeType: \"text/plain\",\n },\n ],\n // Need getResource to actually fetch the content\n getResource: mockGetResource,\n listResources: async () => [],\n }),\n });\n\n act(() => {\n result.current.setValue(\n \"Show me @registry:static://my-static-resource please\",\n );\n });\n\n await act(async () => {\n await result.current.submit();\n });\n\n // getResource should be called to fetch the content\n expect(mockGetResource).toHaveBeenCalledWith(\"static://my-static-resource\");\n\n const [, options] = mockSendThreadMessage.mock.calls[0];\n const content =\n options.content as TamboAI.Beta.Threads.ChatCompletionContentPart[];\n\n expect(content).toMatchInlineSnapshot(`\n [\n {\n \"text\": \"Show me \",\n \"type\": \"text\",\n },\n {\n \"resource\": {\n \"mimeType\": \"text/plain\",\n \"text\": \"Static resource content\",\n \"uri\": \"static://my-static-resource\",\n },\n \"type\": \"resource\",\n },\n {\n \"text\": \" please\",\n \"type\": \"text\",\n },\n ]\n `);\n });\n});\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export type { RegisterToolFn, RegisterToolsFn, TamboComponent, TamboTool, } from "../model/component-metadata";
|
|
2
|
-
export { TamboClientProvider, useIsTamboTokenUpdating, useTamboClient, } from "./tambo-client-provider";
|
|
3
|
-
export { TamboComponentProvider, useTamboComponent, } from "./tambo-component-provider";
|
|
4
|
-
export { TamboContextAttachmentProvider, useTamboContextAttachment, type ContextAttachment, type ContextAttachmentState, type TamboContextAttachmentProviderProps, } from "./tambo-context-attachment-provider";
|
|
5
|
-
export { TamboContextHelpersProvider, useTamboContextHelpers, type TamboContextHelpersContextProps, type TamboContextHelpersProviderProps, } from "./tambo-context-helpers-provider";
|
|
6
|
-
export { Pending, Streaming, Success, TamboPropStreamProvider, useTamboStream, } from "./tambo-prop-stream-provider";
|
|
7
|
-
export type { StreamStateComponentProps, StreamStatus, TamboPropStreamContextValue, } from "./tambo-prop-stream-provider";
|
|
8
|
-
export { TamboContext, TamboProvider, useTambo } from "./tambo-provider";
|
|
9
|
-
export { TamboRegistryProvider, useTamboMcpServerInfos, useTamboRegistry, type TamboRegistryContext, } from "./tambo-registry-provider";
|
|
10
|
-
export { TamboStubProvider, type TamboStubProviderProps } from "./tambo-stubs";
|
|
11
|
-
export { TamboThreadInputProvider, useTamboThreadInput, type TamboThreadInputContextProps, } from "./tambo-thread-input-provider";
|
|
12
|
-
export { TamboThreadContext, TamboThreadProvider, useTamboGenerationStage, useTamboThread, type TamboThreadProviderProps, } from "./tambo-thread-provider";
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,eAAe,EACf,cAAc,EACd,SAAS,GACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,mCAAmC,GACzC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,GACtC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,OAAO,EACP,SAAS,EACT,OAAO,EACP,uBAAuB,EACvB,cAAc,GACf,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,yBAAyB,EACzB,YAAY,EACZ,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,oBAAoB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,4BAA4B,GAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC"}
|
package/dist/providers/index.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useTamboThread = exports.useTamboGenerationStage = exports.TamboThreadProvider = exports.TamboThreadContext = exports.useTamboThreadInput = exports.TamboThreadInputProvider = exports.TamboStubProvider = exports.useTamboRegistry = exports.useTamboMcpServerInfos = exports.TamboRegistryProvider = exports.useTambo = exports.TamboProvider = exports.TamboContext = exports.useTamboStream = exports.TamboPropStreamProvider = exports.Success = exports.Streaming = exports.Pending = exports.useTamboContextHelpers = exports.TamboContextHelpersProvider = exports.useTamboContextAttachment = exports.TamboContextAttachmentProvider = exports.useTamboComponent = exports.TamboComponentProvider = exports.useTamboClient = exports.useIsTamboTokenUpdating = exports.TamboClientProvider = void 0;
|
|
4
|
-
var tambo_client_provider_1 = require("./tambo-client-provider");
|
|
5
|
-
Object.defineProperty(exports, "TamboClientProvider", { enumerable: true, get: function () { return tambo_client_provider_1.TamboClientProvider; } });
|
|
6
|
-
Object.defineProperty(exports, "useIsTamboTokenUpdating", { enumerable: true, get: function () { return tambo_client_provider_1.useIsTamboTokenUpdating; } });
|
|
7
|
-
Object.defineProperty(exports, "useTamboClient", { enumerable: true, get: function () { return tambo_client_provider_1.useTamboClient; } });
|
|
8
|
-
var tambo_component_provider_1 = require("./tambo-component-provider");
|
|
9
|
-
Object.defineProperty(exports, "TamboComponentProvider", { enumerable: true, get: function () { return tambo_component_provider_1.TamboComponentProvider; } });
|
|
10
|
-
Object.defineProperty(exports, "useTamboComponent", { enumerable: true, get: function () { return tambo_component_provider_1.useTamboComponent; } });
|
|
11
|
-
var tambo_context_attachment_provider_1 = require("./tambo-context-attachment-provider");
|
|
12
|
-
Object.defineProperty(exports, "TamboContextAttachmentProvider", { enumerable: true, get: function () { return tambo_context_attachment_provider_1.TamboContextAttachmentProvider; } });
|
|
13
|
-
Object.defineProperty(exports, "useTamboContextAttachment", { enumerable: true, get: function () { return tambo_context_attachment_provider_1.useTamboContextAttachment; } });
|
|
14
|
-
var tambo_context_helpers_provider_1 = require("./tambo-context-helpers-provider");
|
|
15
|
-
Object.defineProperty(exports, "TamboContextHelpersProvider", { enumerable: true, get: function () { return tambo_context_helpers_provider_1.TamboContextHelpersProvider; } });
|
|
16
|
-
Object.defineProperty(exports, "useTamboContextHelpers", { enumerable: true, get: function () { return tambo_context_helpers_provider_1.useTamboContextHelpers; } });
|
|
17
|
-
var tambo_prop_stream_provider_1 = require("./tambo-prop-stream-provider");
|
|
18
|
-
Object.defineProperty(exports, "Pending", { enumerable: true, get: function () { return tambo_prop_stream_provider_1.Pending; } });
|
|
19
|
-
Object.defineProperty(exports, "Streaming", { enumerable: true, get: function () { return tambo_prop_stream_provider_1.Streaming; } });
|
|
20
|
-
Object.defineProperty(exports, "Success", { enumerable: true, get: function () { return tambo_prop_stream_provider_1.Success; } });
|
|
21
|
-
Object.defineProperty(exports, "TamboPropStreamProvider", { enumerable: true, get: function () { return tambo_prop_stream_provider_1.TamboPropStreamProvider; } });
|
|
22
|
-
Object.defineProperty(exports, "useTamboStream", { enumerable: true, get: function () { return tambo_prop_stream_provider_1.useTamboStream; } });
|
|
23
|
-
var tambo_provider_1 = require("./tambo-provider");
|
|
24
|
-
Object.defineProperty(exports, "TamboContext", { enumerable: true, get: function () { return tambo_provider_1.TamboContext; } });
|
|
25
|
-
Object.defineProperty(exports, "TamboProvider", { enumerable: true, get: function () { return tambo_provider_1.TamboProvider; } });
|
|
26
|
-
Object.defineProperty(exports, "useTambo", { enumerable: true, get: function () { return tambo_provider_1.useTambo; } });
|
|
27
|
-
var tambo_registry_provider_1 = require("./tambo-registry-provider");
|
|
28
|
-
Object.defineProperty(exports, "TamboRegistryProvider", { enumerable: true, get: function () { return tambo_registry_provider_1.TamboRegistryProvider; } });
|
|
29
|
-
Object.defineProperty(exports, "useTamboMcpServerInfos", { enumerable: true, get: function () { return tambo_registry_provider_1.useTamboMcpServerInfos; } });
|
|
30
|
-
Object.defineProperty(exports, "useTamboRegistry", { enumerable: true, get: function () { return tambo_registry_provider_1.useTamboRegistry; } });
|
|
31
|
-
var tambo_stubs_1 = require("./tambo-stubs");
|
|
32
|
-
Object.defineProperty(exports, "TamboStubProvider", { enumerable: true, get: function () { return tambo_stubs_1.TamboStubProvider; } });
|
|
33
|
-
var tambo_thread_input_provider_1 = require("./tambo-thread-input-provider");
|
|
34
|
-
Object.defineProperty(exports, "TamboThreadInputProvider", { enumerable: true, get: function () { return tambo_thread_input_provider_1.TamboThreadInputProvider; } });
|
|
35
|
-
Object.defineProperty(exports, "useTamboThreadInput", { enumerable: true, get: function () { return tambo_thread_input_provider_1.useTamboThreadInput; } });
|
|
36
|
-
var tambo_thread_provider_1 = require("./tambo-thread-provider");
|
|
37
|
-
Object.defineProperty(exports, "TamboThreadContext", { enumerable: true, get: function () { return tambo_thread_provider_1.TamboThreadContext; } });
|
|
38
|
-
Object.defineProperty(exports, "TamboThreadProvider", { enumerable: true, get: function () { return tambo_thread_provider_1.TamboThreadProvider; } });
|
|
39
|
-
Object.defineProperty(exports, "useTamboGenerationStage", { enumerable: true, get: function () { return tambo_thread_provider_1.useTamboGenerationStage; } });
|
|
40
|
-
Object.defineProperty(exports, "useTamboThread", { enumerable: true, get: function () { return tambo_thread_provider_1.useTamboThread; } });
|
|
41
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":";;;AAMA,iEAIiC;AAH/B,4HAAA,mBAAmB,OAAA;AACnB,gIAAA,uBAAuB,OAAA;AACvB,uHAAA,cAAc,OAAA;AAEhB,uEAGoC;AAFlC,kIAAA,sBAAsB,OAAA;AACtB,6HAAA,iBAAiB,OAAA;AAEnB,yFAM6C;AAL3C,mJAAA,8BAA8B,OAAA;AAC9B,8IAAA,yBAAyB,OAAA;AAK3B,mFAK0C;AAJxC,6IAAA,2BAA2B,OAAA;AAC3B,wIAAA,sBAAsB,OAAA;AAIxB,2EAMsC;AALpC,qHAAA,OAAO,OAAA;AACP,uHAAA,SAAS,OAAA;AACT,qHAAA,OAAO,OAAA;AACP,qIAAA,uBAAuB,OAAA;AACvB,4HAAA,cAAc,OAAA;AAOhB,mDAAyE;AAAhE,8GAAA,YAAY,OAAA;AAAE,+GAAA,aAAa,OAAA;AAAE,0GAAA,QAAQ,OAAA;AAC9C,qEAKmC;AAJjC,gIAAA,qBAAqB,OAAA;AACrB,iIAAA,sBAAsB,OAAA;AACtB,2HAAA,gBAAgB,OAAA;AAGlB,6CAA+E;AAAtE,gHAAA,iBAAiB,OAAA;AAC1B,6EAIuC;AAHrC,uIAAA,wBAAwB,OAAA;AACxB,kIAAA,mBAAmB,OAAA;AAGrB,iEAMiC;AAL/B,2HAAA,kBAAkB,OAAA;AAClB,4HAAA,mBAAmB,OAAA;AACnB,gIAAA,uBAAuB,OAAA;AACvB,uHAAA,cAAc,OAAA","sourcesContent":["export type {\n RegisterToolFn,\n RegisterToolsFn,\n TamboComponent,\n TamboTool,\n} from \"../model/component-metadata\";\nexport {\n TamboClientProvider,\n useIsTamboTokenUpdating,\n useTamboClient,\n} from \"./tambo-client-provider\";\nexport {\n TamboComponentProvider,\n useTamboComponent,\n} from \"./tambo-component-provider\";\nexport {\n TamboContextAttachmentProvider,\n useTamboContextAttachment,\n type ContextAttachment,\n type ContextAttachmentState,\n type TamboContextAttachmentProviderProps,\n} from \"./tambo-context-attachment-provider\";\nexport {\n TamboContextHelpersProvider,\n useTamboContextHelpers,\n type TamboContextHelpersContextProps,\n type TamboContextHelpersProviderProps,\n} from \"./tambo-context-helpers-provider\";\nexport {\n Pending,\n Streaming,\n Success,\n TamboPropStreamProvider,\n useTamboStream,\n} from \"./tambo-prop-stream-provider\";\nexport type {\n StreamStateComponentProps,\n StreamStatus,\n TamboPropStreamContextValue,\n} from \"./tambo-prop-stream-provider\";\nexport { TamboContext, TamboProvider, useTambo } from \"./tambo-provider\";\nexport {\n TamboRegistryProvider,\n useTamboMcpServerInfos,\n useTamboRegistry,\n type TamboRegistryContext,\n} from \"./tambo-registry-provider\";\nexport { TamboStubProvider, type TamboStubProviderProps } from \"./tambo-stubs\";\nexport {\n TamboThreadInputProvider,\n useTamboThreadInput,\n type TamboThreadInputContextProps,\n} from \"./tambo-thread-input-provider\";\nexport {\n TamboThreadContext,\n TamboThreadProvider,\n useTamboGenerationStage,\n useTamboThread,\n type TamboThreadProviderProps,\n} from \"./tambo-thread-provider\";\n"]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React, { PropsWithChildren } from "react";
|
|
2
|
-
import { RegisterToolFn, RegisterToolsFn, TamboComponent, TamboTool } from "../model/component-metadata";
|
|
3
|
-
export interface TamboComponentContextProps {
|
|
4
|
-
registerComponent: (options: TamboComponent) => void;
|
|
5
|
-
registerTool: RegisterToolFn;
|
|
6
|
-
registerTools: RegisterToolsFn;
|
|
7
|
-
addToolAssociation: (componentName: string, tool: TamboTool) => void;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* The TamboComponentProvider is a React provider that provides component
|
|
11
|
-
* registration services to the descendants of the provider.
|
|
12
|
-
* @param props - The props for the TamboComponentProvider
|
|
13
|
-
* @param props.children - The children to wrap
|
|
14
|
-
* @returns The TamboComponentProvider component
|
|
15
|
-
*/
|
|
16
|
-
export declare const TamboComponentProvider: React.FC<PropsWithChildren>;
|
|
17
|
-
/**
|
|
18
|
-
* The useTamboComponent hook provides access to the component registration
|
|
19
|
-
* services to the descendants of the TamboComponentProvider.
|
|
20
|
-
* @returns The component registration services
|
|
21
|
-
*/
|
|
22
|
-
export declare const useTamboComponent: () => TamboComponentContextProps;
|
|
23
|
-
//# sourceMappingURL=tambo-component-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tambo-component-provider.d.ts","sourceRoot":"","sources":["../../src/providers/tambo-component-provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAiB,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,SAAS,EACV,MAAM,6BAA6B,CAAC;AAIrC,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IACrD,YAAY,EAAE,cAAc,CAAC;IAC7B,aAAa,EAAE,eAAe,CAAC;IAC/B,kBAAkB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACtE;AAqBD;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoB9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,kCAE7B,CAAC"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
exports.useTamboComponent = exports.TamboComponentProvider = void 0;
|
|
38
|
-
const react_1 = __importStar(require("react"));
|
|
39
|
-
const tambo_client_provider_1 = require("./tambo-client-provider");
|
|
40
|
-
const tambo_registry_provider_1 = require("./tambo-registry-provider");
|
|
41
|
-
const TamboComponentContext = (0, react_1.createContext)({
|
|
42
|
-
/**
|
|
43
|
-
*
|
|
44
|
-
*/
|
|
45
|
-
registerComponent: () => { },
|
|
46
|
-
/**
|
|
47
|
-
*
|
|
48
|
-
*/
|
|
49
|
-
registerTool: () => { },
|
|
50
|
-
/**
|
|
51
|
-
*
|
|
52
|
-
*/
|
|
53
|
-
registerTools: () => { },
|
|
54
|
-
/**
|
|
55
|
-
*
|
|
56
|
-
*/
|
|
57
|
-
addToolAssociation: () => { },
|
|
58
|
-
});
|
|
59
|
-
/**
|
|
60
|
-
* The TamboComponentProvider is a React provider that provides component
|
|
61
|
-
* registration services to the descendants of the provider.
|
|
62
|
-
* @param props - The props for the TamboComponentProvider
|
|
63
|
-
* @param props.children - The children to wrap
|
|
64
|
-
* @returns The TamboComponentProvider component
|
|
65
|
-
*/
|
|
66
|
-
const TamboComponentProvider = ({ children, }) => {
|
|
67
|
-
const client = (0, tambo_client_provider_1.useTamboClient)();
|
|
68
|
-
const { registerComponent, addToolAssociation, registerTool, registerTools } = (0, tambo_registry_provider_1.useTamboRegistry)();
|
|
69
|
-
const value = {
|
|
70
|
-
client,
|
|
71
|
-
registerComponent,
|
|
72
|
-
registerTool,
|
|
73
|
-
registerTools,
|
|
74
|
-
addToolAssociation,
|
|
75
|
-
};
|
|
76
|
-
return (react_1.default.createElement(TamboComponentContext.Provider, { value: value }, children));
|
|
77
|
-
};
|
|
78
|
-
exports.TamboComponentProvider = TamboComponentProvider;
|
|
79
|
-
/**
|
|
80
|
-
* The useTamboComponent hook provides access to the component registration
|
|
81
|
-
* services to the descendants of the TamboComponentProvider.
|
|
82
|
-
* @returns The component registration services
|
|
83
|
-
*/
|
|
84
|
-
const useTamboComponent = () => {
|
|
85
|
-
return (0, react_1.useContext)(TamboComponentContext);
|
|
86
|
-
};
|
|
87
|
-
exports.useTamboComponent = useTamboComponent;
|
|
88
|
-
//# sourceMappingURL=tambo-component-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tambo-component-provider.js","sourceRoot":"","sources":["../../src/providers/tambo-component-provider.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACb,+CAA4E;AAO5E,mEAAyD;AACzD,uEAA6D;AAS7D,MAAM,qBAAqB,GAAG,IAAA,qBAAa,EAA6B;IACtE;;OAEG;IACH,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC3B;;OAEG;IACH,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;IACtB;;OAEG;IACH,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;IACvB;;OAEG;IACH,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;CAC7B,CAAC,CAAC;AAEH;;;;;;GAMG;AACI,MAAM,sBAAsB,GAAgC,CAAC,EAClE,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAA,sCAAc,GAAE,CAAC;IAChC,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,GAC1E,IAAA,0CAAgB,GAAE,CAAC;IAErB,MAAM,KAAK,GAAG;QACZ,MAAM;QACN,iBAAiB;QACjB,YAAY;QACZ,aAAa;QACb,kBAAkB;KACnB,CAAC;IAEF,OAAO,CACL,8BAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACzC,QAAQ,CACsB,CAClC,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,sBAAsB,0BAoBjC;AAEF;;;;GAIG;AACI,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,OAAO,IAAA,kBAAU,EAAC,qBAAqB,CAAC,CAAC;AAC3C,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B","sourcesContent":["\"use client\";\nimport React, { createContext, PropsWithChildren, useContext } from \"react\";\nimport {\n RegisterToolFn,\n RegisterToolsFn,\n TamboComponent,\n TamboTool,\n} from \"../model/component-metadata\";\nimport { useTamboClient } from \"./tambo-client-provider\";\nimport { useTamboRegistry } from \"./tambo-registry-provider\";\n\nexport interface TamboComponentContextProps {\n registerComponent: (options: TamboComponent) => void;\n registerTool: RegisterToolFn;\n registerTools: RegisterToolsFn;\n addToolAssociation: (componentName: string, tool: TamboTool) => void;\n}\n\nconst TamboComponentContext = createContext<TamboComponentContextProps>({\n /**\n *\n */\n registerComponent: () => {},\n /**\n *\n */\n registerTool: () => {},\n /**\n *\n */\n registerTools: () => {},\n /**\n *\n */\n addToolAssociation: () => {},\n});\n\n/**\n * The TamboComponentProvider is a React provider that provides component\n * registration services to the descendants of the provider.\n * @param props - The props for the TamboComponentProvider\n * @param props.children - The children to wrap\n * @returns The TamboComponentProvider component\n */\nexport const TamboComponentProvider: React.FC<PropsWithChildren> = ({\n children,\n}) => {\n const client = useTamboClient();\n const { registerComponent, addToolAssociation, registerTool, registerTools } =\n useTamboRegistry();\n\n const value = {\n client,\n registerComponent,\n registerTool,\n registerTools,\n addToolAssociation,\n };\n\n return (\n <TamboComponentContext.Provider value={value}>\n {children}\n </TamboComponentContext.Provider>\n );\n};\n\n/**\n * The useTamboComponent hook provides access to the component registration\n * services to the descendants of the TamboComponentProvider.\n * @returns The component registration services\n */\nexport const useTamboComponent = () => {\n return useContext(TamboComponentContext);\n};\n"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The TamboPropStreamProvider provides a context for managing stream states
|
|
3
|
-
* with compound components for Pending, Streaming, and Success states.
|
|
4
|
-
* @param children - The children to wrap
|
|
5
|
-
* @returns The TamboPropStreamProvider component
|
|
6
|
-
*/
|
|
7
|
-
export declare const TamboPropStreamProvider: import("react").FC<{
|
|
8
|
-
children?: import("react").ReactNode | undefined;
|
|
9
|
-
}> & {
|
|
10
|
-
Streaming: import("react").FC<import("./types").StreamStateComponentProps>;
|
|
11
|
-
Pending: import("react").FC<import("./types").StreamStateComponentProps>;
|
|
12
|
-
Success: import("react").FC<import("./types").StreamStateComponentProps>;
|
|
13
|
-
};
|
|
14
|
-
export { Pending } from "./pending";
|
|
15
|
-
export { useTamboStream } from "./provider";
|
|
16
|
-
export { Streaming } from "./streaming";
|
|
17
|
-
export { Success } from "./success";
|
|
18
|
-
export * from "./types";
|
|
19
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/tambo-prop-stream-provider/index.tsx"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;CAOnC,CAAC;AAGF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,cAAc,SAAS,CAAC"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.Success = exports.Streaming = exports.useTamboStream = exports.Pending = exports.TamboPropStreamProvider = void 0;
|
|
18
|
-
const pending_1 = require("./pending");
|
|
19
|
-
const provider_1 = require("./provider");
|
|
20
|
-
const streaming_1 = require("./streaming");
|
|
21
|
-
const success_1 = require("./success");
|
|
22
|
-
/**
|
|
23
|
-
* The TamboPropStreamProvider provides a context for managing stream states
|
|
24
|
-
* with compound components for Pending, Streaming, and Success states.
|
|
25
|
-
* @param children - The children to wrap
|
|
26
|
-
* @returns The TamboPropStreamProvider component
|
|
27
|
-
*/
|
|
28
|
-
exports.TamboPropStreamProvider = Object.assign(provider_1.TamboPropStreamProviderComponent, {
|
|
29
|
-
Streaming: streaming_1.Streaming,
|
|
30
|
-
Pending: pending_1.Pending,
|
|
31
|
-
Success: success_1.Success,
|
|
32
|
-
});
|
|
33
|
-
// Re-export components for individual use
|
|
34
|
-
var pending_2 = require("./pending");
|
|
35
|
-
Object.defineProperty(exports, "Pending", { enumerable: true, get: function () { return pending_2.Pending; } });
|
|
36
|
-
var provider_2 = require("./provider");
|
|
37
|
-
Object.defineProperty(exports, "useTamboStream", { enumerable: true, get: function () { return provider_2.useTamboStream; } });
|
|
38
|
-
var streaming_2 = require("./streaming");
|
|
39
|
-
Object.defineProperty(exports, "Streaming", { enumerable: true, get: function () { return streaming_2.Streaming; } });
|
|
40
|
-
var success_2 = require("./success");
|
|
41
|
-
Object.defineProperty(exports, "Success", { enumerable: true, get: function () { return success_2.Success; } });
|
|
42
|
-
__exportStar(require("./types"), exports);
|
|
43
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/tambo-prop-stream-provider/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAAoC;AACpC,yCAA8D;AAC9D,2CAAwC;AACxC,uCAAoC;AAEpC;;;;;GAKG;AACU,QAAA,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAClD,2CAAgC,EAChC;IACE,SAAS,EAAT,qBAAS;IACT,OAAO,EAAP,iBAAO;IACP,OAAO,EAAP,iBAAO;CACR,CACF,CAAC;AAEF,0CAA0C;AAC1C,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,0CAAwB","sourcesContent":["import { Pending } from \"./pending\";\nimport { TamboPropStreamProviderComponent } from \"./provider\";\nimport { Streaming } from \"./streaming\";\nimport { Success } from \"./success\";\n\n/**\n * The TamboPropStreamProvider provides a context for managing stream states\n * with compound components for Pending, Streaming, and Success states.\n * @param children - The children to wrap\n * @returns The TamboPropStreamProvider component\n */\nexport const TamboPropStreamProvider = Object.assign(\n TamboPropStreamProviderComponent,\n {\n Streaming,\n Pending,\n Success,\n },\n);\n\n// Re-export components for individual use\nexport { Pending } from \"./pending\";\nexport { useTamboStream } from \"./provider\";\nexport { Streaming } from \"./streaming\";\nexport { Success } from \"./success\";\nexport * from \"./types\";\n"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { StreamStateComponentProps } from "./types";
|
|
3
|
-
/**
|
|
4
|
-
* Pending component that renders children when the stream has no data
|
|
5
|
-
* @param props - The props for the Pending component
|
|
6
|
-
* @param props.streamKey - The key to identify this pending state
|
|
7
|
-
* @param props.children - The children to render when pending
|
|
8
|
-
* @param props.className - Optional className for styling
|
|
9
|
-
* @returns The Pending component
|
|
10
|
-
*/
|
|
11
|
-
export declare const Pending: React.FC<StreamStateComponentProps>;
|
|
12
|
-
//# sourceMappingURL=pending.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pending.d.ts","sourceRoot":"","sources":["../../../src/providers/tambo-prop-stream-provider/pending.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAsB,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAExE;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA0BvD,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Pending = void 0;
|
|
7
|
-
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const provider_1 = require("./provider");
|
|
9
|
-
const types_1 = require("./types");
|
|
10
|
-
/**
|
|
11
|
-
* Pending component that renders children when the stream has no data
|
|
12
|
-
* @param props - The props for the Pending component
|
|
13
|
-
* @param props.streamKey - The key to identify this pending state
|
|
14
|
-
* @param props.children - The children to render when pending
|
|
15
|
-
* @param props.className - Optional className for styling
|
|
16
|
-
* @returns The Pending component
|
|
17
|
-
*/
|
|
18
|
-
const Pending = ({ streamKey = types_1.DEFAULT_STREAM_KEY, children, className, }) => {
|
|
19
|
-
const { getStatusForKey } = (0, provider_1.useTamboStream)();
|
|
20
|
-
const status = getStatusForKey(streamKey);
|
|
21
|
-
// Show pending state when no active status (prop doesn't exist or is pending)
|
|
22
|
-
const hasActiveStatus = status.isStreaming || status.isSuccess || status.isError;
|
|
23
|
-
const shouldShowPending = !hasActiveStatus;
|
|
24
|
-
if (!shouldShowPending) {
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
return (react_1.default.createElement("div", { className: className, "data-stream-key": streamKey, "data-stream-state": "pending" }, children));
|
|
28
|
-
};
|
|
29
|
-
exports.Pending = Pending;
|
|
30
|
-
exports.Pending.displayName = "TamboPropStreamProvider.Pending";
|
|
31
|
-
//# sourceMappingURL=pending.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pending.js","sourceRoot":"","sources":["../../../src/providers/tambo-prop-stream-provider/pending.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,yCAA4C;AAC5C,mCAAwE;AAExE;;;;;;;GAOG;AACI,MAAM,OAAO,GAAwC,CAAC,EAC3D,SAAS,GAAG,0BAAkB,EAC9B,QAAQ,EACR,SAAS,GACV,EAAE,EAAE;IACH,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,yBAAc,GAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAE1C,8EAA8E;IAC9E,MAAM,eAAe,GACnB,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC;IAC3D,MAAM,iBAAiB,GAAG,CAAC,eAAe,CAAC;IAE3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,uCACE,SAAS,EAAE,SAAS,qBACH,SAAS,uBACR,SAAS,IAE1B,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,OAAO,WA0BlB;AAEF,eAAO,CAAC,WAAW,GAAG,iCAAiC,CAAC","sourcesContent":["import React from \"react\";\nimport { useTamboStream } from \"./provider\";\nimport { DEFAULT_STREAM_KEY, StreamStateComponentProps } from \"./types\";\n\n/**\n * Pending component that renders children when the stream has no data\n * @param props - The props for the Pending component\n * @param props.streamKey - The key to identify this pending state\n * @param props.children - The children to render when pending\n * @param props.className - Optional className for styling\n * @returns The Pending component\n */\nexport const Pending: React.FC<StreamStateComponentProps> = ({\n streamKey = DEFAULT_STREAM_KEY,\n children,\n className,\n}) => {\n const { getStatusForKey } = useTamboStream();\n const status = getStatusForKey(streamKey);\n\n // Show pending state when no active status (prop doesn't exist or is pending)\n const hasActiveStatus =\n status.isStreaming || status.isSuccess || status.isError;\n const shouldShowPending = !hasActiveStatus;\n\n if (!shouldShowPending) {\n return null;\n }\n\n return (\n <div\n className={className}\n data-stream-key={streamKey}\n data-stream-state=\"pending\"\n >\n {children}\n </div>\n );\n};\n\nPending.displayName = \"TamboPropStreamProvider.Pending\";\n"]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React, { PropsWithChildren } from "react";
|
|
2
|
-
import { TamboPropStreamContextValue } from "./types";
|
|
3
|
-
/**
|
|
4
|
-
* Hook to use the TamboStream context
|
|
5
|
-
* @returns The TamboStream context
|
|
6
|
-
*/
|
|
7
|
-
export declare const useTamboStream: () => TamboPropStreamContextValue;
|
|
8
|
-
/**
|
|
9
|
-
* The TamboStreamProvider provides a context for managing stream states
|
|
10
|
-
* with compound components for Pending, Streaming, and Success states.
|
|
11
|
-
* @param props - The props object
|
|
12
|
-
* @param props.children - The children to wrap
|
|
13
|
-
* @returns The TamboStreamProvider component
|
|
14
|
-
*/
|
|
15
|
-
declare const TamboPropStreamProviderComponent: React.FC<PropsWithChildren>;
|
|
16
|
-
export { TamboPropStreamProviderComponent };
|
|
17
|
-
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/providers/tambo-prop-stream-provider/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAEZ,iBAAiB,EAIlB,MAAM,OAAO,CAAC;AAEf,OAAO,EAGL,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AAKjB;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAO,2BAQjC,CAAC;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgEjE,CAAC;AAEF,OAAO,EAAE,gCAAgC,EAAE,CAAC"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
exports.TamboPropStreamProviderComponent = exports.useTamboStream = void 0;
|
|
38
|
-
const react_1 = __importStar(require("react"));
|
|
39
|
-
const use_tambo_stream_status_1 = require("../../hooks/use-tambo-stream-status");
|
|
40
|
-
const types_1 = require("./types");
|
|
41
|
-
const TamboPropStreamContext = (0, react_1.createContext)(null);
|
|
42
|
-
/**
|
|
43
|
-
* Hook to use the TamboStream context
|
|
44
|
-
* @returns The TamboStream context
|
|
45
|
-
*/
|
|
46
|
-
const useTamboStream = () => {
|
|
47
|
-
const context = (0, react_1.useContext)(TamboPropStreamContext);
|
|
48
|
-
if (!context) {
|
|
49
|
-
throw new Error("useTamboStream must be used within a TamboPropStreamProvider");
|
|
50
|
-
}
|
|
51
|
-
return context;
|
|
52
|
-
};
|
|
53
|
-
exports.useTamboStream = useTamboStream;
|
|
54
|
-
/**
|
|
55
|
-
* The TamboStreamProvider provides a context for managing stream states
|
|
56
|
-
* with compound components for Pending, Streaming, and Success states.
|
|
57
|
-
* @param props - The props object
|
|
58
|
-
* @param props.children - The children to wrap
|
|
59
|
-
* @returns The TamboStreamProvider component
|
|
60
|
-
*/
|
|
61
|
-
const TamboPropStreamProviderComponent = ({ children, }) => {
|
|
62
|
-
const { propStatus, streamStatus } = (0, use_tambo_stream_status_1.useTamboStreamStatus)();
|
|
63
|
-
const keyStatusMap = (0, react_1.useMemo)(() => {
|
|
64
|
-
const map = new Map();
|
|
65
|
-
if (propStatus) {
|
|
66
|
-
Object.entries(propStatus).forEach(([key, status]) => {
|
|
67
|
-
map.set(key, {
|
|
68
|
-
isPending: status.isPending,
|
|
69
|
-
isStreaming: status.isStreaming,
|
|
70
|
-
isSuccess: status.isSuccess,
|
|
71
|
-
isError: !!status.error,
|
|
72
|
-
error: status.error,
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
// Always set default status for fallback
|
|
77
|
-
map.set(types_1.DEFAULT_STREAM_KEY, {
|
|
78
|
-
isPending: streamStatus.isPending,
|
|
79
|
-
isStreaming: streamStatus.isStreaming,
|
|
80
|
-
isSuccess: streamStatus.isSuccess,
|
|
81
|
-
isError: streamStatus.isError,
|
|
82
|
-
error: streamStatus.streamError,
|
|
83
|
-
});
|
|
84
|
-
return map;
|
|
85
|
-
}, [streamStatus, propStatus]);
|
|
86
|
-
const getStatusForKey = (0, react_1.useCallback)((key) => {
|
|
87
|
-
// If the key exists in propStatus, return its status
|
|
88
|
-
const propStatus = keyStatusMap.get(key);
|
|
89
|
-
if (propStatus) {
|
|
90
|
-
return propStatus;
|
|
91
|
-
}
|
|
92
|
-
// If key doesn't exist in propStatus, assume it's pending
|
|
93
|
-
return {
|
|
94
|
-
isPending: true,
|
|
95
|
-
isStreaming: false,
|
|
96
|
-
isSuccess: false,
|
|
97
|
-
isError: false,
|
|
98
|
-
};
|
|
99
|
-
}, [keyStatusMap]);
|
|
100
|
-
const contextValue = (0, react_1.useMemo)(() => ({
|
|
101
|
-
streamStatus,
|
|
102
|
-
getStatusForKey,
|
|
103
|
-
}), [streamStatus, getStatusForKey]);
|
|
104
|
-
return (react_1.default.createElement(TamboPropStreamContext.Provider, { value: contextValue }, children));
|
|
105
|
-
};
|
|
106
|
-
exports.TamboPropStreamProviderComponent = TamboPropStreamProviderComponent;
|
|
107
|
-
//# sourceMappingURL=provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/tambo-prop-stream-provider/provider.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,+CAMe;AACf,iFAA2E;AAC3E,mCAIiB;AAEjB,MAAM,sBAAsB,GAC1B,IAAA,qBAAa,EAAqC,IAAI,CAAC,CAAC;AAE1D;;;GAGG;AACI,MAAM,cAAc,GAAG,GAAgC,EAAE;IAC9D,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,sBAAsB,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AAEF;;;;;;GAMG;AACH,MAAM,gCAAgC,GAAgC,CAAC,EACrE,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,8CAAoB,GAAE,CAAC;IAE5D,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAChC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwB,CAAC;QAE5C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;gBACnD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;oBACX,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;oBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,GAAG,CAAC,GAAG,CAAC,0BAAkB,EAAE;YAC1B,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,KAAK,EAAE,YAAY,CAAC,WAAW;SAChC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAE/B,MAAM,eAAe,GAAG,IAAA,mBAAW,EACjC,CAAC,GAAW,EAAgB,EAAE;QAC5B,qDAAqD;QACrD,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,0DAA0D;QAC1D,OAAO;YACL,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,eAAO,EAC1B,GAAgC,EAAE,CAAC,CAAC;QAClC,YAAY;QACZ,eAAe;KAChB,CAAC,EACF,CAAC,YAAY,EAAE,eAAe,CAAC,CAChC,CAAC;IAEF,OAAO,CACL,8BAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,IACjD,QAAQ,CACuB,CACnC,CAAC;AACJ,CAAC,CAAC;AAEO,4EAAgC","sourcesContent":["\"use client\";\n\nimport React, {\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useMemo,\n} from \"react\";\nimport { useTamboStreamStatus } from \"../../hooks/use-tambo-stream-status\";\nimport {\n DEFAULT_STREAM_KEY,\n StreamStatus,\n TamboPropStreamContextValue,\n} from \"./types\";\n\nconst TamboPropStreamContext =\n createContext<TamboPropStreamContextValue | null>(null);\n\n/**\n * Hook to use the TamboStream context\n * @returns The TamboStream context\n */\nexport const useTamboStream = (): TamboPropStreamContextValue => {\n const context = useContext(TamboPropStreamContext);\n if (!context) {\n throw new Error(\n \"useTamboStream must be used within a TamboPropStreamProvider\",\n );\n }\n return context;\n};\n\n/**\n * The TamboStreamProvider provides a context for managing stream states\n * with compound components for Pending, Streaming, and Success states.\n * @param props - The props object\n * @param props.children - The children to wrap\n * @returns The TamboStreamProvider component\n */\nconst TamboPropStreamProviderComponent: React.FC<PropsWithChildren> = ({\n children,\n}) => {\n const { propStatus, streamStatus } = useTamboStreamStatus();\n\n const keyStatusMap = useMemo(() => {\n const map = new Map<string, StreamStatus>();\n\n if (propStatus) {\n Object.entries(propStatus).forEach(([key, status]) => {\n map.set(key, {\n isPending: status.isPending,\n isStreaming: status.isStreaming,\n isSuccess: status.isSuccess,\n isError: !!status.error,\n error: status.error,\n });\n });\n }\n\n // Always set default status for fallback\n map.set(DEFAULT_STREAM_KEY, {\n isPending: streamStatus.isPending,\n isStreaming: streamStatus.isStreaming,\n isSuccess: streamStatus.isSuccess,\n isError: streamStatus.isError,\n error: streamStatus.streamError,\n });\n\n return map;\n }, [streamStatus, propStatus]);\n\n const getStatusForKey = useCallback(\n (key: string): StreamStatus => {\n // If the key exists in propStatus, return its status\n const propStatus = keyStatusMap.get(key);\n if (propStatus) {\n return propStatus;\n }\n\n // If key doesn't exist in propStatus, assume it's pending\n return {\n isPending: true,\n isStreaming: false,\n isSuccess: false,\n isError: false,\n };\n },\n [keyStatusMap],\n );\n\n const contextValue = useMemo(\n (): TamboPropStreamContextValue => ({\n streamStatus,\n getStatusForKey,\n }),\n [streamStatus, getStatusForKey],\n );\n\n return (\n <TamboPropStreamContext.Provider value={contextValue}>\n {children}\n </TamboPropStreamContext.Provider>\n );\n};\n\nexport { TamboPropStreamProviderComponent };\n"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { StreamStateComponentProps } from "./types";
|
|
3
|
-
/**
|
|
4
|
-
* Streaming component that renders children when the stream is in a streaming state
|
|
5
|
-
* @param props - The props for the Streaming component
|
|
6
|
-
* @param props.streamKey - The key to identify this streaming state
|
|
7
|
-
* @param props.children - The children to render when streaming
|
|
8
|
-
* @param props.className - Optional className for styling
|
|
9
|
-
* @returns The Streaming component
|
|
10
|
-
*/
|
|
11
|
-
export declare const Streaming: React.FC<StreamStateComponentProps>;
|
|
12
|
-
//# sourceMappingURL=streaming.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../../src/providers/tambo-prop-stream-provider/streaming.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAsB,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAExE;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAqBzD,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Streaming = void 0;
|
|
7
|
-
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const provider_1 = require("./provider");
|
|
9
|
-
const types_1 = require("./types");
|
|
10
|
-
/**
|
|
11
|
-
* Streaming component that renders children when the stream is in a streaming state
|
|
12
|
-
* @param props - The props for the Streaming component
|
|
13
|
-
* @param props.streamKey - The key to identify this streaming state
|
|
14
|
-
* @param props.children - The children to render when streaming
|
|
15
|
-
* @param props.className - Optional className for styling
|
|
16
|
-
* @returns The Streaming component
|
|
17
|
-
*/
|
|
18
|
-
const Streaming = ({ streamKey = types_1.DEFAULT_STREAM_KEY, children, className, }) => {
|
|
19
|
-
const { getStatusForKey } = (0, provider_1.useTamboStream)();
|
|
20
|
-
const status = getStatusForKey(streamKey);
|
|
21
|
-
if (!status.isPending && !status.isStreaming) {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
return (react_1.default.createElement("div", { className: className, "data-stream-key": streamKey, "data-stream-state": "streaming" }, children));
|
|
25
|
-
};
|
|
26
|
-
exports.Streaming = Streaming;
|
|
27
|
-
exports.Streaming.displayName = "TamboPropStreamProvider.Streaming";
|
|
28
|
-
//# sourceMappingURL=streaming.js.map
|