@tambo-ai/react 0.65.2 → 0.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +174 -81
- package/dist/context-helpers/context-helpers-provider.test.d.ts.map +1 -0
- package/dist/context-helpers/{__tests__/context-helpers-provider.test.js → context-helpers-provider.test.js} +2 -2
- package/dist/context-helpers/context-helpers-provider.test.js.map +1 -0
- package/dist/context-helpers/context-helpers.test.d.ts.map +1 -0
- package/dist/context-helpers/{__tests__/context-helpers.test.js → context-helpers.test.js} +1 -1
- package/dist/context-helpers/context-helpers.test.js.map +1 -0
- package/{esm/providers → dist}/hoc/with-tambo-interactable.d.ts +2 -2
- package/dist/hoc/with-tambo-interactable.d.ts.map +1 -0
- package/dist/{providers/hoc → hoc}/with-tambo-interactable.js +29 -2
- package/dist/hoc/with-tambo-interactable.js.map +1 -0
- package/dist/hoc/with-tambo-interactable.test.d.ts +2 -0
- package/dist/hoc/with-tambo-interactable.test.d.ts.map +1 -0
- package/dist/hoc/with-tambo-interactable.test.js +192 -0
- package/dist/hoc/with-tambo-interactable.test.js.map +1 -0
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-component-state.d.ts +11 -24
- package/dist/hooks/use-component-state.d.ts.map +1 -1
- package/dist/hooks/use-component-state.js +14 -5
- package/dist/hooks/use-component-state.js.map +1 -1
- package/dist/hooks/use-component-state.test.d.ts.map +1 -0
- package/dist/hooks/{__tests__/use-component-state.test.js → use-component-state.test.js} +7 -7
- package/dist/hooks/use-component-state.test.js.map +1 -0
- package/dist/hooks/use-current-message.d.ts +51 -7
- package/dist/hooks/use-current-message.d.ts.map +1 -1
- package/dist/hooks/use-current-message.js +50 -6
- package/dist/hooks/use-current-message.js.map +1 -1
- package/dist/hooks/use-current-message.test.d.ts +2 -0
- package/dist/hooks/use-current-message.test.d.ts.map +1 -0
- package/dist/hooks/use-current-message.test.js +264 -0
- package/dist/hooks/use-current-message.test.js.map +1 -0
- package/dist/hooks/use-message-images.test.d.ts.map +1 -0
- package/dist/hooks/{__tests__/use-message-images.test.js → use-message-images.test.js} +1 -1
- package/dist/hooks/use-message-images.test.js.map +1 -0
- package/dist/hooks/use-streaming-props.d.ts +7 -19
- package/dist/hooks/use-streaming-props.d.ts.map +1 -1
- package/dist/hooks/use-streaming-props.js +7 -19
- package/dist/hooks/use-streaming-props.js.map +1 -1
- package/dist/hooks/use-suggestions.d.ts +1 -1
- package/dist/hooks/use-suggestions.d.ts.map +1 -1
- package/dist/hooks/use-suggestions.js.map +1 -1
- package/dist/hooks/use-suggestions.test.d.ts.map +1 -0
- package/dist/hooks/{__tests__/use-suggestions.test.js → use-suggestions.test.js} +36 -29
- package/dist/hooks/use-suggestions.test.js.map +1 -0
- package/dist/hooks/use-tambo-stream-status.d.ts +9 -8
- package/dist/hooks/use-tambo-stream-status.d.ts.map +1 -1
- package/dist/hooks/use-tambo-stream-status.js +9 -8
- package/dist/hooks/use-tambo-stream-status.js.map +1 -1
- package/dist/hooks/use-tambo-stream-status.test.d.ts.map +1 -0
- package/dist/hooks/{__tests__/use-tambo-stream-status.test.js → use-tambo-stream-status.test.js} +6 -6
- package/dist/hooks/use-tambo-stream-status.test.js.map +1 -0
- package/dist/hooks/use-tambo-threads.test.d.ts.map +1 -0
- package/dist/hooks/{__tests__/use-tambo-threads.test.js → use-tambo-threads.test.js} +3 -3
- package/dist/hooks/use-tambo-threads.test.js.map +1 -0
- package/dist/index.d.ts +10 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/elicitation.d.ts +10 -2
- package/dist/mcp/elicitation.d.ts.map +1 -1
- package/dist/mcp/elicitation.js +19 -1
- package/dist/mcp/elicitation.js.map +1 -1
- package/dist/mcp/elicitation.test.d.ts.map +1 -0
- package/dist/mcp/{__tests__/elicitation.test.js → elicitation.test.js} +1 -1
- package/dist/mcp/elicitation.test.js.map +1 -0
- package/dist/mcp/index.d.ts +11 -2
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +11 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/mcp-client.d.ts +29 -10
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.test.d.ts.map +1 -0
- package/dist/mcp/{__tests__/mcp-client.test.js → mcp-client.test.js} +1 -1
- package/dist/mcp/mcp-client.test.js.map +1 -0
- package/dist/mcp/mcp-hooks.d.ts +129 -25
- package/dist/mcp/mcp-hooks.d.ts.map +1 -1
- package/dist/mcp/mcp-hooks.js +104 -40
- package/dist/mcp/mcp-hooks.js.map +1 -1
- package/dist/mcp/mcp-hooks.test.d.ts.map +1 -0
- package/dist/mcp/{__tests__/mcp-hooks.test.js → mcp-hooks.test.js} +90 -51
- package/dist/mcp/mcp-hooks.test.js.map +1 -0
- package/dist/mcp/tambo-mcp-provider.d.ts +2 -0
- package/dist/mcp/tambo-mcp-provider.d.ts.map +1 -1
- package/dist/mcp/tambo-mcp-provider.js +60 -13
- package/dist/mcp/tambo-mcp-provider.js.map +1 -1
- package/dist/mcp/tambo-mcp-provider.test.d.ts.map +1 -0
- package/dist/mcp/{__tests__/tambo-mcp-provider.test.js → tambo-mcp-provider.test.js} +9 -25
- package/dist/mcp/tambo-mcp-provider.test.js.map +1 -0
- package/dist/mcp/use-mcp-servers.test.d.ts.map +1 -0
- package/dist/mcp/{__tests__/use-mcp-servers.test.js → use-mcp-servers.test.js} +5 -11
- package/dist/mcp/use-mcp-servers.test.js.map +1 -0
- package/dist/model/component-metadata.d.ts +444 -14
- package/dist/model/component-metadata.d.ts.map +1 -1
- package/dist/model/component-metadata.js.map +1 -1
- package/dist/model/generate-component-response.d.ts +12 -1
- package/dist/model/generate-component-response.d.ts.map +1 -1
- package/dist/model/generate-component-response.js.map +1 -1
- package/dist/model/mcp-server-info.d.ts +3 -1
- package/dist/model/mcp-server-info.d.ts.map +1 -1
- package/dist/model/mcp-server-info.js.map +1 -1
- package/dist/model/resource-info.d.ts +55 -0
- package/dist/model/resource-info.d.ts.map +1 -0
- package/dist/model/resource-info.js +3 -0
- package/dist/model/resource-info.js.map +1 -0
- package/dist/model/tambo-thread.d.ts +6 -1
- package/dist/model/tambo-thread.d.ts.map +1 -1
- package/dist/model/tambo-thread.js.map +1 -1
- package/dist/providers/hooks/use-tambo-session-token.test.d.ts.map +1 -0
- package/dist/providers/hooks/{__tests__/use-tambo-session-token.test.js → use-tambo-session-token.test.js} +1 -1
- package/dist/providers/hooks/use-tambo-session-token.test.js.map +1 -0
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/tambo-client-provider.d.ts +0 -4
- package/dist/providers/tambo-client-provider.d.ts.map +1 -1
- package/dist/providers/tambo-client-provider.js +0 -3
- package/dist/providers/tambo-client-provider.js.map +1 -1
- package/dist/providers/tambo-component-provider.d.ts +4 -4
- package/dist/providers/tambo-component-provider.d.ts.map +1 -1
- package/dist/providers/tambo-component-provider.js.map +1 -1
- package/dist/providers/tambo-context-attachment-provider.test.d.ts.map +1 -0
- package/dist/providers/{__tests__/tambo-context-attachment-provider.test.js → tambo-context-attachment-provider.test.js} +2 -2
- package/dist/providers/tambo-context-attachment-provider.test.js.map +1 -0
- package/dist/providers/tambo-context-helpers-provider.test.d.ts.map +1 -0
- package/dist/providers/{__tests__/tambo-context-helpers-provider.test.js → tambo-context-helpers-provider.test.js} +2 -2
- package/dist/providers/tambo-context-helpers-provider.test.js.map +1 -0
- package/dist/providers/tambo-interactable-provider-partial-updates.test.d.ts.map +1 -0
- package/dist/providers/{__tests__/tambo-interactable-provider-partial-updates.test.js → tambo-interactable-provider-partial-updates.test.js} +91 -91
- package/dist/providers/tambo-interactable-provider-partial-updates.test.js.map +1 -0
- package/dist/providers/tambo-interactable-provider.d.ts +2 -3
- package/dist/providers/tambo-interactable-provider.d.ts.map +1 -1
- package/dist/providers/tambo-interactable-provider.js +47 -41
- package/dist/providers/tambo-interactable-provider.js.map +1 -1
- package/dist/providers/tambo-interactables-additional-context-edge-cases.test.d.ts.map +1 -0
- package/dist/providers/{__tests__/tambo-interactables-additional-context-edge-cases.test.js → tambo-interactables-additional-context-edge-cases.test.js} +17 -17
- package/dist/providers/tambo-interactables-additional-context-edge-cases.test.js.map +1 -0
- package/dist/providers/tambo-interactables-additional-context.test.d.ts.map +1 -0
- package/dist/providers/{__tests__/tambo-interactables-additional-context.test.js → tambo-interactables-additional-context.test.js} +19 -19
- package/dist/providers/tambo-interactables-additional-context.test.js.map +1 -0
- package/dist/providers/tambo-mcp-token-provider.d.ts +20 -13
- package/dist/providers/tambo-mcp-token-provider.d.ts.map +1 -1
- package/dist/providers/tambo-mcp-token-provider.js +122 -10
- package/dist/providers/tambo-mcp-token-provider.js.map +1 -1
- package/dist/providers/tambo-prop-stream-provider.test.d.ts.map +1 -0
- package/dist/providers/{__tests__/tambo-prop-stream-provider.test.js → tambo-prop-stream-provider.test.js} +32 -25
- package/dist/providers/tambo-prop-stream-provider.test.js.map +1 -0
- package/dist/providers/tambo-provider.d.ts +2 -2
- package/dist/providers/tambo-provider.d.ts.map +1 -1
- package/dist/providers/tambo-provider.js +5 -7
- package/dist/providers/tambo-provider.js.map +1 -1
- package/dist/providers/tambo-registry-provider.d.ts +28 -7
- package/dist/providers/tambo-registry-provider.d.ts.map +1 -1
- package/dist/providers/tambo-registry-provider.js +70 -181
- package/dist/providers/tambo-registry-provider.js.map +1 -1
- package/dist/providers/tambo-registry-provider.test.d.ts.map +1 -0
- package/dist/providers/{__tests__/tambo-registry-provider.test.js → tambo-registry-provider.test.js} +153 -31
- package/dist/providers/tambo-registry-provider.test.js.map +1 -0
- package/dist/providers/tambo-registry-schema-compat.test.d.ts +2 -0
- package/dist/providers/tambo-registry-schema-compat.test.d.ts.map +1 -0
- package/dist/providers/tambo-registry-schema-compat.test.js +616 -0
- package/dist/providers/tambo-registry-schema-compat.test.js.map +1 -0
- package/dist/providers/tambo-stubs.d.ts +2 -2
- package/dist/providers/tambo-stubs.d.ts.map +1 -1
- package/dist/providers/tambo-stubs.js +9 -2
- package/dist/providers/tambo-stubs.js.map +1 -1
- package/dist/providers/tambo-stubs.test.d.ts.map +1 -0
- package/dist/providers/{__tests__/tambo-stubs.test.js → tambo-stubs.test.js} +2 -2
- package/dist/providers/tambo-stubs.test.js.map +1 -0
- package/dist/providers/tambo-thread-input-provider.d.ts +2 -1
- package/dist/providers/tambo-thread-input-provider.d.ts.map +1 -1
- package/dist/providers/tambo-thread-input-provider.js +3 -3
- package/dist/providers/tambo-thread-input-provider.js.map +1 -1
- package/dist/providers/tambo-thread-provider-initial-messages.test.d.ts.map +1 -0
- package/dist/providers/{__tests__/tambo-thread-provider-initial-messages.test.js → tambo-thread-provider-initial-messages.test.js} +7 -9
- package/dist/providers/tambo-thread-provider-initial-messages.test.js.map +1 -0
- package/dist/providers/tambo-thread-provider.d.ts +8 -0
- package/dist/providers/tambo-thread-provider.d.ts.map +1 -1
- package/dist/providers/tambo-thread-provider.js +82 -19
- package/dist/providers/tambo-thread-provider.js.map +1 -1
- package/dist/providers/tambo-thread-provider.test.d.ts.map +1 -0
- package/dist/providers/{__tests__/tambo-thread-provider.test.js → tambo-thread-provider.test.js} +42 -78
- package/dist/providers/tambo-thread-provider.test.js.map +1 -0
- package/dist/schema/index.d.ts +6 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +18 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/json-schema.d.ts +35 -0
- package/dist/schema/json-schema.d.ts.map +1 -0
- package/dist/schema/json-schema.js +103 -0
- package/dist/schema/json-schema.js.map +1 -0
- package/dist/schema/schema.d.ts +66 -0
- package/dist/schema/schema.d.ts.map +1 -0
- package/dist/schema/schema.js +192 -0
- package/dist/schema/schema.js.map +1 -0
- package/dist/schema/schema.test.d.ts +2 -0
- package/dist/schema/schema.test.d.ts.map +1 -0
- package/dist/schema/schema.test.js +41 -0
- package/dist/schema/schema.test.js.map +1 -0
- package/dist/schema/standard-schema.d.ts +21 -0
- package/dist/schema/standard-schema.d.ts.map +1 -0
- package/dist/schema/standard-schema.js +37 -0
- package/dist/schema/standard-schema.js.map +1 -0
- package/dist/schema/validate.d.ts +14 -0
- package/dist/schema/validate.d.ts.map +1 -0
- package/dist/schema/validate.js +148 -0
- package/dist/schema/validate.js.map +1 -0
- package/dist/schema/validate.test.d.ts +2 -0
- package/dist/schema/validate.test.d.ts.map +1 -0
- package/dist/schema/validate.test.js +128 -0
- package/dist/schema/validate.test.js.map +1 -0
- package/dist/schema/zod.d.ts +54 -0
- package/dist/schema/zod.d.ts.map +1 -0
- package/dist/schema/zod.js +135 -0
- package/dist/schema/zod.js.map +1 -0
- package/dist/testing/tools.d.ts +29 -15
- package/dist/testing/tools.d.ts.map +1 -1
- package/dist/testing/tools.js +64 -19
- package/dist/testing/tools.js.map +1 -1
- package/dist/util/content-parts.test.d.ts.map +1 -0
- package/dist/util/{__tests__/content-parts.test.js → content-parts.test.js} +1 -1
- package/dist/util/content-parts.test.js.map +1 -0
- package/dist/util/generate-component.d.ts.map +1 -1
- package/dist/util/generate-component.js +3 -3
- package/dist/util/generate-component.js.map +1 -1
- package/dist/util/mcp-server-utils.d.ts +23 -0
- package/dist/util/mcp-server-utils.d.ts.map +1 -0
- package/dist/util/mcp-server-utils.js +107 -0
- package/dist/util/mcp-server-utils.js.map +1 -0
- package/dist/util/mcp-server-utils.test.d.ts +2 -0
- package/dist/util/mcp-server-utils.test.d.ts.map +1 -0
- package/dist/util/mcp-server-utils.test.js +287 -0
- package/dist/util/mcp-server-utils.test.js.map +1 -0
- package/dist/util/message-builder.d.ts +4 -3
- package/dist/util/message-builder.d.ts.map +1 -1
- package/dist/util/message-builder.js +83 -8
- package/dist/util/message-builder.js.map +1 -1
- package/dist/util/message-builder.test.d.ts.map +1 -0
- package/dist/util/message-builder.test.js +678 -0
- package/dist/util/message-builder.test.js.map +1 -0
- package/dist/util/query-utils.d.ts.map +1 -1
- package/dist/util/query-utils.js +49 -31
- package/dist/util/query-utils.js.map +1 -1
- package/dist/util/registry-validators.d.ts +26 -0
- package/dist/util/registry-validators.d.ts.map +1 -0
- package/dist/util/registry-validators.js +105 -0
- package/dist/util/registry-validators.js.map +1 -0
- package/dist/util/registry-validators.test.d.ts +2 -0
- package/dist/util/registry-validators.test.d.ts.map +1 -0
- package/dist/util/registry-validators.test.js +235 -0
- package/dist/util/registry-validators.test.js.map +1 -0
- package/dist/util/registry.d.ts +35 -7
- package/dist/util/registry.d.ts.map +1 -1
- package/dist/util/registry.js +60 -77
- package/dist/util/registry.js.map +1 -1
- package/dist/util/registry.test.d.ts +2 -0
- package/dist/util/registry.test.d.ts.map +1 -0
- package/dist/util/registry.test.js +204 -0
- package/dist/util/registry.test.js.map +1 -0
- package/dist/util/resource-validators.d.ts +16 -0
- package/dist/util/resource-validators.d.ts.map +1 -0
- package/dist/util/resource-validators.js +34 -0
- package/dist/util/resource-validators.js.map +1 -0
- package/dist/util/tool-caller.d.ts +2 -2
- package/dist/util/tool-caller.d.ts.map +1 -1
- package/dist/util/tool-caller.js +12 -4
- package/dist/util/tool-caller.js.map +1 -1
- package/esm/context-helpers/context-helpers-provider.test.d.ts.map +1 -0
- package/esm/context-helpers/{__tests__/context-helpers-provider.test.js → context-helpers-provider.test.js} +2 -2
- package/esm/context-helpers/context-helpers-provider.test.js.map +1 -0
- package/esm/context-helpers/context-helpers.test.d.ts.map +1 -0
- package/esm/context-helpers/{__tests__/context-helpers.test.js → context-helpers.test.js} +1 -1
- package/esm/context-helpers/context-helpers.test.js.map +1 -0
- package/{dist/providers → esm}/hoc/with-tambo-interactable.d.ts +2 -2
- package/esm/hoc/with-tambo-interactable.d.ts.map +1 -0
- package/esm/{providers/hoc → hoc}/with-tambo-interactable.js +29 -2
- package/esm/hoc/with-tambo-interactable.js.map +1 -0
- package/esm/hoc/with-tambo-interactable.test.d.ts +2 -0
- package/esm/hoc/with-tambo-interactable.test.d.ts.map +1 -0
- package/esm/hoc/with-tambo-interactable.test.js +187 -0
- package/esm/hoc/with-tambo-interactable.test.js.map +1 -0
- package/esm/hooks/index.d.ts +1 -1
- package/esm/hooks/index.d.ts.map +1 -1
- package/esm/hooks/index.js +1 -1
- package/esm/hooks/index.js.map +1 -1
- package/esm/hooks/use-component-state.d.ts +11 -24
- package/esm/hooks/use-component-state.d.ts.map +1 -1
- package/esm/hooks/use-component-state.js +14 -5
- package/esm/hooks/use-component-state.js.map +1 -1
- package/esm/hooks/use-component-state.test.d.ts.map +1 -0
- package/esm/hooks/{__tests__/use-component-state.test.js → use-component-state.test.js} +7 -7
- package/esm/hooks/use-component-state.test.js.map +1 -0
- package/esm/hooks/use-current-message.d.ts +51 -7
- package/esm/hooks/use-current-message.d.ts.map +1 -1
- package/esm/hooks/use-current-message.js +48 -5
- package/esm/hooks/use-current-message.js.map +1 -1
- package/esm/hooks/use-current-message.test.d.ts +2 -0
- package/esm/hooks/use-current-message.test.d.ts.map +1 -0
- package/esm/hooks/use-current-message.test.js +259 -0
- package/esm/hooks/use-current-message.test.js.map +1 -0
- package/esm/hooks/use-message-images.test.d.ts.map +1 -0
- package/esm/hooks/{__tests__/use-message-images.test.js → use-message-images.test.js} +1 -1
- package/esm/hooks/use-message-images.test.js.map +1 -0
- package/esm/hooks/use-streaming-props.d.ts +7 -19
- package/esm/hooks/use-streaming-props.d.ts.map +1 -1
- package/esm/hooks/use-streaming-props.js +7 -19
- package/esm/hooks/use-streaming-props.js.map +1 -1
- package/esm/hooks/use-suggestions.d.ts +1 -1
- package/esm/hooks/use-suggestions.d.ts.map +1 -1
- package/esm/hooks/use-suggestions.js.map +1 -1
- package/esm/hooks/use-suggestions.test.d.ts.map +1 -0
- package/esm/hooks/{__tests__/use-suggestions.test.js → use-suggestions.test.js} +36 -29
- package/esm/hooks/use-suggestions.test.js.map +1 -0
- package/esm/hooks/use-tambo-stream-status.d.ts +9 -8
- package/esm/hooks/use-tambo-stream-status.d.ts.map +1 -1
- package/esm/hooks/use-tambo-stream-status.js +9 -8
- package/esm/hooks/use-tambo-stream-status.js.map +1 -1
- package/esm/hooks/use-tambo-stream-status.test.d.ts.map +1 -0
- package/esm/hooks/{__tests__/use-tambo-stream-status.test.js → use-tambo-stream-status.test.js} +6 -6
- package/esm/hooks/use-tambo-stream-status.test.js.map +1 -0
- package/esm/hooks/use-tambo-threads.test.d.ts.map +1 -0
- package/esm/hooks/{__tests__/use-tambo-threads.test.js → use-tambo-threads.test.js} +3 -3
- package/esm/hooks/use-tambo-threads.test.js.map +1 -0
- package/esm/index.d.ts +10 -8
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +4 -2
- package/esm/index.js.map +1 -1
- package/esm/mcp/elicitation.d.ts +10 -2
- package/esm/mcp/elicitation.d.ts.map +1 -1
- package/esm/mcp/elicitation.js +19 -1
- package/esm/mcp/elicitation.js.map +1 -1
- package/esm/mcp/elicitation.test.d.ts.map +1 -0
- package/esm/mcp/{__tests__/elicitation.test.js → elicitation.test.js} +1 -1
- package/esm/mcp/elicitation.test.js.map +1 -0
- package/esm/mcp/index.d.ts +11 -2
- package/esm/mcp/index.d.ts.map +1 -1
- package/esm/mcp/index.js +10 -1
- package/esm/mcp/index.js.map +1 -1
- package/esm/mcp/mcp-client.d.ts +29 -10
- package/esm/mcp/mcp-client.d.ts.map +1 -1
- package/esm/mcp/mcp-client.test.d.ts.map +1 -0
- package/esm/mcp/{__tests__/mcp-client.test.js → mcp-client.test.js} +1 -1
- package/esm/mcp/mcp-client.test.js.map +1 -0
- package/esm/mcp/mcp-hooks.d.ts +129 -25
- package/esm/mcp/mcp-hooks.d.ts.map +1 -1
- package/esm/mcp/mcp-hooks.js +103 -40
- package/esm/mcp/mcp-hooks.js.map +1 -1
- package/esm/mcp/mcp-hooks.test.d.ts.map +1 -0
- package/esm/mcp/{__tests__/mcp-hooks.test.js → mcp-hooks.test.js} +90 -51
- package/esm/mcp/mcp-hooks.test.js.map +1 -0
- package/esm/mcp/tambo-mcp-provider.d.ts +2 -0
- package/esm/mcp/tambo-mcp-provider.d.ts.map +1 -1
- package/esm/mcp/tambo-mcp-provider.js +60 -13
- package/esm/mcp/tambo-mcp-provider.js.map +1 -1
- package/esm/mcp/tambo-mcp-provider.test.d.ts.map +1 -0
- package/esm/mcp/{__tests__/tambo-mcp-provider.test.js → tambo-mcp-provider.test.js} +9 -25
- package/esm/mcp/tambo-mcp-provider.test.js.map +1 -0
- package/esm/mcp/use-mcp-servers.test.d.ts.map +1 -0
- package/esm/mcp/{__tests__/use-mcp-servers.test.js → use-mcp-servers.test.js} +5 -11
- package/esm/mcp/use-mcp-servers.test.js.map +1 -0
- package/esm/model/component-metadata.d.ts +444 -14
- package/esm/model/component-metadata.d.ts.map +1 -1
- package/esm/model/component-metadata.js.map +1 -1
- package/esm/model/generate-component-response.d.ts +12 -1
- package/esm/model/generate-component-response.d.ts.map +1 -1
- package/esm/model/generate-component-response.js.map +1 -1
- package/esm/model/mcp-server-info.d.ts +3 -1
- package/esm/model/mcp-server-info.d.ts.map +1 -1
- package/esm/model/mcp-server-info.js.map +1 -1
- package/esm/model/resource-info.d.ts +55 -0
- package/esm/model/resource-info.d.ts.map +1 -0
- package/esm/model/resource-info.js +2 -0
- package/esm/model/resource-info.js.map +1 -0
- package/esm/model/tambo-thread.d.ts +6 -1
- package/esm/model/tambo-thread.d.ts.map +1 -1
- package/esm/model/tambo-thread.js.map +1 -1
- package/esm/providers/hooks/use-tambo-session-token.test.d.ts.map +1 -0
- package/esm/providers/hooks/{__tests__/use-tambo-session-token.test.js → use-tambo-session-token.test.js} +1 -1
- package/esm/providers/hooks/use-tambo-session-token.test.js.map +1 -0
- package/esm/providers/index.d.ts +1 -1
- package/esm/providers/index.d.ts.map +1 -1
- package/esm/providers/index.js.map +1 -1
- package/esm/providers/tambo-client-provider.d.ts +0 -4
- package/esm/providers/tambo-client-provider.d.ts.map +1 -1
- package/esm/providers/tambo-client-provider.js +0 -3
- package/esm/providers/tambo-client-provider.js.map +1 -1
- package/esm/providers/tambo-component-provider.d.ts +4 -4
- package/esm/providers/tambo-component-provider.d.ts.map +1 -1
- package/esm/providers/tambo-component-provider.js.map +1 -1
- package/esm/providers/tambo-context-attachment-provider.test.d.ts.map +1 -0
- package/esm/providers/{__tests__/tambo-context-attachment-provider.test.js → tambo-context-attachment-provider.test.js} +2 -2
- package/esm/providers/tambo-context-attachment-provider.test.js.map +1 -0
- package/esm/providers/tambo-context-helpers-provider.test.d.ts.map +1 -0
- package/esm/providers/{__tests__/tambo-context-helpers-provider.test.js → tambo-context-helpers-provider.test.js} +2 -2
- package/esm/providers/tambo-context-helpers-provider.test.js.map +1 -0
- package/esm/providers/tambo-interactable-provider-partial-updates.test.d.ts.map +1 -0
- package/esm/providers/{__tests__/tambo-interactable-provider-partial-updates.test.js → tambo-interactable-provider-partial-updates.test.js} +5 -5
- package/esm/providers/tambo-interactable-provider-partial-updates.test.js.map +1 -0
- package/esm/providers/tambo-interactable-provider.d.ts +2 -3
- package/esm/providers/tambo-interactable-provider.d.ts.map +1 -1
- package/esm/providers/tambo-interactable-provider.js +44 -38
- package/esm/providers/tambo-interactable-provider.js.map +1 -1
- package/esm/providers/tambo-interactables-additional-context-edge-cases.test.d.ts.map +1 -0
- package/esm/providers/{__tests__/tambo-interactables-additional-context-edge-cases.test.js → tambo-interactables-additional-context-edge-cases.test.js} +10 -10
- package/esm/providers/tambo-interactables-additional-context-edge-cases.test.js.map +1 -0
- package/esm/providers/tambo-interactables-additional-context.test.d.ts.map +1 -0
- package/esm/providers/{__tests__/tambo-interactables-additional-context.test.js → tambo-interactables-additional-context.test.js} +10 -10
- package/esm/providers/tambo-interactables-additional-context.test.js.map +1 -0
- package/esm/providers/tambo-mcp-token-provider.d.ts +20 -13
- package/esm/providers/tambo-mcp-token-provider.d.ts.map +1 -1
- package/esm/providers/tambo-mcp-token-provider.js +123 -11
- package/esm/providers/tambo-mcp-token-provider.js.map +1 -1
- package/esm/providers/tambo-prop-stream-provider.test.d.ts.map +1 -0
- package/esm/providers/{__tests__/tambo-prop-stream-provider.test.js → tambo-prop-stream-provider.test.js} +32 -25
- package/esm/providers/tambo-prop-stream-provider.test.js.map +1 -0
- package/esm/providers/tambo-provider.d.ts +2 -2
- package/esm/providers/tambo-provider.d.ts.map +1 -1
- package/esm/providers/tambo-provider.js +5 -7
- package/esm/providers/tambo-provider.js.map +1 -1
- package/esm/providers/tambo-registry-provider.d.ts +28 -7
- package/esm/providers/tambo-registry-provider.d.ts.map +1 -1
- package/esm/providers/tambo-registry-provider.js +67 -175
- package/esm/providers/tambo-registry-provider.js.map +1 -1
- package/esm/providers/tambo-registry-provider.test.d.ts.map +1 -0
- package/esm/providers/{__tests__/tambo-registry-provider.test.js → tambo-registry-provider.test.js} +149 -27
- package/esm/providers/tambo-registry-provider.test.js.map +1 -0
- package/esm/providers/tambo-registry-schema-compat.test.d.ts +2 -0
- package/esm/providers/tambo-registry-schema-compat.test.d.ts.map +1 -0
- package/esm/providers/tambo-registry-schema-compat.test.js +578 -0
- package/esm/providers/tambo-registry-schema-compat.test.js.map +1 -0
- package/esm/providers/tambo-stubs.d.ts +2 -2
- package/esm/providers/tambo-stubs.d.ts.map +1 -1
- package/esm/providers/tambo-stubs.js +9 -2
- package/esm/providers/tambo-stubs.js.map +1 -1
- package/esm/providers/tambo-stubs.test.d.ts.map +1 -0
- package/esm/providers/{__tests__/tambo-stubs.test.js → tambo-stubs.test.js} +2 -2
- package/esm/providers/tambo-stubs.test.js.map +1 -0
- package/esm/providers/tambo-thread-input-provider.d.ts +2 -1
- package/esm/providers/tambo-thread-input-provider.d.ts.map +1 -1
- package/esm/providers/tambo-thread-input-provider.js +3 -3
- package/esm/providers/tambo-thread-input-provider.js.map +1 -1
- package/esm/providers/tambo-thread-provider-initial-messages.test.d.ts.map +1 -0
- package/esm/providers/{__tests__/tambo-thread-provider-initial-messages.test.js → tambo-thread-provider-initial-messages.test.js} +7 -9
- package/esm/providers/tambo-thread-provider-initial-messages.test.js.map +1 -0
- package/esm/providers/tambo-thread-provider.d.ts +8 -0
- package/esm/providers/tambo-thread-provider.d.ts.map +1 -1
- package/esm/providers/tambo-thread-provider.js +82 -19
- package/esm/providers/tambo-thread-provider.js.map +1 -1
- package/esm/providers/tambo-thread-provider.test.d.ts.map +1 -0
- package/esm/providers/{__tests__/tambo-thread-provider.test.js → tambo-thread-provider.test.js} +34 -70
- package/esm/providers/tambo-thread-provider.test.js.map +1 -0
- package/esm/schema/index.d.ts +6 -0
- package/esm/schema/index.d.ts.map +1 -0
- package/esm/schema/index.js +6 -0
- package/esm/schema/index.js.map +1 -0
- package/esm/schema/json-schema.d.ts +35 -0
- package/esm/schema/json-schema.d.ts.map +1 -0
- package/esm/schema/json-schema.js +98 -0
- package/esm/schema/json-schema.js.map +1 -0
- package/esm/schema/schema.d.ts +66 -0
- package/esm/schema/schema.d.ts.map +1 -0
- package/esm/schema/schema.js +185 -0
- package/esm/schema/schema.js.map +1 -0
- package/esm/schema/schema.test.d.ts +2 -0
- package/esm/schema/schema.test.d.ts.map +1 -0
- package/esm/schema/schema.test.js +39 -0
- package/esm/schema/schema.test.js.map +1 -0
- package/esm/schema/standard-schema.d.ts +21 -0
- package/esm/schema/standard-schema.d.ts.map +1 -0
- package/esm/schema/standard-schema.js +34 -0
- package/esm/schema/standard-schema.js.map +1 -0
- package/esm/schema/validate.d.ts +14 -0
- package/esm/schema/validate.d.ts.map +1 -0
- package/esm/schema/validate.js +145 -0
- package/esm/schema/validate.js.map +1 -0
- package/esm/schema/validate.test.d.ts +2 -0
- package/esm/schema/validate.test.d.ts.map +1 -0
- package/esm/schema/validate.test.js +126 -0
- package/esm/schema/validate.test.js.map +1 -0
- package/esm/schema/zod.d.ts +54 -0
- package/esm/schema/zod.d.ts.map +1 -0
- package/esm/schema/zod.js +124 -0
- package/esm/schema/zod.js.map +1 -0
- package/esm/testing/tools.d.ts +29 -15
- package/esm/testing/tools.d.ts.map +1 -1
- package/esm/testing/tools.js +62 -16
- package/esm/testing/tools.js.map +1 -1
- package/esm/util/content-parts.test.d.ts.map +1 -0
- package/esm/util/{__tests__/content-parts.test.js → content-parts.test.js} +1 -1
- package/esm/util/content-parts.test.js.map +1 -0
- package/esm/util/generate-component.d.ts.map +1 -1
- package/esm/util/generate-component.js +3 -3
- package/esm/util/generate-component.js.map +1 -1
- package/esm/util/mcp-server-utils.d.ts +23 -0
- package/esm/util/mcp-server-utils.d.ts.map +1 -0
- package/esm/util/mcp-server-utils.js +102 -0
- package/esm/util/mcp-server-utils.js.map +1 -0
- package/esm/util/mcp-server-utils.test.d.ts +2 -0
- package/esm/util/mcp-server-utils.test.d.ts.map +1 -0
- package/esm/util/mcp-server-utils.test.js +285 -0
- package/esm/util/mcp-server-utils.test.js.map +1 -0
- package/esm/util/message-builder.d.ts +4 -3
- package/esm/util/message-builder.d.ts.map +1 -1
- package/esm/util/message-builder.js +83 -8
- package/esm/util/message-builder.js.map +1 -1
- package/esm/util/message-builder.test.d.ts.map +1 -0
- package/esm/util/message-builder.test.js +676 -0
- package/esm/util/message-builder.test.js.map +1 -0
- package/esm/util/query-utils.d.ts.map +1 -1
- package/esm/util/query-utils.js +49 -31
- package/esm/util/query-utils.js.map +1 -1
- package/esm/util/registry-validators.d.ts +26 -0
- package/esm/util/registry-validators.d.ts.map +1 -0
- package/esm/util/registry-validators.js +100 -0
- package/esm/util/registry-validators.js.map +1 -0
- package/esm/util/registry-validators.test.d.ts +2 -0
- package/esm/util/registry-validators.test.d.ts.map +1 -0
- package/esm/util/registry-validators.test.js +233 -0
- package/esm/util/registry-validators.test.js.map +1 -0
- package/esm/util/registry.d.ts +35 -7
- package/esm/util/registry.d.ts.map +1 -1
- package/esm/util/registry.js +57 -73
- package/esm/util/registry.js.map +1 -1
- package/esm/util/registry.test.d.ts +2 -0
- package/esm/util/registry.test.d.ts.map +1 -0
- package/esm/util/registry.test.js +169 -0
- package/esm/util/registry.test.js.map +1 -0
- package/esm/util/resource-validators.d.ts +16 -0
- package/esm/util/resource-validators.d.ts.map +1 -0
- package/esm/util/resource-validators.js +30 -0
- package/esm/util/resource-validators.js.map +1 -0
- package/esm/util/tool-caller.d.ts +2 -2
- package/esm/util/tool-caller.d.ts.map +1 -1
- package/esm/util/tool-caller.js +12 -4
- package/esm/util/tool-caller.js.map +1 -1
- package/package.json +30 -11
- package/dist/__tests__/util/validate-zod-schema.test.d.ts +0 -2
- package/dist/__tests__/util/validate-zod-schema.test.d.ts.map +0 -1
- package/dist/__tests__/util/validate-zod-schema.test.js +0 -96
- package/dist/__tests__/util/validate-zod-schema.test.js.map +0 -1
- package/dist/context-helpers/__tests__/context-helpers-provider.test.d.ts.map +0 -1
- package/dist/context-helpers/__tests__/context-helpers-provider.test.js.map +0 -1
- package/dist/context-helpers/__tests__/context-helpers.test.d.ts.map +0 -1
- package/dist/context-helpers/__tests__/context-helpers.test.js.map +0 -1
- package/dist/hooks/__tests__/use-component-state.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/use-component-state.test.js.map +0 -1
- package/dist/hooks/__tests__/use-message-images.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/use-message-images.test.js.map +0 -1
- package/dist/hooks/__tests__/use-suggestions.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/use-suggestions.test.js.map +0 -1
- package/dist/hooks/__tests__/use-tambo-stream-status.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/use-tambo-stream-status.test.js.map +0 -1
- package/dist/hooks/__tests__/use-tambo-threads.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/use-tambo-threads.test.js.map +0 -1
- package/dist/mcp/__tests__/elicitation.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/elicitation.test.js.map +0 -1
- package/dist/mcp/__tests__/mcp-client.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/mcp-client.test.js.map +0 -1
- package/dist/mcp/__tests__/mcp-hooks.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/mcp-hooks.test.js.map +0 -1
- package/dist/mcp/__tests__/tambo-mcp-provider.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/tambo-mcp-provider.test.js.map +0 -1
- package/dist/mcp/__tests__/use-mcp-servers.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/use-mcp-servers.test.js.map +0 -1
- package/dist/providers/__tests__/tambo-context-attachment-provider.test.d.ts.map +0 -1
- package/dist/providers/__tests__/tambo-context-attachment-provider.test.js.map +0 -1
- package/dist/providers/__tests__/tambo-context-helpers-provider.test.d.ts.map +0 -1
- package/dist/providers/__tests__/tambo-context-helpers-provider.test.js.map +0 -1
- package/dist/providers/__tests__/tambo-interactable-provider-partial-updates.test.d.ts.map +0 -1
- package/dist/providers/__tests__/tambo-interactable-provider-partial-updates.test.js.map +0 -1
- package/dist/providers/__tests__/tambo-interactables-additional-context-edge-cases.test.d.ts.map +0 -1
- package/dist/providers/__tests__/tambo-interactables-additional-context-edge-cases.test.js.map +0 -1
- package/dist/providers/__tests__/tambo-interactables-additional-context.test.d.ts.map +0 -1
- package/dist/providers/__tests__/tambo-interactables-additional-context.test.js.map +0 -1
- package/dist/providers/__tests__/tambo-prop-stream-provider.test.d.ts.map +0 -1
- package/dist/providers/__tests__/tambo-prop-stream-provider.test.js.map +0 -1
- package/dist/providers/__tests__/tambo-registry-provider.test.d.ts.map +0 -1
- package/dist/providers/__tests__/tambo-registry-provider.test.js.map +0 -1
- package/dist/providers/__tests__/tambo-stubs.test.d.ts.map +0 -1
- package/dist/providers/__tests__/tambo-stubs.test.js.map +0 -1
- package/dist/providers/__tests__/tambo-thread-provider-initial-messages.test.d.ts.map +0 -1
- package/dist/providers/__tests__/tambo-thread-provider-initial-messages.test.js.map +0 -1
- package/dist/providers/__tests__/tambo-thread-provider.test.d.ts.map +0 -1
- package/dist/providers/__tests__/tambo-thread-provider.test.js.map +0 -1
- package/dist/providers/hoc/with-tambo-interactable.d.ts.map +0 -1
- package/dist/providers/hoc/with-tambo-interactable.js.map +0 -1
- package/dist/providers/hooks/__tests__/use-tambo-session-token.test.d.ts.map +0 -1
- package/dist/providers/hooks/__tests__/use-tambo-session-token.test.js.map +0 -1
- package/dist/util/__tests__/content-parts.test.d.ts.map +0 -1
- package/dist/util/__tests__/content-parts.test.js.map +0 -1
- package/dist/util/__tests__/message-builder.test.d.ts.map +0 -1
- package/dist/util/__tests__/message-builder.test.js +0 -191
- package/dist/util/__tests__/message-builder.test.js.map +0 -1
- package/dist/util/validate-zod-schema.d.ts +0 -10
- package/dist/util/validate-zod-schema.d.ts.map +0 -1
- package/dist/util/validate-zod-schema.js +0 -100
- package/dist/util/validate-zod-schema.js.map +0 -1
- package/esm/__tests__/util/validate-zod-schema.test.d.ts +0 -2
- package/esm/__tests__/util/validate-zod-schema.test.d.ts.map +0 -1
- package/esm/__tests__/util/validate-zod-schema.test.js +0 -94
- package/esm/__tests__/util/validate-zod-schema.test.js.map +0 -1
- package/esm/context-helpers/__tests__/context-helpers-provider.test.d.ts.map +0 -1
- package/esm/context-helpers/__tests__/context-helpers-provider.test.js.map +0 -1
- package/esm/context-helpers/__tests__/context-helpers.test.d.ts.map +0 -1
- package/esm/context-helpers/__tests__/context-helpers.test.js.map +0 -1
- package/esm/hooks/__tests__/use-component-state.test.d.ts.map +0 -1
- package/esm/hooks/__tests__/use-component-state.test.js.map +0 -1
- package/esm/hooks/__tests__/use-message-images.test.d.ts.map +0 -1
- package/esm/hooks/__tests__/use-message-images.test.js.map +0 -1
- package/esm/hooks/__tests__/use-suggestions.test.d.ts.map +0 -1
- package/esm/hooks/__tests__/use-suggestions.test.js.map +0 -1
- package/esm/hooks/__tests__/use-tambo-stream-status.test.d.ts.map +0 -1
- package/esm/hooks/__tests__/use-tambo-stream-status.test.js.map +0 -1
- package/esm/hooks/__tests__/use-tambo-threads.test.d.ts.map +0 -1
- package/esm/hooks/__tests__/use-tambo-threads.test.js.map +0 -1
- package/esm/mcp/__tests__/elicitation.test.d.ts.map +0 -1
- package/esm/mcp/__tests__/elicitation.test.js.map +0 -1
- package/esm/mcp/__tests__/mcp-client.test.d.ts.map +0 -1
- package/esm/mcp/__tests__/mcp-client.test.js.map +0 -1
- package/esm/mcp/__tests__/mcp-hooks.test.d.ts.map +0 -1
- package/esm/mcp/__tests__/mcp-hooks.test.js.map +0 -1
- package/esm/mcp/__tests__/tambo-mcp-provider.test.d.ts.map +0 -1
- package/esm/mcp/__tests__/tambo-mcp-provider.test.js.map +0 -1
- package/esm/mcp/__tests__/use-mcp-servers.test.d.ts.map +0 -1
- package/esm/mcp/__tests__/use-mcp-servers.test.js.map +0 -1
- package/esm/providers/__tests__/tambo-context-attachment-provider.test.d.ts.map +0 -1
- package/esm/providers/__tests__/tambo-context-attachment-provider.test.js.map +0 -1
- package/esm/providers/__tests__/tambo-context-helpers-provider.test.d.ts.map +0 -1
- package/esm/providers/__tests__/tambo-context-helpers-provider.test.js.map +0 -1
- package/esm/providers/__tests__/tambo-interactable-provider-partial-updates.test.d.ts.map +0 -1
- package/esm/providers/__tests__/tambo-interactable-provider-partial-updates.test.js.map +0 -1
- package/esm/providers/__tests__/tambo-interactables-additional-context-edge-cases.test.d.ts.map +0 -1
- package/esm/providers/__tests__/tambo-interactables-additional-context-edge-cases.test.js.map +0 -1
- package/esm/providers/__tests__/tambo-interactables-additional-context.test.d.ts.map +0 -1
- package/esm/providers/__tests__/tambo-interactables-additional-context.test.js.map +0 -1
- package/esm/providers/__tests__/tambo-prop-stream-provider.test.d.ts.map +0 -1
- package/esm/providers/__tests__/tambo-prop-stream-provider.test.js.map +0 -1
- package/esm/providers/__tests__/tambo-registry-provider.test.d.ts.map +0 -1
- package/esm/providers/__tests__/tambo-registry-provider.test.js.map +0 -1
- package/esm/providers/__tests__/tambo-stubs.test.d.ts.map +0 -1
- package/esm/providers/__tests__/tambo-stubs.test.js.map +0 -1
- package/esm/providers/__tests__/tambo-thread-provider-initial-messages.test.d.ts.map +0 -1
- package/esm/providers/__tests__/tambo-thread-provider-initial-messages.test.js.map +0 -1
- package/esm/providers/__tests__/tambo-thread-provider.test.d.ts.map +0 -1
- package/esm/providers/__tests__/tambo-thread-provider.test.js.map +0 -1
- package/esm/providers/hoc/with-tambo-interactable.d.ts.map +0 -1
- package/esm/providers/hoc/with-tambo-interactable.js.map +0 -1
- package/esm/providers/hooks/__tests__/use-tambo-session-token.test.d.ts.map +0 -1
- package/esm/providers/hooks/__tests__/use-tambo-session-token.test.js.map +0 -1
- package/esm/util/__tests__/content-parts.test.d.ts.map +0 -1
- package/esm/util/__tests__/content-parts.test.js.map +0 -1
- package/esm/util/__tests__/message-builder.test.d.ts.map +0 -1
- package/esm/util/__tests__/message-builder.test.js +0 -189
- package/esm/util/__tests__/message-builder.test.js.map +0 -1
- package/esm/util/validate-zod-schema.d.ts +0 -10
- package/esm/util/validate-zod-schema.d.ts.map +0 -1
- package/esm/util/validate-zod-schema.js +0 -97
- package/esm/util/validate-zod-schema.js.map +0 -1
- /package/dist/context-helpers/{__tests__/context-helpers-provider.test.d.ts → context-helpers-provider.test.d.ts} +0 -0
- /package/dist/context-helpers/{__tests__/context-helpers.test.d.ts → context-helpers.test.d.ts} +0 -0
- /package/dist/hooks/{__tests__/use-component-state.test.d.ts → use-component-state.test.d.ts} +0 -0
- /package/dist/hooks/{__tests__/use-message-images.test.d.ts → use-message-images.test.d.ts} +0 -0
- /package/dist/hooks/{__tests__/use-suggestions.test.d.ts → use-suggestions.test.d.ts} +0 -0
- /package/dist/hooks/{__tests__/use-tambo-stream-status.test.d.ts → use-tambo-stream-status.test.d.ts} +0 -0
- /package/dist/hooks/{__tests__/use-tambo-threads.test.d.ts → use-tambo-threads.test.d.ts} +0 -0
- /package/dist/mcp/{__tests__/elicitation.test.d.ts → elicitation.test.d.ts} +0 -0
- /package/dist/mcp/{__tests__/mcp-client.test.d.ts → mcp-client.test.d.ts} +0 -0
- /package/dist/mcp/{__tests__/mcp-hooks.test.d.ts → mcp-hooks.test.d.ts} +0 -0
- /package/dist/mcp/{__tests__/tambo-mcp-provider.test.d.ts → tambo-mcp-provider.test.d.ts} +0 -0
- /package/dist/mcp/{__tests__/use-mcp-servers.test.d.ts → use-mcp-servers.test.d.ts} +0 -0
- /package/dist/providers/hooks/{__tests__/use-tambo-session-token.test.d.ts → use-tambo-session-token.test.d.ts} +0 -0
- /package/dist/providers/{__tests__/tambo-context-attachment-provider.test.d.ts → tambo-context-attachment-provider.test.d.ts} +0 -0
- /package/dist/providers/{__tests__/tambo-context-helpers-provider.test.d.ts → tambo-context-helpers-provider.test.d.ts} +0 -0
- /package/dist/providers/{__tests__/tambo-interactable-provider-partial-updates.test.d.ts → tambo-interactable-provider-partial-updates.test.d.ts} +0 -0
- /package/dist/providers/{__tests__/tambo-interactables-additional-context-edge-cases.test.d.ts → tambo-interactables-additional-context-edge-cases.test.d.ts} +0 -0
- /package/dist/providers/{__tests__/tambo-interactables-additional-context.test.d.ts → tambo-interactables-additional-context.test.d.ts} +0 -0
- /package/dist/providers/{__tests__/tambo-prop-stream-provider.test.d.ts → tambo-prop-stream-provider.test.d.ts} +0 -0
- /package/dist/providers/{__tests__/tambo-registry-provider.test.d.ts → tambo-registry-provider.test.d.ts} +0 -0
- /package/dist/providers/{__tests__/tambo-stubs.test.d.ts → tambo-stubs.test.d.ts} +0 -0
- /package/dist/providers/{__tests__/tambo-thread-provider-initial-messages.test.d.ts → tambo-thread-provider-initial-messages.test.d.ts} +0 -0
- /package/dist/providers/{__tests__/tambo-thread-provider.test.d.ts → tambo-thread-provider.test.d.ts} +0 -0
- /package/dist/util/{__tests__/content-parts.test.d.ts → content-parts.test.d.ts} +0 -0
- /package/dist/util/{__tests__/message-builder.test.d.ts → message-builder.test.d.ts} +0 -0
- /package/esm/context-helpers/{__tests__/context-helpers-provider.test.d.ts → context-helpers-provider.test.d.ts} +0 -0
- /package/esm/context-helpers/{__tests__/context-helpers.test.d.ts → context-helpers.test.d.ts} +0 -0
- /package/esm/hooks/{__tests__/use-component-state.test.d.ts → use-component-state.test.d.ts} +0 -0
- /package/esm/hooks/{__tests__/use-message-images.test.d.ts → use-message-images.test.d.ts} +0 -0
- /package/esm/hooks/{__tests__/use-suggestions.test.d.ts → use-suggestions.test.d.ts} +0 -0
- /package/esm/hooks/{__tests__/use-tambo-stream-status.test.d.ts → use-tambo-stream-status.test.d.ts} +0 -0
- /package/esm/hooks/{__tests__/use-tambo-threads.test.d.ts → use-tambo-threads.test.d.ts} +0 -0
- /package/esm/mcp/{__tests__/elicitation.test.d.ts → elicitation.test.d.ts} +0 -0
- /package/esm/mcp/{__tests__/mcp-client.test.d.ts → mcp-client.test.d.ts} +0 -0
- /package/esm/mcp/{__tests__/mcp-hooks.test.d.ts → mcp-hooks.test.d.ts} +0 -0
- /package/esm/mcp/{__tests__/tambo-mcp-provider.test.d.ts → tambo-mcp-provider.test.d.ts} +0 -0
- /package/esm/mcp/{__tests__/use-mcp-servers.test.d.ts → use-mcp-servers.test.d.ts} +0 -0
- /package/esm/providers/hooks/{__tests__/use-tambo-session-token.test.d.ts → use-tambo-session-token.test.d.ts} +0 -0
- /package/esm/providers/{__tests__/tambo-context-attachment-provider.test.d.ts → tambo-context-attachment-provider.test.d.ts} +0 -0
- /package/esm/providers/{__tests__/tambo-context-helpers-provider.test.d.ts → tambo-context-helpers-provider.test.d.ts} +0 -0
- /package/esm/providers/{__tests__/tambo-interactable-provider-partial-updates.test.d.ts → tambo-interactable-provider-partial-updates.test.d.ts} +0 -0
- /package/esm/providers/{__tests__/tambo-interactables-additional-context-edge-cases.test.d.ts → tambo-interactables-additional-context-edge-cases.test.d.ts} +0 -0
- /package/esm/providers/{__tests__/tambo-interactables-additional-context.test.d.ts → tambo-interactables-additional-context.test.d.ts} +0 -0
- /package/esm/providers/{__tests__/tambo-prop-stream-provider.test.d.ts → tambo-prop-stream-provider.test.d.ts} +0 -0
- /package/esm/providers/{__tests__/tambo-registry-provider.test.d.ts → tambo-registry-provider.test.d.ts} +0 -0
- /package/esm/providers/{__tests__/tambo-stubs.test.d.ts → tambo-stubs.test.d.ts} +0 -0
- /package/esm/providers/{__tests__/tambo-thread-provider-initial-messages.test.d.ts → tambo-thread-provider-initial-messages.test.d.ts} +0 -0
- /package/esm/providers/{__tests__/tambo-thread-provider.test.d.ts → tambo-thread-provider.test.d.ts} +0 -0
- /package/esm/util/{__tests__/content-parts.test.d.ts → content-parts.test.d.ts} +0 -0
- /package/esm/util/{__tests__/message-builder.test.d.ts → message-builder.test.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tambo-context-attachment-provider.test.js","sourceRoot":"","sources":["../../src/providers/tambo-context-attachment-provider.test.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Suggestion } from \"@tambo-ai/typescript-sdk/resources/beta/threads/suggestions\";\nimport { act, renderHook, waitFor } from \"@testing-library/react\";\nimport React from \"react\";\nimport {\n TamboContextAttachmentProvider,\n useTamboContextAttachment,\n type ContextAttachment,\n type ContextHelperData,\n} from \"./tambo-context-attachment-provider\";\nimport {\n TamboContextHelpersProvider,\n useTamboContextHelpers,\n} from \"./tambo-context-helpers-provider\";\n\n/**\n * Test suite for TamboContextAttachmentProvider\n *\n * Tests the context attachment feature which allows:\n * - Visual context badges above message input\n * - Automatic context helper registration/unregistration\n * - Custom suggestions that override auto-generated ones\n * - Dynamic context data customization via getContextHelperData\n */\ndescribe(\"TamboContextAttachmentProvider\", () => {\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n /**\n * Base wrapper with both TamboContextAttachmentProvider and TamboContextHelpersProvider\n * since context attachments need access to context helpers API\n * @param getContextHelperData - Optional custom function to get context helper data\n * @returns A React component that wraps children with the necessary providers\n */\n const createWrapper = (\n getContextHelperData?: (\n context: ContextAttachment,\n ) => Promise<ContextHelperData> | ContextHelperData,\n ) => {\n const Wrapper = ({ children }: { children: React.ReactNode }) => (\n <TamboContextHelpersProvider>\n <TamboContextAttachmentProvider\n getContextHelperData={getContextHelperData}\n >\n {children}\n </TamboContextAttachmentProvider>\n </TamboContextHelpersProvider>\n );\n Wrapper.displayName = \"TestWrapper\";\n return Wrapper;\n };\n\n describe(\"Hook Access\", () => {\n /**\n * Hook should provide all expected API functions when used within provider\n */\n it(\"should provide context attachment API functions\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n expect(result.current).toHaveProperty(\"attachments\");\n expect(result.current).toHaveProperty(\"addContextAttachment\");\n expect(result.current).toHaveProperty(\"removeContextAttachment\");\n expect(result.current).toHaveProperty(\"clearContextAttachments\");\n expect(result.current).toHaveProperty(\"customSuggestions\");\n expect(result.current).toHaveProperty(\"setCustomSuggestions\");\n });\n\n /**\n * Hook should throw error when used outside of provider\n */\n it(\"should throw error when used outside provider\", () => {\n // Suppress console.error for this test\n const consoleErrorSpy = jest\n .spyOn(console, \"error\")\n .mockImplementation(() => {});\n\n expect(() => {\n renderHook(() => useTamboContextAttachment());\n }).toThrow(\n \"useTamboContextAttachment must be used within a TamboContextAttachmentProvider\",\n );\n\n consoleErrorSpy.mockRestore();\n });\n });\n\n describe(\"Adding Context Attachments\", () => {\n /**\n * Should add a context attachment with auto-generated ID\n */\n it(\"should add a context attachment\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n act(() => {\n result.current.addContextAttachment({\n name: \"Button.tsx\",\n metadata: { filePath: \"/src/Button.tsx\" },\n });\n });\n\n expect(result.current.attachments).toHaveLength(1);\n expect(result.current.attachments[0]).toMatchObject({\n name: \"Button.tsx\",\n metadata: { filePath: \"/src/Button.tsx\" },\n });\n expect(result.current.attachments[0].id).toBeDefined();\n });\n\n /**\n * Should add multiple different attachments\n */\n it(\"should add multiple context attachments\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n act(() => {\n result.current.addContextAttachment({\n name: \"Button.tsx\",\n });\n result.current.addContextAttachment({\n name: \"Card.tsx\",\n });\n });\n\n expect(result.current.attachments).toHaveLength(2);\n expect(result.current.attachments[0].name).toBe(\"Button.tsx\");\n expect(result.current.attachments[1].name).toBe(\"Card.tsx\");\n });\n\n /**\n * Should prevent duplicates with the same name\n */\n it(\"should prevent duplicate attachments with same name\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n act(() => {\n result.current.addContextAttachment({\n name: \"Button.tsx\",\n });\n result.current.addContextAttachment({\n name: \"Button.tsx\",\n });\n });\n\n expect(result.current.attachments).toHaveLength(1);\n });\n\n /**\n * Should support optional icon property\n */\n it(\"should support icon property\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n const icon = <span>📄</span>;\n\n act(() => {\n result.current.addContextAttachment({\n name: \"File.txt\",\n icon,\n });\n });\n\n expect(result.current.attachments[0].icon).toBe(icon);\n });\n });\n\n describe(\"Removing Context Attachments\", () => {\n /**\n * Should remove a specific attachment by ID\n */\n it(\"should remove context attachment by ID\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n act(() => {\n result.current.addContextAttachment({\n name: \"Button.tsx\",\n });\n });\n\n expect(result.current.attachments).toHaveLength(1);\n const attachmentId = result.current.attachments[0].id;\n\n act(() => {\n result.current.removeContextAttachment(attachmentId);\n });\n\n expect(result.current.attachments).toHaveLength(0);\n });\n\n /**\n * Should only remove the specified attachment when multiple exist\n */\n it(\"should only remove specified attachment\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n act(() => {\n result.current.addContextAttachment({ name: \"First.tsx\" });\n result.current.addContextAttachment({ name: \"Second.tsx\" });\n });\n\n expect(result.current.attachments).toHaveLength(2);\n const firstId = result.current.attachments[0].id;\n\n act(() => {\n result.current.removeContextAttachment(firstId);\n });\n\n expect(result.current.attachments).toHaveLength(1);\n expect(result.current.attachments[0].name).toBe(\"Second.tsx\");\n });\n\n /**\n * Should handle removing non-existent attachment gracefully\n */\n it(\"should handle removing non-existent attachment gracefully\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n expect(() => {\n act(() => {\n result.current.removeContextAttachment(\"non-existent-id\");\n });\n }).not.toThrow();\n });\n });\n\n describe(\"Clearing All Attachments\", () => {\n /**\n * Should clear all attachments at once\n */\n it(\"should clear all context attachments\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n act(() => {\n result.current.addContextAttachment({ name: \"First.tsx\" });\n result.current.addContextAttachment({ name: \"Second.tsx\" });\n result.current.addContextAttachment({ name: \"Third.tsx\" });\n });\n\n expect(result.current.attachments).toHaveLength(3);\n\n act(() => {\n result.current.clearContextAttachments();\n });\n\n expect(result.current.attachments).toHaveLength(0);\n });\n\n /**\n * Should handle clearing when no attachments exist\n */\n it(\"should handle clearing when no attachments exist\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n expect(() => {\n act(() => {\n result.current.clearContextAttachments();\n });\n }).not.toThrow();\n\n expect(result.current.attachments).toHaveLength(0);\n });\n });\n\n describe(\"Context Helpers Integration\", () => {\n /**\n * Should automatically register context helpers when attachments are added\n */\n it(\"should register context helpers for attachments\", async () => {\n const wrapper = ({ children }: { children: React.ReactNode }) => (\n <TamboContextHelpersProvider>\n <TamboContextAttachmentProvider>\n {children}\n </TamboContextAttachmentProvider>\n </TamboContextHelpersProvider>\n );\n\n const { result } = renderHook(\n () => ({\n attachment: useTamboContextAttachment(),\n helpers: useTamboContextHelpers(),\n }),\n { wrapper },\n );\n\n // Add attachment\n act(() => {\n result.current.attachment.addContextAttachment({\n name: \"Button.tsx\",\n metadata: { filePath: \"/src/Button.tsx\" },\n });\n });\n\n // Wait for effect to run\n await waitFor(async () => {\n const contexts = await result.current.helpers.getAdditionalContext();\n expect(contexts.length).toBeGreaterThan(0);\n });\n\n const contexts = await result.current.helpers.getAdditionalContext();\n const attachmentContext = contexts.find((c) =>\n c.name.includes(result.current.attachment.attachments[0].id),\n );\n\n expect(attachmentContext).toBeDefined();\n expect(attachmentContext?.context).toHaveProperty(\"selectedComponent\");\n });\n\n /**\n * Should unregister context helpers when attachments are removed\n */\n it(\"should unregister context helpers when attachments are removed\", async () => {\n const wrapper = ({ children }: { children: React.ReactNode }) => (\n <TamboContextHelpersProvider>\n <TamboContextAttachmentProvider>\n {children}\n </TamboContextAttachmentProvider>\n </TamboContextHelpersProvider>\n );\n\n const { result } = renderHook(\n () => ({\n attachment: useTamboContextAttachment(),\n helpers: useTamboContextHelpers(),\n }),\n { wrapper },\n );\n\n // Add attachment\n act(() => {\n result.current.attachment.addContextAttachment({\n name: \"Button.tsx\",\n });\n });\n\n // Wait for context helper to be registered\n await waitFor(async () => {\n const contexts = await result.current.helpers.getAdditionalContext();\n expect(contexts.length).toBeGreaterThan(0);\n });\n\n const initialContexts =\n await result.current.helpers.getAdditionalContext();\n const initialCount = initialContexts.length;\n const attachmentId = result.current.attachment.attachments[0].id;\n\n // Remove attachment\n act(() => {\n result.current.attachment.removeContextAttachment(attachmentId);\n });\n\n // Wait for context helper to be unregistered\n await waitFor(async () => {\n const contexts = await result.current.helpers.getAdditionalContext();\n expect(contexts.length).toBeLessThan(initialCount);\n });\n });\n\n /**\n * Should use default context data structure when no custom function provided\n */\n it(\"should use default context data structure\", async () => {\n const wrapper = ({ children }: { children: React.ReactNode }) => (\n <TamboContextHelpersProvider>\n <TamboContextAttachmentProvider>\n {children}\n </TamboContextAttachmentProvider>\n </TamboContextHelpersProvider>\n );\n\n const { result } = renderHook(\n () => ({\n attachment: useTamboContextAttachment(),\n helpers: useTamboContextHelpers(),\n }),\n { wrapper },\n );\n\n act(() => {\n result.current.attachment.addContextAttachment({\n name: \"Button.tsx\",\n metadata: { filePath: \"/src/Button.tsx\", type: \"component\" },\n });\n });\n\n await waitFor(async () => {\n const contexts = await result.current.helpers.getAdditionalContext();\n expect(contexts.length).toBeGreaterThan(0);\n });\n\n const contexts = await result.current.helpers.getAdditionalContext();\n const attachmentContext = contexts.find((c) =>\n c.name.includes(result.current.attachment.attachments[0].id),\n );\n\n expect(attachmentContext?.context).toMatchObject({\n selectedComponent: {\n name: \"Button.tsx\",\n instruction: expect.stringContaining(\"Tambo interactable component\"),\n filePath: \"/src/Button.tsx\",\n type: \"component\",\n },\n });\n });\n\n /**\n * Should use custom getContextHelperData function when provided\n */\n it(\"should use custom getContextHelperData function\", async () => {\n const customGetContextHelperData = jest.fn(\n async (context: ContextAttachment) => ({\n selectedFile: {\n name: context.name,\n path: context.metadata?.filePath,\n customField: \"custom value\",\n },\n }),\n );\n\n const wrapper = ({ children }: { children: React.ReactNode }) => (\n <TamboContextHelpersProvider>\n <TamboContextAttachmentProvider\n getContextHelperData={customGetContextHelperData}\n >\n {children}\n </TamboContextAttachmentProvider>\n </TamboContextHelpersProvider>\n );\n\n const { result } = renderHook(\n () => ({\n attachment: useTamboContextAttachment(),\n helpers: useTamboContextHelpers(),\n }),\n { wrapper },\n );\n\n act(() => {\n result.current.attachment.addContextAttachment({\n name: \"Button.tsx\",\n metadata: { filePath: \"/src/Button.tsx\" },\n });\n });\n\n // Wait for context helper to be registered and called\n await waitFor(\n async () => {\n const contexts = await result.current.helpers.getAdditionalContext();\n expect(contexts.length).toBeGreaterThan(0);\n },\n { timeout: 2000 },\n );\n\n expect(customGetContextHelperData).toHaveBeenCalled();\n\n const contexts = await result.current.helpers.getAdditionalContext();\n const attachmentContext = contexts.find((c) =>\n c.name.includes(result.current.attachment.attachments[0].id),\n );\n\n expect(attachmentContext?.context).toEqual({\n selectedFile: {\n name: \"Button.tsx\",\n path: \"/src/Button.tsx\",\n customField: \"custom value\",\n },\n });\n });\n\n /**\n * Should update context helpers when getContextHelperData function changes\n * This tests the bug fix for stale closure issue\n */\n it(\"should update existing context helpers when getContextHelperData changes\", async () => {\n // Create a wrapper component with state to manage the function\n const TestWrapper = ({ children }: { children: React.ReactNode }) => {\n const [version, setVersion] = React.useState(\"v1\");\n\n const getContextHelperData = React.useCallback(\n async (context: ContextAttachment) => ({\n version,\n name: context.name,\n }),\n [version],\n );\n\n // Expose setVersion for the test\n (TestWrapper as any).setVersion = setVersion;\n\n return (\n <TamboContextHelpersProvider>\n <TamboContextAttachmentProvider\n getContextHelperData={getContextHelperData}\n >\n {children}\n </TamboContextAttachmentProvider>\n </TamboContextHelpersProvider>\n );\n };\n\n const { result } = renderHook(\n () => ({\n attachment: useTamboContextAttachment(),\n helpers: useTamboContextHelpers(),\n }),\n { wrapper: TestWrapper },\n );\n\n // Add attachment with first version\n act(() => {\n result.current.attachment.addContextAttachment({\n name: \"Button.tsx\",\n });\n });\n\n // Wait for context helper to be registered\n await waitFor(\n async () => {\n const contexts = await result.current.helpers.getAdditionalContext();\n expect(contexts.length).toBeGreaterThan(0);\n },\n { timeout: 2000 },\n );\n\n // Verify v1 context\n let contexts = await result.current.helpers.getAdditionalContext();\n let attachmentContext = contexts.find((c) =>\n c.name.includes(result.current.attachment.attachments[0].id),\n );\n expect(attachmentContext?.context).toMatchObject({ version: \"v1\" });\n\n // Change the version which will trigger a new getContextHelperData function\n act(() => {\n (TestWrapper as any).setVersion(\"v2\");\n });\n\n // Wait for context to update to v2\n await waitFor(\n async () => {\n const contexts = await result.current.helpers.getAdditionalContext();\n const context = contexts.find((c) =>\n c.name.includes(result.current.attachment.attachments[0].id),\n );\n return context?.context.version === \"v2\";\n },\n { timeout: 2000 },\n );\n\n // Verify v2 context - should be updated, not stale\n contexts = await result.current.helpers.getAdditionalContext();\n attachmentContext = contexts.find((c) =>\n c.name.includes(result.current.attachment.attachments[0].id),\n );\n expect(attachmentContext?.context).toMatchObject({ version: \"v2\" });\n });\n\n /**\n * Should handle errors in getContextHelperData gracefully\n */\n it(\"should handle errors in getContextHelperData gracefully\", async () => {\n const consoleErrorSpy = jest\n .spyOn(console, \"error\")\n .mockImplementation(() => {});\n\n const errorGetData = jest.fn(async () => {\n throw new Error(\"Custom data error\");\n });\n\n const wrapper = ({ children }: { children: React.ReactNode }) => (\n <TamboContextHelpersProvider>\n <TamboContextAttachmentProvider getContextHelperData={errorGetData}>\n {children}\n </TamboContextAttachmentProvider>\n </TamboContextHelpersProvider>\n );\n\n const { result } = renderHook(\n () => ({\n attachment: useTamboContextAttachment(),\n helpers: useTamboContextHelpers(),\n }),\n { wrapper },\n );\n\n act(() => {\n result.current.attachment.addContextAttachment({\n name: \"Button.tsx\",\n });\n });\n\n // Wait for effect to run and try to call the function\n await waitFor(\n () => {\n expect(result.current.attachment.attachments.length).toBeGreaterThan(\n 0,\n );\n },\n { timeout: 2000 },\n );\n\n // Try to get contexts, which will trigger the error\n await result.current.helpers.getAdditionalContext();\n\n expect(errorGetData).toHaveBeenCalled();\n expect(consoleErrorSpy).toHaveBeenCalled();\n\n consoleErrorSpy.mockRestore();\n });\n });\n\n describe(\"Custom Suggestions\", () => {\n /**\n * Should start with null custom suggestions\n */\n it(\"should initialize with null custom suggestions\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n expect(result.current.customSuggestions).toBeNull();\n });\n\n /**\n * Should set custom suggestions\n */\n it(\"should set custom suggestions\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n const suggestions: Suggestion[] = [\n {\n id: \"1\",\n title: \"Edit component\",\n detailedSuggestion: \"Modify the Button component\",\n messageId: \"\",\n },\n {\n id: \"2\",\n title: \"Add feature\",\n detailedSuggestion: \"Add a new feature\",\n messageId: \"\",\n },\n ];\n\n act(() => {\n result.current.setCustomSuggestions(suggestions);\n });\n\n expect(result.current.customSuggestions).toEqual(suggestions);\n });\n\n /**\n * Should clear custom suggestions by setting to null\n */\n it(\"should clear custom suggestions\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n const suggestions: Suggestion[] = [\n {\n id: \"1\",\n title: \"Test\",\n detailedSuggestion: \"Test suggestion\",\n messageId: \"\",\n },\n ];\n\n act(() => {\n result.current.setCustomSuggestions(suggestions);\n });\n\n expect(result.current.customSuggestions).toEqual(suggestions);\n\n act(() => {\n result.current.setCustomSuggestions(null);\n });\n\n expect(result.current.customSuggestions).toBeNull();\n });\n\n /**\n * Should update custom suggestions when changed\n */\n it(\"should update custom suggestions\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n const firstSuggestions: Suggestion[] = [\n {\n id: \"1\",\n title: \"First\",\n detailedSuggestion: \"First suggestion\",\n messageId: \"\",\n },\n ];\n\n const secondSuggestions: Suggestion[] = [\n {\n id: \"2\",\n title: \"Second\",\n detailedSuggestion: \"Second suggestion\",\n messageId: \"\",\n },\n ];\n\n act(() => {\n result.current.setCustomSuggestions(firstSuggestions);\n });\n\n expect(result.current.customSuggestions).toEqual(firstSuggestions);\n\n act(() => {\n result.current.setCustomSuggestions(secondSuggestions);\n });\n\n expect(result.current.customSuggestions).toEqual(secondSuggestions);\n });\n });\n\n describe(\"Combined Workflows\", () => {\n /**\n * Should handle adding attachment and setting custom suggestions together\n */\n it(\"should handle attachment and custom suggestions together\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n const suggestions: Suggestion[] = [\n {\n id: \"1\",\n title: \"Edit file\",\n detailedSuggestion: \"Edit this file\",\n messageId: \"\",\n },\n ];\n\n act(() => {\n result.current.addContextAttachment({\n name: \"Button.tsx\",\n metadata: { filePath: \"/src/Button.tsx\" },\n });\n result.current.setCustomSuggestions(suggestions);\n });\n\n expect(result.current.attachments).toHaveLength(1);\n expect(result.current.customSuggestions).toEqual(suggestions);\n });\n\n /**\n * Should clear suggestions when clearing attachments\n */\n it(\"should independently manage attachments and suggestions\", () => {\n const { result } = renderHook(() => useTamboContextAttachment(), {\n wrapper: createWrapper(),\n });\n\n const suggestions: Suggestion[] = [\n {\n id: \"1\",\n title: \"Test\",\n detailedSuggestion: \"Test suggestion\",\n messageId: \"\",\n },\n ];\n\n act(() => {\n result.current.addContextAttachment({ name: \"File.tsx\" });\n result.current.setCustomSuggestions(suggestions);\n });\n\n // Clear attachments\n act(() => {\n result.current.clearContextAttachments();\n });\n\n // Suggestions should remain\n expect(result.current.attachments).toHaveLength(0);\n expect(result.current.customSuggestions).toEqual(suggestions);\n\n // Can clear suggestions separately\n act(() => {\n result.current.setCustomSuggestions(null);\n });\n\n expect(result.current.customSuggestions).toBeNull();\n });\n });\n\n describe(\"Cleanup\", () => {\n /**\n * Should cleanup context helpers on unmount\n */\n it(\"should cleanup context helpers on unmount\", async () => {\n // Use a shared provider wrapper so context helpers persist\n const SharedWrapper = ({ children }: { children: React.ReactNode }) => (\n <TamboContextHelpersProvider>{children}</TamboContextHelpersProvider>\n );\n\n // First render with attachment provider\n const { result: attachmentResult, unmount } = renderHook(\n () => ({\n attachment: useTamboContextAttachment(),\n helpers: useTamboContextHelpers(),\n }),\n {\n wrapper: ({ children }) => (\n <SharedWrapper>\n <TamboContextAttachmentProvider>\n {children}\n </TamboContextAttachmentProvider>\n </SharedWrapper>\n ),\n },\n );\n\n // Add attachment\n act(() => {\n attachmentResult.current.attachment.addContextAttachment({\n name: \"Button.tsx\",\n });\n });\n\n const attachmentId =\n attachmentResult.current.attachment.attachments[0].id;\n\n // Wait for context helper to be registered\n await waitFor(async () => {\n const contexts =\n await attachmentResult.current.helpers.getAdditionalContext();\n const hasContext = contexts.some((c) => c.name.includes(attachmentId));\n expect(hasContext).toBe(true);\n });\n\n // Unmount the attachment provider\n unmount();\n\n // Create new hook to check cleanup\n const { result: helpersResult } = renderHook(\n () => useTamboContextHelpers(),\n { wrapper: SharedWrapper },\n );\n\n // Wait a bit for cleanup effect to run\n await new Promise((resolve) => setTimeout(resolve, 100));\n\n const contexts = await helpersResult.current.getAdditionalContext();\n\n // Should not contain the attachment context after unmount\n const hasAttachmentContext = contexts.some((c) =>\n c.name.includes(attachmentId),\n );\n expect(hasAttachmentContext).toBe(false);\n });\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tambo-context-helpers-provider.test.d.ts","sourceRoot":"","sources":["../../src/providers/tambo-context-helpers-provider.test.tsx"],"names":[],"mappings":""}
|
|
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = require("@testing-library/react");
|
|
7
7
|
const react_2 = __importDefault(require("react"));
|
|
8
|
-
const context_helpers_1 = require("
|
|
9
|
-
const tambo_context_helpers_provider_1 = require("
|
|
8
|
+
const context_helpers_1 = require("../context-helpers");
|
|
9
|
+
const tambo_context_helpers_provider_1 = require("./tambo-context-helpers-provider");
|
|
10
10
|
/**
|
|
11
11
|
* Test suite for TamboContextHelpersProvider (simplified API, registry-backed)
|
|
12
12
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tambo-context-helpers-provider.test.js","sourceRoot":"","sources":["../../src/providers/tambo-context-helpers-provider.test.tsx"],"names":[],"mappings":"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","sourcesContent":["import { act, renderHook } from \"@testing-library/react\";\nimport React from \"react\";\nimport {\n currentPageContextHelper,\n currentTimeContextHelper,\n} from \"../context-helpers\";\nimport {\n TamboContextHelpersProvider,\n useTamboContextHelpers,\n} from \"./tambo-context-helpers-provider\";\n\n/**\n * Test suite for TamboContextHelpersProvider (simplified API, registry-backed)\n *\n * The simplified API:\n * - Accepts a plain map of { key: () => any | null | undefined | Promise<any | null | undefined> }.\n * - The key becomes the context name sent to the model.\n * - Returning null/undefined from a helper skips inclusion.\n * - Prebuilt helpers are just functions (e.g., prebuiltUserTime, prebuiltUserPage).\n *\n * The hook is now registry-backed and safe to call outside a provider. When used\n * outside a provider, it proxies to a global registry and still works.\n */\ndescribe(\"TamboContextHelpersProvider\", () => {\n // Ensure registry is clean for each test to avoid cross-test contamination\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n // Base wrapper with no helpers provided\n const wrapper = ({ children }: { children: React.ReactNode }) => (\n <TamboContextHelpersProvider>{children}</TamboContextHelpersProvider>\n );\n\n describe(\"useTamboContextHelpers\", () => {\n /**\n * Verifies that the hook returns the expected API functions when used within a provider.\n */\n it(\"should provide context helpers functions (inside provider)\", () => {\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper,\n });\n expect(result.current).toHaveProperty(\"getAdditionalContext\");\n expect(result.current).toHaveProperty(\"getContextHelpers\");\n expect(result.current).toHaveProperty(\"addContextHelper\");\n expect(result.current).toHaveProperty(\"removeContextHelper\");\n });\n\n /**\n * With no helpers provided, no additional context should be returned.\n */\n it(\"should return no additional context when no helpers are provided\", async () => {\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper,\n });\n const contexts = await result.current.getAdditionalContext();\n expect(contexts).toHaveLength(0);\n });\n\n /**\n * When helpers are provided, getAdditionalContext should aggregate them.\n * Note: prebuiltUserPage may be null in non-browser envs, so we only assert userTime when present.\n */\n it(\"should get additional context when helpers are provided\", async () => {\n const withHelpers = ({ children }: { children: React.ReactNode }) => (\n <TamboContextHelpersProvider\n contextHelpers={{\n userTime: currentTimeContextHelper,\n userPage: currentPageContextHelper,\n }}\n >\n {children}\n </TamboContextHelpersProvider>\n );\n\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: withHelpers,\n });\n\n const contexts = await result.current.getAdditionalContext();\n const names = contexts.map((c) => c.name);\n\n // userTime should be present from prebuilt helper\n expect(names).toContain(\"userTime\");\n // userPage may be absent on server; do not assert strictly\n });\n\n /**\n * Errors thrown by helper functions should be caught and skipped, not crash the system.\n */\n it(\"should handle errors in context helper functions gracefully\", async () => {\n const consoleErrorSpy = jest\n .spyOn(console, \"error\")\n .mockImplementation(() => {});\n\n const badHelper = () => {\n throw new Error(\"Test error\");\n };\n\n const withBadHelper = ({ children }: { children: React.ReactNode }) => (\n <TamboContextHelpersProvider contextHelpers={{ badHelper }}>\n {children}\n </TamboContextHelpersProvider>\n );\n\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: withBadHelper,\n });\n\n const contexts = await result.current.getAdditionalContext();\n expect(contexts.length).toBe(0);\n expect(consoleErrorSpy).toHaveBeenCalledWith(\n expect.stringContaining(\"Error running context helper badHelper\"),\n expect.any(Error),\n );\n consoleErrorSpy.mockRestore();\n });\n });\n});\n\n/**\n * Test suite for Custom Context Helpers using the simplified API.\n *\n * Focuses on:\n * - Passing custom helpers via the provider prop.\n * - Overriding prebuilt helpers with custom implementations.\n * - Dynamic add/remove helper management at runtime.\n * - Supporting both sync and async helpers.\n * - Using the config key as the context name.\n * - Graceful error handling for custom helpers.\n */\ndescribe(\"Custom Context Helpers via contextHelpers config\", () => {\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n /**\n * Custom helpers can be added through the provider configuration.\n * The key becomes the context name and the function returns the raw value.\n */\n it(\"should accept custom helpers through contextHelpers config\", async () => {\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: ({ children }) => (\n <TamboContextHelpersProvider\n contextHelpers={{\n customData: async () => ({ custom: \"value\" }),\n }}\n >\n {children}\n </TamboContextHelpersProvider>\n ),\n });\n\n const contexts = await result.current.getAdditionalContext();\n expect(contexts).toContainEqual({\n name: \"customData\",\n context: { custom: \"value\" },\n });\n });\n\n /**\n * Built-in helpers can be overridden by providing a function under the same key.\n */\n it(\"should allow custom helpers to override built-in ones\", async () => {\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: ({ children }) => (\n <TamboContextHelpersProvider\n contextHelpers={{\n userTime: async () => ({ customTime: \"override\" }),\n }}\n >\n {children}\n </TamboContextHelpersProvider>\n ),\n });\n\n const contexts = await result.current.getAdditionalContext();\n const userTimeContext = contexts.find((c) => c.name === \"userTime\");\n expect(userTimeContext?.context).toEqual({ customTime: \"override\" });\n });\n\n /**\n * Helpers can be added dynamically at runtime via addContextHelper.\n */\n it(\"should handle dynamic addition of custom helpers\", async () => {\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: ({ children }) => (\n <TamboContextHelpersProvider contextHelpers={{}}>\n {children}\n </TamboContextHelpersProvider>\n ),\n });\n\n // Initially none\n expect(await result.current.getAdditionalContext()).toHaveLength(0);\n\n act(() => {\n result.current.addContextHelper(\"dynamicHelper\", async () => ({\n dynamic: true,\n }));\n });\n\n const contexts = await result.current.getAdditionalContext();\n expect(contexts).toContainEqual({\n name: \"dynamicHelper\",\n context: { dynamic: true },\n });\n });\n\n /**\n * Helpers can be removed dynamically via removeContextHelper.\n */\n it(\"should handle dynamic removal of context helpers\", async () => {\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: ({ children }) => (\n <TamboContextHelpersProvider\n contextHelpers={{\n customHelper: async () => ({ test: \"data\" }),\n }}\n >\n {children}\n </TamboContextHelpersProvider>\n ),\n });\n\n // Verify exists\n let contexts = await result.current.getAdditionalContext();\n expect(contexts.find((c) => c.name === \"customHelper\")).toBeDefined();\n\n // Remove\n act(() => {\n result.current.removeContextHelper(\"customHelper\");\n });\n\n // Verify removed\n contexts = await result.current.getAdditionalContext();\n expect(contexts.find((c) => c.name === \"customHelper\")).toBeUndefined();\n });\n\n /**\n * Multiple custom helpers should be supported; helpers returning null/undefined are skipped.\n */\n it(\"should handle multiple custom helpers\", async () => {\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: ({ children }) => (\n <TamboContextHelpersProvider\n contextHelpers={{\n helper1: async () => ({ data: \"one\" }),\n helper2: async () => ({ data: \"two\" }),\n helper3: () => null, // disabled by returning null\n }}\n >\n {children}\n </TamboContextHelpersProvider>\n ),\n });\n\n const contexts = await result.current.getAdditionalContext();\n expect(contexts).toContainEqual({\n name: \"helper1\",\n context: { data: \"one\" },\n });\n expect(contexts).toContainEqual({\n name: \"helper2\",\n context: { data: \"two\" },\n });\n expect(contexts.find((c) => c.name === \"helper3\")).toBeUndefined();\n });\n\n /**\n * Both synchronous and asynchronous helpers should be supported.\n */\n it(\"should handle sync and async custom helpers\", async () => {\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: ({ children }) => (\n <TamboContextHelpersProvider\n contextHelpers={{\n syncHelper: () => ({ sync: true }),\n asyncHelper: async () => {\n await new Promise((resolve) => setTimeout(resolve, 10));\n return { async: true };\n },\n }}\n >\n {children}\n </TamboContextHelpersProvider>\n ),\n });\n\n const contexts = await result.current.getAdditionalContext();\n expect(contexts).toContainEqual({\n name: \"syncHelper\",\n context: { sync: true },\n });\n expect(contexts).toContainEqual({\n name: \"asyncHelper\",\n context: { async: true },\n });\n });\n\n /**\n * The key used in the contextHelpers map becomes the context name.\n */\n it(\"should use key name as context name for custom helpers\", async () => {\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: ({ children }) => (\n <TamboContextHelpersProvider\n contextHelpers={{\n myCustomKey: async () => ({ value: \"test\" }),\n }}\n >\n {children}\n </TamboContextHelpersProvider>\n ),\n });\n\n const contexts = await result.current.getAdditionalContext();\n expect(contexts).toContainEqual({\n name: \"myCustomKey\",\n context: { value: \"test\" },\n });\n });\n\n /**\n * Errors thrown by custom helpers should be logged and skipped, not crash the system.\n */\n it(\"should handle errors in custom helpers gracefully\", async () => {\n const consoleErrorSpy = jest\n .spyOn(console, \"error\")\n .mockImplementation(() => {});\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: ({ children }) => (\n <TamboContextHelpersProvider\n contextHelpers={{\n errorHelper: async () => {\n throw new Error(\"Custom helper error\");\n },\n goodHelper: async () => ({ good: \"data\" }),\n }}\n >\n {children}\n </TamboContextHelpersProvider>\n ),\n });\n\n const contexts = await result.current.getAdditionalContext();\n expect(contexts).toContainEqual({\n name: \"goodHelper\",\n context: { good: \"data\" },\n });\n expect(contexts.find((c) => c.name === \"errorHelper\")).toBeUndefined();\n expect(consoleErrorSpy).toHaveBeenCalledWith(\n expect.stringContaining(\"Error running context helper errorHelper\"),\n expect.any(Error),\n );\n consoleErrorSpy.mockRestore();\n });\n\n /**\n * Removing non-existent helpers should be a no-op without throwing errors.\n */\n it(\"should handle removing non-existent helper gracefully\", () => {\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: ({ children }) => (\n <TamboContextHelpersProvider contextHelpers={{}}>\n {children}\n </TamboContextHelpersProvider>\n ),\n });\n\n expect(() => {\n act(() => {\n result.current.removeContextHelper(\"nonExistent\");\n });\n }).not.toThrow();\n });\n\n /**\n * Adding with an existing name should update/replace the helper implementation.\n */\n it(\"should allow updating existing helper via addContextHelper\", async () => {\n const { result } = renderHook(() => useTamboContextHelpers(), {\n wrapper: ({ children }) => (\n <TamboContextHelpersProvider\n contextHelpers={{\n testHelper: async () => ({ original: true }),\n }}\n >\n {children}\n </TamboContextHelpersProvider>\n ),\n });\n\n // Verify original helper\n let contexts = await result.current.getAdditionalContext();\n expect(contexts).toContainEqual({\n name: \"testHelper\",\n context: { original: true },\n });\n\n // Update the helper\n act(() => {\n result.current.addContextHelper(\"testHelper\", async () => ({\n updated: true,\n }));\n });\n\n // Verify updated helper\n contexts = await result.current.getAdditionalContext();\n expect(contexts).toContainEqual({\n name: \"testHelper\",\n context: { updated: true },\n });\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tambo-interactable-provider-partial-updates.test.d.ts","sourceRoot":"","sources":["../../src/providers/tambo-interactable-provider-partial-updates.test.tsx"],"names":[],"mappings":""}
|
|
@@ -5,12 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = require("@testing-library/react");
|
|
7
7
|
const react_2 = __importDefault(require("react"));
|
|
8
|
-
const
|
|
9
|
-
const tambo_interactable_provider_1 = require("
|
|
8
|
+
const zodInternalAlias_1 = require("zodInternalAlias");
|
|
9
|
+
const tambo_interactable_provider_1 = require("./tambo-interactable-provider");
|
|
10
10
|
// Mock the context helpers
|
|
11
11
|
const mockAddContextHelper = jest.fn();
|
|
12
12
|
const mockRemoveContextHelper = jest.fn();
|
|
13
|
-
jest.mock("
|
|
13
|
+
jest.mock("./tambo-context-helpers-provider", () => ({
|
|
14
14
|
TamboContextHelpersProvider: ({ children, }) => react_2.default.createElement(react_2.default.Fragment, null, children),
|
|
15
15
|
useTamboContextHelpers: () => ({
|
|
16
16
|
addContextHelper: mockAddContextHelper,
|
|
@@ -19,13 +19,13 @@ jest.mock("../tambo-context-helpers-provider", () => ({
|
|
|
19
19
|
}));
|
|
20
20
|
// Mock the component provider
|
|
21
21
|
const mockRegisterTool = jest.fn();
|
|
22
|
-
jest.mock("
|
|
22
|
+
jest.mock("./tambo-component-provider", () => ({
|
|
23
23
|
useTamboComponent: () => ({
|
|
24
24
|
registerTool: mockRegisterTool,
|
|
25
25
|
}),
|
|
26
26
|
}));
|
|
27
27
|
// Mock the context helper creation
|
|
28
|
-
jest.mock("
|
|
28
|
+
jest.mock("../context-helpers/current-interactables-context-helper", () => ({
|
|
29
29
|
createInteractablesContextHelper: () => jest.fn(() => ({
|
|
30
30
|
name: "interactables",
|
|
31
31
|
context: {
|
|
@@ -52,13 +52,13 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
52
52
|
active: true,
|
|
53
53
|
metadata: { type: "test", version: "1.0" },
|
|
54
54
|
},
|
|
55
|
-
propsSchema:
|
|
56
|
-
title:
|
|
57
|
-
count:
|
|
58
|
-
active:
|
|
59
|
-
metadata:
|
|
60
|
-
type:
|
|
61
|
-
version:
|
|
55
|
+
propsSchema: zodInternalAlias_1.z.object({
|
|
56
|
+
title: zodInternalAlias_1.z.string(),
|
|
57
|
+
count: zodInternalAlias_1.z.number(),
|
|
58
|
+
active: zodInternalAlias_1.z.boolean(),
|
|
59
|
+
metadata: zodInternalAlias_1.z.object({
|
|
60
|
+
type: zodInternalAlias_1.z.string(),
|
|
61
|
+
version: zodInternalAlias_1.z.string(),
|
|
62
62
|
}),
|
|
63
63
|
}),
|
|
64
64
|
};
|
|
@@ -100,11 +100,11 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
100
100
|
active: true,
|
|
101
101
|
description: "Original description",
|
|
102
102
|
},
|
|
103
|
-
propsSchema:
|
|
104
|
-
title:
|
|
105
|
-
count:
|
|
106
|
-
active:
|
|
107
|
-
description:
|
|
103
|
+
propsSchema: zodInternalAlias_1.z.object({
|
|
104
|
+
title: zodInternalAlias_1.z.string(),
|
|
105
|
+
count: zodInternalAlias_1.z.number(),
|
|
106
|
+
active: zodInternalAlias_1.z.boolean(),
|
|
107
|
+
description: zodInternalAlias_1.z.string(),
|
|
108
108
|
}),
|
|
109
109
|
};
|
|
110
110
|
let componentId = "";
|
|
@@ -155,14 +155,14 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
155
155
|
},
|
|
156
156
|
},
|
|
157
157
|
},
|
|
158
|
-
propsSchema:
|
|
159
|
-
title:
|
|
160
|
-
config:
|
|
161
|
-
theme:
|
|
162
|
-
language:
|
|
163
|
-
features:
|
|
164
|
-
notifications:
|
|
165
|
-
analytics:
|
|
158
|
+
propsSchema: zodInternalAlias_1.z.object({
|
|
159
|
+
title: zodInternalAlias_1.z.string(),
|
|
160
|
+
config: zodInternalAlias_1.z.object({
|
|
161
|
+
theme: zodInternalAlias_1.z.string(),
|
|
162
|
+
language: zodInternalAlias_1.z.string(),
|
|
163
|
+
features: zodInternalAlias_1.z.object({
|
|
164
|
+
notifications: zodInternalAlias_1.z.boolean(),
|
|
165
|
+
analytics: zodInternalAlias_1.z.boolean(),
|
|
166
166
|
}),
|
|
167
167
|
}),
|
|
168
168
|
}),
|
|
@@ -200,10 +200,10 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
200
200
|
items: ["item1", "item2", "item3"],
|
|
201
201
|
tags: ["tag1", "tag2"],
|
|
202
202
|
},
|
|
203
|
-
propsSchema:
|
|
204
|
-
title:
|
|
205
|
-
items:
|
|
206
|
-
tags:
|
|
203
|
+
propsSchema: zodInternalAlias_1.z.object({
|
|
204
|
+
title: zodInternalAlias_1.z.string(),
|
|
205
|
+
items: zodInternalAlias_1.z.array(zodInternalAlias_1.z.string()),
|
|
206
|
+
tags: zodInternalAlias_1.z.array(zodInternalAlias_1.z.string()),
|
|
207
207
|
}),
|
|
208
208
|
};
|
|
209
209
|
let componentId = "";
|
|
@@ -233,10 +233,10 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
233
233
|
count: 5,
|
|
234
234
|
description: "Original description",
|
|
235
235
|
},
|
|
236
|
-
propsSchema:
|
|
237
|
-
title:
|
|
238
|
-
count:
|
|
239
|
-
description:
|
|
236
|
+
propsSchema: zodInternalAlias_1.z.object({
|
|
237
|
+
title: zodInternalAlias_1.z.string(),
|
|
238
|
+
count: zodInternalAlias_1.z.number(),
|
|
239
|
+
description: zodInternalAlias_1.z.string(),
|
|
240
240
|
}),
|
|
241
241
|
};
|
|
242
242
|
let componentId = "";
|
|
@@ -285,7 +285,7 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
285
285
|
description: "A component with spaces in name",
|
|
286
286
|
component: () => react_2.default.createElement("div", null, "Invalid"),
|
|
287
287
|
props: { title: "Test" },
|
|
288
|
-
propsSchema:
|
|
288
|
+
propsSchema: zodInternalAlias_1.z.object({ title: zodInternalAlias_1.z.string() }),
|
|
289
289
|
};
|
|
290
290
|
expect(() => {
|
|
291
291
|
(0, react_1.act)(() => {
|
|
@@ -300,7 +300,7 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
300
300
|
description: "A test component",
|
|
301
301
|
component: () => react_2.default.createElement("div", null, "Test"),
|
|
302
302
|
props: { title: "Original Title" },
|
|
303
|
-
propsSchema:
|
|
303
|
+
propsSchema: zodInternalAlias_1.z.object({ title: zodInternalAlias_1.z.string() }),
|
|
304
304
|
};
|
|
305
305
|
let componentId = "";
|
|
306
306
|
(0, react_1.act)(() => {
|
|
@@ -319,7 +319,7 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
319
319
|
description: "A test component",
|
|
320
320
|
component: () => react_2.default.createElement("div", null, "Test"),
|
|
321
321
|
props: { title: "Original Title" },
|
|
322
|
-
propsSchema:
|
|
322
|
+
propsSchema: zodInternalAlias_1.z.object({ title: zodInternalAlias_1.z.string() }),
|
|
323
323
|
};
|
|
324
324
|
let componentId = "";
|
|
325
325
|
(0, react_1.act)(() => {
|
|
@@ -338,7 +338,7 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
338
338
|
description: "A test component",
|
|
339
339
|
component: () => react_2.default.createElement("div", null, "Test"),
|
|
340
340
|
props: { title: "Original Title" },
|
|
341
|
-
propsSchema:
|
|
341
|
+
propsSchema: zodInternalAlias_1.z.object({ title: zodInternalAlias_1.z.string() }),
|
|
342
342
|
};
|
|
343
343
|
let componentId = "";
|
|
344
344
|
(0, react_1.act)(() => {
|
|
@@ -365,15 +365,15 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
365
365
|
metadata: { type: "test", version: "1.0" },
|
|
366
366
|
items: ["item1", "item2"],
|
|
367
367
|
},
|
|
368
|
-
propsSchema:
|
|
369
|
-
title:
|
|
370
|
-
count:
|
|
371
|
-
active:
|
|
372
|
-
metadata:
|
|
373
|
-
type:
|
|
374
|
-
version:
|
|
368
|
+
propsSchema: zodInternalAlias_1.z.object({
|
|
369
|
+
title: zodInternalAlias_1.z.string(),
|
|
370
|
+
count: zodInternalAlias_1.z.number(),
|
|
371
|
+
active: zodInternalAlias_1.z.boolean(),
|
|
372
|
+
metadata: zodInternalAlias_1.z.object({
|
|
373
|
+
type: zodInternalAlias_1.z.string(),
|
|
374
|
+
version: zodInternalAlias_1.z.string(),
|
|
375
375
|
}),
|
|
376
|
-
items:
|
|
376
|
+
items: zodInternalAlias_1.z.array(zodInternalAlias_1.z.string()),
|
|
377
377
|
}),
|
|
378
378
|
};
|
|
379
379
|
let componentId = "";
|
|
@@ -427,25 +427,25 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
427
427
|
description: "A test component with large data",
|
|
428
428
|
component: () => react_2.default.createElement("div", null, "Test"),
|
|
429
429
|
props: largeData,
|
|
430
|
-
propsSchema:
|
|
431
|
-
users:
|
|
432
|
-
id:
|
|
433
|
-
name:
|
|
430
|
+
propsSchema: zodInternalAlias_1.z.object({
|
|
431
|
+
users: zodInternalAlias_1.z.array(zodInternalAlias_1.z.object({
|
|
432
|
+
id: zodInternalAlias_1.z.number(),
|
|
433
|
+
name: zodInternalAlias_1.z.string(),
|
|
434
434
|
})),
|
|
435
|
-
settings:
|
|
436
|
-
theme:
|
|
437
|
-
language:
|
|
438
|
-
notifications:
|
|
439
|
-
privacy:
|
|
440
|
-
shareData:
|
|
441
|
-
analytics:
|
|
442
|
-
marketing:
|
|
435
|
+
settings: zodInternalAlias_1.z.object({
|
|
436
|
+
theme: zodInternalAlias_1.z.string(),
|
|
437
|
+
language: zodInternalAlias_1.z.string(),
|
|
438
|
+
notifications: zodInternalAlias_1.z.boolean(),
|
|
439
|
+
privacy: zodInternalAlias_1.z.object({
|
|
440
|
+
shareData: zodInternalAlias_1.z.boolean(),
|
|
441
|
+
analytics: zodInternalAlias_1.z.boolean(),
|
|
442
|
+
marketing: zodInternalAlias_1.z.boolean(),
|
|
443
443
|
}),
|
|
444
444
|
}),
|
|
445
|
-
metadata:
|
|
446
|
-
version:
|
|
447
|
-
build:
|
|
448
|
-
timestamp:
|
|
445
|
+
metadata: zodInternalAlias_1.z.object({
|
|
446
|
+
version: zodInternalAlias_1.z.string(),
|
|
447
|
+
build: zodInternalAlias_1.z.string(),
|
|
448
|
+
timestamp: zodInternalAlias_1.z.number(),
|
|
449
449
|
}),
|
|
450
450
|
}),
|
|
451
451
|
};
|
|
@@ -488,10 +488,10 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
488
488
|
title: "Original Title",
|
|
489
489
|
count: 0,
|
|
490
490
|
},
|
|
491
|
-
propsSchema:
|
|
492
|
-
title:
|
|
493
|
-
count:
|
|
494
|
-
newProperty:
|
|
491
|
+
propsSchema: zodInternalAlias_1.z.object({
|
|
492
|
+
title: zodInternalAlias_1.z.string(),
|
|
493
|
+
count: zodInternalAlias_1.z.number(),
|
|
494
|
+
newProperty: zodInternalAlias_1.z.string().optional(),
|
|
495
495
|
}),
|
|
496
496
|
};
|
|
497
497
|
let componentId = "";
|
|
@@ -521,10 +521,10 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
521
521
|
count: 5,
|
|
522
522
|
active: true,
|
|
523
523
|
},
|
|
524
|
-
propsSchema:
|
|
525
|
-
title:
|
|
526
|
-
count:
|
|
527
|
-
active:
|
|
524
|
+
propsSchema: zodInternalAlias_1.z.object({
|
|
525
|
+
title: zodInternalAlias_1.z.string(),
|
|
526
|
+
count: zodInternalAlias_1.z.number(),
|
|
527
|
+
active: zodInternalAlias_1.z.boolean(),
|
|
528
528
|
}),
|
|
529
529
|
};
|
|
530
530
|
let componentId = "";
|
|
@@ -565,17 +565,17 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
565
565
|
},
|
|
566
566
|
},
|
|
567
567
|
},
|
|
568
|
-
propsSchema:
|
|
569
|
-
title:
|
|
570
|
-
config:
|
|
571
|
-
theme:
|
|
572
|
-
language:
|
|
573
|
-
features:
|
|
574
|
-
notifications:
|
|
575
|
-
analytics:
|
|
576
|
-
experimental:
|
|
577
|
-
beta:
|
|
578
|
-
alpha:
|
|
568
|
+
propsSchema: zodInternalAlias_1.z.object({
|
|
569
|
+
title: zodInternalAlias_1.z.string(),
|
|
570
|
+
config: zodInternalAlias_1.z.object({
|
|
571
|
+
theme: zodInternalAlias_1.z.string(),
|
|
572
|
+
language: zodInternalAlias_1.z.string(),
|
|
573
|
+
features: zodInternalAlias_1.z.object({
|
|
574
|
+
notifications: zodInternalAlias_1.z.boolean(),
|
|
575
|
+
analytics: zodInternalAlias_1.z.boolean(),
|
|
576
|
+
experimental: zodInternalAlias_1.z.object({
|
|
577
|
+
beta: zodInternalAlias_1.z.boolean(),
|
|
578
|
+
alpha: zodInternalAlias_1.z.boolean(),
|
|
579
579
|
}),
|
|
580
580
|
}),
|
|
581
581
|
}),
|
|
@@ -639,17 +639,17 @@ describe("updateInteractableComponentProps - Partial Updates", () => {
|
|
|
639
639
|
},
|
|
640
640
|
},
|
|
641
641
|
},
|
|
642
|
-
propsSchema:
|
|
643
|
-
title:
|
|
644
|
-
config:
|
|
645
|
-
theme:
|
|
646
|
-
language:
|
|
647
|
-
features:
|
|
648
|
-
notifications:
|
|
649
|
-
analytics:
|
|
650
|
-
experimental:
|
|
651
|
-
beta:
|
|
652
|
-
alpha:
|
|
642
|
+
propsSchema: zodInternalAlias_1.z.object({
|
|
643
|
+
title: zodInternalAlias_1.z.string(),
|
|
644
|
+
config: zodInternalAlias_1.z.object({
|
|
645
|
+
theme: zodInternalAlias_1.z.string(),
|
|
646
|
+
language: zodInternalAlias_1.z.string(),
|
|
647
|
+
features: zodInternalAlias_1.z.object({
|
|
648
|
+
notifications: zodInternalAlias_1.z.boolean(),
|
|
649
|
+
analytics: zodInternalAlias_1.z.boolean(),
|
|
650
|
+
experimental: zodInternalAlias_1.z.object({
|
|
651
|
+
beta: zodInternalAlias_1.z.boolean(),
|
|
652
|
+
alpha: zodInternalAlias_1.z.boolean(),
|
|
653
653
|
}),
|
|
654
654
|
}),
|
|
655
655
|
}),
|