@tambo-ai/react 1.1.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/context-helpers/current-interactables-context-helper.d.ts +16 -2
- package/dist/context-helpers/current-interactables-context-helper.d.ts.map +1 -1
- package/dist/context-helpers/current-interactables-context-helper.js.map +1 -1
- package/dist/context-helpers/current-interactables-context-helper.test.d.ts +2 -0
- package/dist/context-helpers/current-interactables-context-helper.test.d.ts.map +1 -0
- package/dist/context-helpers/current-interactables-context-helper.test.js +70 -0
- package/dist/context-helpers/current-interactables-context-helper.test.js.map +1 -0
- package/dist/hoc/with-tambo-interactable.d.ts.map +1 -1
- package/dist/hoc/with-tambo-interactable.js +11 -2
- package/dist/hoc/with-tambo-interactable.js.map +1 -1
- package/dist/hoc/with-tambo-interactable.test.js +14 -0
- package/dist/hoc/with-tambo-interactable.test.js.map +1 -1
- package/dist/mcp/elicitation.d.ts +3 -37
- package/dist/mcp/elicitation.d.ts.map +1 -1
- package/dist/mcp/elicitation.js +7 -24
- package/dist/mcp/elicitation.js.map +1 -1
- package/dist/mcp/index.d.ts +4 -4
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +2 -2
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/mcp-client.test.js +17 -17
- package/dist/mcp/mcp-client.test.js.map +1 -1
- package/dist/mcp/mcp-hooks.d.ts.map +1 -1
- package/dist/mcp/mcp-hooks.js +8 -5
- package/dist/mcp/mcp-hooks.js.map +1 -1
- package/dist/mcp/mcp-hooks.test.js +30 -29
- package/dist/mcp/mcp-hooks.test.js.map +1 -1
- package/dist/mcp/tambo-mcp-provider.d.ts +6 -9
- package/dist/mcp/tambo-mcp-provider.d.ts.map +1 -1
- package/dist/mcp/tambo-mcp-provider.js +9 -13
- package/dist/mcp/tambo-mcp-provider.js.map +1 -1
- package/dist/mcp/tambo-mcp-provider.test.js +26 -25
- package/dist/mcp/tambo-mcp-provider.test.js.map +1 -1
- package/dist/mcp/use-mcp-servers.test.js +2 -1
- package/dist/mcp/use-mcp-servers.test.js.map +1 -1
- package/dist/model/component-metadata.d.ts +7 -372
- package/dist/model/component-metadata.d.ts.map +1 -1
- package/dist/model/component-metadata.js.map +1 -1
- package/dist/model/validate-input.test.d.ts +2 -0
- package/dist/model/validate-input.test.d.ts.map +1 -0
- package/dist/model/validate-input.test.js +38 -0
- package/dist/model/validate-input.test.js.map +1 -0
- package/dist/providers/tambo-interactable-provider-partial-updates.test.js +2 -0
- package/dist/providers/tambo-interactable-provider-partial-updates.test.js.map +1 -1
- package/dist/providers/tambo-interactable-provider.d.ts +7 -7
- package/dist/providers/tambo-interactable-provider.d.ts.map +1 -1
- package/dist/providers/tambo-interactable-provider.js +26 -4
- package/dist/providers/tambo-interactable-provider.js.map +1 -1
- package/dist/providers/tambo-interactable-provider.test.js +78 -0
- package/dist/providers/tambo-interactable-provider.test.js.map +1 -1
- package/dist/providers/tambo-registry-provider.d.ts +2 -1
- package/dist/providers/tambo-registry-provider.d.ts.map +1 -1
- package/dist/providers/tambo-registry-provider.js +19 -0
- package/dist/providers/tambo-registry-provider.js.map +1 -1
- package/dist/providers/tambo-registry-provider.test.js +36 -0
- package/dist/providers/tambo-registry-provider.test.js.map +1 -1
- package/dist/providers/tambo-registry-schema-compat.test.js +4 -4
- package/dist/providers/tambo-registry-schema-compat.test.js.map +1 -1
- package/dist/schema/index.d.ts +2 -4
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +9 -11
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/json-schema.d.ts +1 -17
- package/dist/schema/json-schema.d.ts.map +1 -1
- package/dist/schema/json-schema.js +5 -69
- package/dist/schema/json-schema.js.map +1 -1
- package/dist/schema/schema.test.js +24 -25
- package/dist/schema/schema.test.js.map +1 -1
- package/dist/schema/standard-schema.test.js +25 -25
- package/dist/schema/standard-schema.test.js.map +1 -1
- package/dist/schema/validate.test.js +33 -33
- package/dist/schema/validate.test.js.map +1 -1
- package/dist/testing/tools.d.ts +4 -4
- package/dist/testing/tools.test.d.ts +2 -0
- package/dist/testing/tools.test.d.ts.map +1 -0
- package/dist/testing/tools.test.js +60 -0
- package/dist/testing/tools.test.js.map +1 -0
- package/dist/util/mcp-server-utils.d.ts +1 -1
- package/dist/util/mcp-server-utils.d.ts.map +1 -1
- package/dist/util/mcp-server-utils.js +4 -4
- package/dist/util/mcp-server-utils.js.map +1 -1
- package/dist/util/mcp-server-utils.test.js +27 -27
- package/dist/util/mcp-server-utils.test.js.map +1 -1
- package/dist/util/registry.js +1 -1
- package/dist/util/registry.js.map +1 -1
- package/dist/util/resource-content-resolver.js +5 -5
- package/dist/util/resource-content-resolver.js.map +1 -1
- package/dist/util/resource-content-resolver.test.js +6 -6
- package/dist/util/resource-content-resolver.test.js.map +1 -1
- package/dist/util/tool-caller.test.d.ts +2 -0
- package/dist/util/tool-caller.test.d.ts.map +1 -0
- package/dist/util/tool-caller.test.js +71 -0
- package/dist/util/tool-caller.test.js.map +1 -0
- package/dist/v1/__tests__/v1-interactables.test.js +6 -0
- package/dist/v1/__tests__/v1-interactables.test.js.map +1 -1
- package/dist/v1/components/v1-component-renderer.test.js +1 -0
- package/dist/v1/components/v1-component-renderer.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-auth-state.d.ts +1 -1
- package/dist/v1/hooks/use-tambo-v1-auth-state.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-auth-state.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-component-state.js +2 -2
- package/dist/v1/hooks/use-tambo-v1-component-state.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-component-state.test.js +1 -1
- package/dist/v1/hooks/use-tambo-v1-component-state.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-send-message.d.ts +1 -1
- package/dist/v1/hooks/use-tambo-v1-send-message.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-send-message.js +17 -17
- package/dist/v1/hooks/use-tambo-v1-send-message.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-send-message.test.js +1 -1
- package/dist/v1/hooks/use-tambo-v1-send-message.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-stream-status.js +2 -2
- package/dist/v1/hooks/use-tambo-v1-stream-status.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-stream-status.test.js +9 -5
- package/dist/v1/hooks/use-tambo-v1-stream-status.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-suggestions.js +2 -2
- package/dist/v1/hooks/use-tambo-v1-suggestions.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1-thread-input.test.js +1 -0
- package/dist/v1/hooks/use-tambo-v1-thread-input.test.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1.d.ts +7 -6
- package/dist/v1/hooks/use-tambo-v1.d.ts.map +1 -1
- package/dist/v1/hooks/use-tambo-v1.js +2 -2
- package/dist/v1/hooks/use-tambo-v1.js.map +1 -1
- package/dist/v1/hooks/use-tambo-v1.test.js +24 -23
- package/dist/v1/hooks/use-tambo-v1.test.js.map +1 -1
- package/dist/v1/index.d.ts +6 -6
- package/dist/v1/index.d.ts.map +1 -1
- package/dist/v1/index.js +2 -2
- package/dist/v1/index.js.map +1 -1
- package/dist/v1/providers/tambo-v1-provider.d.ts +2 -1
- package/dist/v1/providers/tambo-v1-provider.d.ts.map +1 -1
- package/dist/v1/providers/tambo-v1-provider.js +2 -0
- package/dist/v1/providers/tambo-v1-provider.js.map +1 -1
- package/dist/v1/providers/tambo-v1-stream-context.d.ts +2 -2
- package/dist/v1/providers/tambo-v1-stream-context.d.ts.map +1 -1
- package/dist/v1/providers/tambo-v1-stream-context.js +9 -9
- package/dist/v1/providers/tambo-v1-stream-context.js.map +1 -1
- package/dist/v1/providers/tambo-v1-stream-context.test.js +35 -0
- package/dist/v1/providers/tambo-v1-stream-context.test.js.map +1 -1
- package/dist/v1/providers/tambo-v1-stub-provider.d.ts +1 -1
- package/dist/v1/providers/tambo-v1-stub-provider.d.ts.map +1 -1
- package/dist/v1/providers/tambo-v1-stub-provider.js +2 -1
- package/dist/v1/providers/tambo-v1-stub-provider.js.map +1 -1
- package/dist/v1/providers/tambo-v1-stub-provider.test.js.map +1 -1
- package/dist/v1/providers/tambo-v1-thread-input-provider.d.ts +1 -1
- package/dist/v1/providers/tambo-v1-thread-input-provider.d.ts.map +1 -1
- package/dist/v1/providers/tambo-v1-thread-input-provider.js +2 -2
- package/dist/v1/providers/tambo-v1-thread-input-provider.js.map +1 -1
- package/dist/v1/types/event.test.js +13 -13
- package/dist/v1/types/event.test.js.map +1 -1
- package/dist/v1/types/message.d.ts +12 -109
- package/dist/v1/types/message.d.ts.map +1 -1
- package/dist/v1/types/message.js +0 -7
- package/dist/v1/types/message.js.map +1 -1
- package/dist/v1/utils/event-accumulator.test.js +183 -184
- package/dist/v1/utils/event-accumulator.test.js.map +1 -1
- package/dist/v1/utils/json-patch.test.js +4 -4
- package/dist/v1/utils/json-patch.test.js.map +1 -1
- package/dist/v1/utils/keyed-throttle.test.js +12 -12
- package/dist/v1/utils/keyed-throttle.test.js.map +1 -1
- package/dist/v1/utils/registry-conversion.test.js +13 -13
- package/dist/v1/utils/registry-conversion.test.js.map +1 -1
- package/dist/v1/utils/stream-handler.test.js +5 -5
- package/dist/v1/utils/stream-handler.test.js.map +1 -1
- package/dist/v1/utils/tool-call-tracker.test.js +15 -9
- package/dist/v1/utils/tool-call-tracker.test.js.map +1 -1
- package/dist/v1/utils/tool-executor.test.js +25 -26
- package/dist/v1/utils/tool-executor.test.js.map +1 -1
- package/dist/v1/utils/unstrictify.test.js +16 -16
- package/dist/v1/utils/unstrictify.test.js.map +1 -1
- package/esm/context-helpers/current-interactables-context-helper.d.ts +16 -2
- package/esm/context-helpers/current-interactables-context-helper.d.ts.map +1 -1
- package/esm/context-helpers/current-interactables-context-helper.js.map +1 -1
- package/esm/context-helpers/current-interactables-context-helper.test.d.ts +2 -0
- package/esm/context-helpers/current-interactables-context-helper.test.d.ts.map +1 -0
- package/esm/context-helpers/current-interactables-context-helper.test.js +68 -0
- package/esm/context-helpers/current-interactables-context-helper.test.js.map +1 -0
- package/esm/hoc/with-tambo-interactable.d.ts.map +1 -1
- package/esm/hoc/with-tambo-interactable.js +11 -2
- package/esm/hoc/with-tambo-interactable.js.map +1 -1
- package/esm/hoc/with-tambo-interactable.test.js +14 -0
- package/esm/hoc/with-tambo-interactable.test.js.map +1 -1
- package/esm/mcp/elicitation.d.ts +3 -37
- package/esm/mcp/elicitation.d.ts.map +1 -1
- package/esm/mcp/elicitation.js +4 -24
- package/esm/mcp/elicitation.js.map +1 -1
- package/esm/mcp/index.d.ts +4 -4
- package/esm/mcp/index.d.ts.map +1 -1
- package/esm/mcp/index.js +1 -1
- package/esm/mcp/index.js.map +1 -1
- package/esm/mcp/mcp-client.test.js +1 -1
- package/esm/mcp/mcp-client.test.js.map +1 -1
- package/esm/mcp/mcp-hooks.d.ts.map +1 -1
- package/esm/mcp/mcp-hooks.js +4 -1
- package/esm/mcp/mcp-hooks.js.map +1 -1
- package/esm/mcp/mcp-hooks.test.js +3 -2
- package/esm/mcp/mcp-hooks.test.js.map +1 -1
- package/esm/mcp/tambo-mcp-provider.d.ts +6 -9
- package/esm/mcp/tambo-mcp-provider.d.ts.map +1 -1
- package/esm/mcp/tambo-mcp-provider.js +4 -8
- package/esm/mcp/tambo-mcp-provider.js.map +1 -1
- package/esm/mcp/tambo-mcp-provider.test.js +3 -2
- package/esm/mcp/tambo-mcp-provider.test.js.map +1 -1
- package/esm/mcp/use-mcp-servers.test.js +2 -1
- package/esm/mcp/use-mcp-servers.test.js.map +1 -1
- package/esm/model/component-metadata.d.ts +7 -372
- package/esm/model/component-metadata.d.ts.map +1 -1
- package/esm/model/component-metadata.js.map +1 -1
- package/esm/model/validate-input.test.d.ts +2 -0
- package/esm/model/validate-input.test.d.ts.map +1 -0
- package/esm/model/validate-input.test.js +36 -0
- package/esm/model/validate-input.test.js.map +1 -0
- package/esm/providers/tambo-interactable-provider-partial-updates.test.js +2 -0
- package/esm/providers/tambo-interactable-provider-partial-updates.test.js.map +1 -1
- package/esm/providers/tambo-interactable-provider.d.ts +7 -7
- package/esm/providers/tambo-interactable-provider.d.ts.map +1 -1
- package/esm/providers/tambo-interactable-provider.js +26 -4
- package/esm/providers/tambo-interactable-provider.js.map +1 -1
- package/esm/providers/tambo-interactable-provider.test.js +78 -0
- package/esm/providers/tambo-interactable-provider.test.js.map +1 -1
- package/esm/providers/tambo-registry-provider.d.ts +2 -1
- package/esm/providers/tambo-registry-provider.d.ts.map +1 -1
- package/esm/providers/tambo-registry-provider.js +19 -0
- package/esm/providers/tambo-registry-provider.js.map +1 -1
- package/esm/providers/tambo-registry-provider.test.js +36 -0
- package/esm/providers/tambo-registry-provider.test.js.map +1 -1
- package/esm/providers/tambo-registry-schema-compat.test.js +4 -4
- package/esm/providers/tambo-registry-schema-compat.test.js.map +1 -1
- package/esm/schema/index.d.ts +2 -4
- package/esm/schema/index.d.ts.map +1 -1
- package/esm/schema/index.js +2 -4
- package/esm/schema/index.js.map +1 -1
- package/esm/schema/json-schema.d.ts +1 -17
- package/esm/schema/json-schema.d.ts.map +1 -1
- package/esm/schema/json-schema.js +2 -67
- package/esm/schema/json-schema.js.map +1 -1
- package/esm/schema/schema.test.js +1 -2
- package/esm/schema/schema.test.js.map +1 -1
- package/esm/schema/standard-schema.test.js +1 -1
- package/esm/schema/standard-schema.test.js.map +1 -1
- package/esm/schema/validate.test.js +1 -1
- package/esm/schema/validate.test.js.map +1 -1
- package/esm/testing/tools.d.ts +4 -4
- package/esm/testing/tools.test.d.ts +2 -0
- package/esm/testing/tools.test.d.ts.map +1 -0
- package/esm/testing/tools.test.js +58 -0
- package/esm/testing/tools.test.js.map +1 -0
- package/esm/util/mcp-server-utils.d.ts +1 -1
- package/esm/util/mcp-server-utils.d.ts.map +1 -1
- package/esm/util/mcp-server-utils.js +1 -1
- package/esm/util/mcp-server-utils.js.map +1 -1
- package/esm/util/mcp-server-utils.test.js +1 -1
- package/esm/util/mcp-server-utils.test.js.map +1 -1
- package/esm/util/registry.js +1 -1
- package/esm/util/registry.js.map +1 -1
- package/esm/util/resource-content-resolver.js +1 -1
- package/esm/util/resource-content-resolver.js.map +1 -1
- package/esm/util/resource-content-resolver.test.js +2 -2
- package/esm/util/resource-content-resolver.test.js.map +1 -1
- package/esm/util/tool-caller.test.d.ts +2 -0
- package/esm/util/tool-caller.test.d.ts.map +1 -0
- package/esm/util/tool-caller.test.js +69 -0
- package/esm/util/tool-caller.test.js.map +1 -0
- package/esm/v1/__tests__/v1-interactables.test.js +6 -0
- package/esm/v1/__tests__/v1-interactables.test.js.map +1 -1
- package/esm/v1/components/v1-component-renderer.test.js +1 -0
- package/esm/v1/components/v1-component-renderer.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-auth-state.d.ts +1 -1
- package/esm/v1/hooks/use-tambo-v1-auth-state.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-auth-state.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-component-state.js +1 -1
- package/esm/v1/hooks/use-tambo-v1-component-state.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-component-state.test.js +1 -1
- package/esm/v1/hooks/use-tambo-v1-component-state.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-send-message.d.ts +1 -1
- package/esm/v1/hooks/use-tambo-v1-send-message.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-send-message.js +6 -6
- package/esm/v1/hooks/use-tambo-v1-send-message.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-send-message.test.js +1 -1
- package/esm/v1/hooks/use-tambo-v1-send-message.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-stream-status.js +1 -1
- package/esm/v1/hooks/use-tambo-v1-stream-status.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-stream-status.test.js +9 -5
- package/esm/v1/hooks/use-tambo-v1-stream-status.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-suggestions.js +1 -1
- package/esm/v1/hooks/use-tambo-v1-suggestions.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1-thread-input.test.js +1 -0
- package/esm/v1/hooks/use-tambo-v1-thread-input.test.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1.d.ts +7 -6
- package/esm/v1/hooks/use-tambo-v1.d.ts.map +1 -1
- package/esm/v1/hooks/use-tambo-v1.js +1 -1
- package/esm/v1/hooks/use-tambo-v1.js.map +1 -1
- package/esm/v1/hooks/use-tambo-v1.test.js +23 -22
- package/esm/v1/hooks/use-tambo-v1.test.js.map +1 -1
- package/esm/v1/index.d.ts +6 -6
- package/esm/v1/index.d.ts.map +1 -1
- package/esm/v1/index.js +1 -1
- package/esm/v1/index.js.map +1 -1
- package/esm/v1/providers/tambo-v1-provider.d.ts +2 -1
- package/esm/v1/providers/tambo-v1-provider.d.ts.map +1 -1
- package/esm/v1/providers/tambo-v1-provider.js +2 -0
- package/esm/v1/providers/tambo-v1-provider.js.map +1 -1
- package/esm/v1/providers/tambo-v1-stream-context.d.ts +2 -2
- package/esm/v1/providers/tambo-v1-stream-context.d.ts.map +1 -1
- package/esm/v1/providers/tambo-v1-stream-context.js +1 -1
- package/esm/v1/providers/tambo-v1-stream-context.js.map +1 -1
- package/esm/v1/providers/tambo-v1-stream-context.test.js +35 -0
- package/esm/v1/providers/tambo-v1-stream-context.test.js.map +1 -1
- package/esm/v1/providers/tambo-v1-stub-provider.d.ts +1 -1
- package/esm/v1/providers/tambo-v1-stub-provider.d.ts.map +1 -1
- package/esm/v1/providers/tambo-v1-stub-provider.js +2 -1
- package/esm/v1/providers/tambo-v1-stub-provider.js.map +1 -1
- package/esm/v1/providers/tambo-v1-stub-provider.test.js.map +1 -1
- package/esm/v1/providers/tambo-v1-thread-input-provider.d.ts +1 -1
- package/esm/v1/providers/tambo-v1-thread-input-provider.d.ts.map +1 -1
- package/esm/v1/providers/tambo-v1-thread-input-provider.js +1 -1
- package/esm/v1/providers/tambo-v1-thread-input-provider.js.map +1 -1
- package/esm/v1/types/event.test.js +1 -1
- package/esm/v1/types/event.test.js.map +1 -1
- package/esm/v1/types/message.d.ts +12 -109
- package/esm/v1/types/message.d.ts.map +1 -1
- package/esm/v1/types/message.js +0 -7
- package/esm/v1/types/message.js.map +1 -1
- package/esm/v1/utils/event-accumulator.test.js +2 -3
- package/esm/v1/utils/event-accumulator.test.js.map +1 -1
- package/esm/v1/utils/json-patch.test.js +1 -1
- package/esm/v1/utils/json-patch.test.js.map +1 -1
- package/esm/v1/utils/keyed-throttle.test.js +1 -1
- package/esm/v1/utils/keyed-throttle.test.js.map +1 -1
- package/esm/v1/utils/registry-conversion.test.js +1 -1
- package/esm/v1/utils/registry-conversion.test.js.map +1 -1
- package/esm/v1/utils/stream-handler.test.js +1 -1
- package/esm/v1/utils/stream-handler.test.js.map +1 -1
- package/esm/v1/utils/tool-call-tracker.test.js +9 -3
- package/esm/v1/utils/tool-call-tracker.test.js.map +1 -1
- package/esm/v1/utils/tool-executor.test.js +1 -2
- package/esm/v1/utils/tool-executor.test.js.map +1 -1
- package/esm/v1/utils/unstrictify.test.js +1 -1
- package/esm/v1/utils/unstrictify.test.js.map +1 -1
- package/package.json +10 -11
- package/dist/mcp/mcp-client.d.ts +0 -185
- package/dist/mcp/mcp-client.d.ts.map +0 -1
- package/dist/mcp/mcp-client.js +0 -219
- package/dist/mcp/mcp-client.js.map +0 -1
- package/dist/mcp/mcp-constants.d.ts +0 -19
- package/dist/mcp/mcp-constants.d.ts.map +0 -1
- package/dist/mcp/mcp-constants.js +0 -21
- package/dist/mcp/mcp-constants.js.map +0 -1
- package/dist/model/mcp-server-info.d.ts +0 -76
- package/dist/model/mcp-server-info.d.ts.map +0 -1
- package/dist/model/mcp-server-info.js +0 -29
- package/dist/model/mcp-server-info.js.map +0 -1
- package/dist/schema/schema.d.ts +0 -49
- package/dist/schema/schema.d.ts.map +0 -1
- package/dist/schema/schema.js +0 -129
- package/dist/schema/schema.js.map +0 -1
- package/dist/schema/standard-schema.d.ts +0 -22
- package/dist/schema/standard-schema.d.ts.map +0 -1
- package/dist/schema/standard-schema.js +0 -42
- package/dist/schema/standard-schema.js.map +0 -1
- package/dist/schema/validate.d.ts +0 -14
- package/dist/schema/validate.d.ts.map +0 -1
- package/dist/schema/validate.js +0 -148
- package/dist/schema/validate.js.map +0 -1
- package/dist/v1/types/auth.d.ts +0 -24
- package/dist/v1/types/auth.d.ts.map +0 -1
- package/dist/v1/types/auth.js +0 -3
- package/dist/v1/types/auth.js.map +0 -1
- package/dist/v1/types/event.d.ts +0 -89
- package/dist/v1/types/event.d.ts.map +0 -1
- package/dist/v1/types/event.js +0 -57
- package/dist/v1/types/event.js.map +0 -1
- package/dist/v1/types/thread.d.ts +0 -58
- package/dist/v1/types/thread.d.ts.map +0 -1
- package/dist/v1/types/thread.js +0 -9
- package/dist/v1/types/thread.js.map +0 -1
- package/dist/v1/types/tool-choice.d.ts +0 -8
- package/dist/v1/types/tool-choice.d.ts.map +0 -1
- package/dist/v1/types/tool-choice.js +0 -3
- package/dist/v1/types/tool-choice.js.map +0 -1
- package/dist/v1/utils/event-accumulator.d.ts +0 -165
- package/dist/v1/utils/event-accumulator.d.ts.map +0 -1
- package/dist/v1/utils/event-accumulator.js +0 -1277
- package/dist/v1/utils/event-accumulator.js.map +0 -1
- package/dist/v1/utils/json-patch.d.ts +0 -18
- package/dist/v1/utils/json-patch.d.ts.map +0 -1
- package/dist/v1/utils/json-patch.js +0 -35
- package/dist/v1/utils/json-patch.js.map +0 -1
- package/dist/v1/utils/keyed-throttle.d.ts +0 -42
- package/dist/v1/utils/keyed-throttle.d.ts.map +0 -1
- package/dist/v1/utils/keyed-throttle.js +0 -86
- package/dist/v1/utils/keyed-throttle.js.map +0 -1
- package/dist/v1/utils/registry-conversion.d.ts +0 -53
- package/dist/v1/utils/registry-conversion.d.ts.map +0 -1
- package/dist/v1/utils/registry-conversion.js +0 -115
- package/dist/v1/utils/registry-conversion.js.map +0 -1
- package/dist/v1/utils/stream-handler.d.ts +0 -45
- package/dist/v1/utils/stream-handler.d.ts.map +0 -1
- package/dist/v1/utils/stream-handler.js +0 -47
- package/dist/v1/utils/stream-handler.js.map +0 -1
- package/dist/v1/utils/thread-utils.d.ts +0 -16
- package/dist/v1/utils/thread-utils.d.ts.map +0 -1
- package/dist/v1/utils/thread-utils.js +0 -34
- package/dist/v1/utils/thread-utils.js.map +0 -1
- package/dist/v1/utils/tool-call-tracker.d.ts +0 -73
- package/dist/v1/utils/tool-call-tracker.d.ts.map +0 -1
- package/dist/v1/utils/tool-call-tracker.js +0 -180
- package/dist/v1/utils/tool-call-tracker.js.map +0 -1
- package/dist/v1/utils/tool-executor.d.ts +0 -67
- package/dist/v1/utils/tool-executor.d.ts.map +0 -1
- package/dist/v1/utils/tool-executor.js +0 -160
- package/dist/v1/utils/tool-executor.js.map +0 -1
- package/dist/v1/utils/unstrictify.d.ts +0 -32
- package/dist/v1/utils/unstrictify.d.ts.map +0 -1
- package/dist/v1/utils/unstrictify.js +0 -159
- package/dist/v1/utils/unstrictify.js.map +0 -1
- package/esm/mcp/mcp-client.d.ts +0 -185
- package/esm/mcp/mcp-client.d.ts.map +0 -1
- package/esm/mcp/mcp-client.js +0 -216
- package/esm/mcp/mcp-client.js.map +0 -1
- package/esm/mcp/mcp-constants.d.ts +0 -19
- package/esm/mcp/mcp-constants.d.ts.map +0 -1
- package/esm/mcp/mcp-constants.js +0 -18
- package/esm/mcp/mcp-constants.js.map +0 -1
- package/esm/model/mcp-server-info.d.ts +0 -76
- package/esm/model/mcp-server-info.d.ts.map +0 -1
- package/esm/model/mcp-server-info.js +0 -25
- package/esm/model/mcp-server-info.js.map +0 -1
- package/esm/schema/schema.d.ts +0 -49
- package/esm/schema/schema.d.ts.map +0 -1
- package/esm/schema/schema.js +0 -124
- package/esm/schema/schema.js.map +0 -1
- package/esm/schema/standard-schema.d.ts +0 -22
- package/esm/schema/standard-schema.d.ts.map +0 -1
- package/esm/schema/standard-schema.js +0 -39
- package/esm/schema/standard-schema.js.map +0 -1
- package/esm/schema/validate.d.ts +0 -14
- package/esm/schema/validate.d.ts.map +0 -1
- package/esm/schema/validate.js +0 -145
- package/esm/schema/validate.js.map +0 -1
- package/esm/v1/types/auth.d.ts +0 -24
- package/esm/v1/types/auth.d.ts.map +0 -1
- package/esm/v1/types/auth.js +0 -2
- package/esm/v1/types/auth.js.map +0 -1
- package/esm/v1/types/event.d.ts +0 -89
- package/esm/v1/types/event.d.ts.map +0 -1
- package/esm/v1/types/event.js +0 -53
- package/esm/v1/types/event.js.map +0 -1
- package/esm/v1/types/thread.d.ts +0 -58
- package/esm/v1/types/thread.d.ts.map +0 -1
- package/esm/v1/types/thread.js +0 -8
- package/esm/v1/types/thread.js.map +0 -1
- package/esm/v1/types/tool-choice.d.ts +0 -8
- package/esm/v1/types/tool-choice.d.ts.map +0 -1
- package/esm/v1/types/tool-choice.js +0 -2
- package/esm/v1/types/tool-choice.js.map +0 -1
- package/esm/v1/utils/event-accumulator.d.ts +0 -165
- package/esm/v1/utils/event-accumulator.d.ts.map +0 -1
- package/esm/v1/utils/event-accumulator.js +0 -1268
- package/esm/v1/utils/event-accumulator.js.map +0 -1
- package/esm/v1/utils/json-patch.d.ts +0 -18
- package/esm/v1/utils/json-patch.d.ts.map +0 -1
- package/esm/v1/utils/json-patch.js +0 -32
- package/esm/v1/utils/json-patch.js.map +0 -1
- package/esm/v1/utils/keyed-throttle.d.ts +0 -42
- package/esm/v1/utils/keyed-throttle.d.ts.map +0 -1
- package/esm/v1/utils/keyed-throttle.js +0 -83
- package/esm/v1/utils/keyed-throttle.js.map +0 -1
- package/esm/v1/utils/registry-conversion.d.ts +0 -53
- package/esm/v1/utils/registry-conversion.d.ts.map +0 -1
- package/esm/v1/utils/registry-conversion.js +0 -109
- package/esm/v1/utils/registry-conversion.js.map +0 -1
- package/esm/v1/utils/stream-handler.d.ts +0 -45
- package/esm/v1/utils/stream-handler.d.ts.map +0 -1
- package/esm/v1/utils/stream-handler.js +0 -44
- package/esm/v1/utils/stream-handler.js.map +0 -1
- package/esm/v1/utils/thread-utils.d.ts +0 -16
- package/esm/v1/utils/thread-utils.d.ts.map +0 -1
- package/esm/v1/utils/thread-utils.js +0 -31
- package/esm/v1/utils/thread-utils.js.map +0 -1
- package/esm/v1/utils/tool-call-tracker.d.ts +0 -73
- package/esm/v1/utils/tool-call-tracker.d.ts.map +0 -1
- package/esm/v1/utils/tool-call-tracker.js +0 -176
- package/esm/v1/utils/tool-call-tracker.js.map +0 -1
- package/esm/v1/utils/tool-executor.d.ts +0 -67
- package/esm/v1/utils/tool-executor.d.ts.map +0 -1
- package/esm/v1/utils/tool-executor.js +0 -154
- package/esm/v1/utils/tool-executor.js.map +0 -1
- package/esm/v1/utils/unstrictify.d.ts +0 -32
- package/esm/v1/utils/unstrictify.d.ts.map +0 -1
- package/esm/v1/utils/unstrictify.js +0 -155
- package/esm/v1/utils/unstrictify.js.map +0 -1
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type guard to check if an object implements the Standard Schema interface.
|
|
3
|
-
*
|
|
4
|
-
* Standard Schema compliant validators have a `~standard` property containing
|
|
5
|
-
* metadata about the schema including version, vendor, and validate function.
|
|
6
|
-
* Uses duck typing to avoid cross-version Zod compatibility issues.
|
|
7
|
-
* @param obj - The object to check
|
|
8
|
-
* @returns True if the object implements StandardSchemaV1
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* import { z } from "zod/v4";
|
|
12
|
-
*
|
|
13
|
-
* const zodSchema = z.object({ name: z.string() });
|
|
14
|
-
* isStandardSchema(zodSchema); // true
|
|
15
|
-
*
|
|
16
|
-
* const jsonSchema = { type: "object", properties: { name: { type: "string" } } };
|
|
17
|
-
* isStandardSchema(jsonSchema); // false
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export function isStandardSchema(obj) {
|
|
21
|
-
if (typeof obj !== "object" || obj === null) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
if (!("~standard" in obj)) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
const standard = obj["~standard"];
|
|
28
|
-
if (typeof standard !== "object" || standard === null) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
// Check required Standard Schema v1 properties
|
|
32
|
-
return ("version" in standard &&
|
|
33
|
-
standard.version === 1 &&
|
|
34
|
-
"vendor" in standard &&
|
|
35
|
-
typeof standard.vendor === "string" &&
|
|
36
|
-
"validate" in standard &&
|
|
37
|
-
typeof standard.validate === "function");
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=standard-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"standard-schema.js","sourceRoot":"","sources":["../../src/schema/standard-schema.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+CAA+C;IAC/C,OAAO,CACL,SAAS,IAAI,QAAQ;QACrB,QAAQ,CAAC,OAAO,KAAK,CAAC;QACtB,QAAQ,IAAI,QAAQ;QACpB,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;QACnC,UAAU,IAAI,QAAQ;QACtB,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU,CACxC,CAAC;AACJ,CAAC","sourcesContent":["import { StandardSchemaV1 } from \"@standard-schema/spec\";\n\n/**\n * Type guard to check if an object implements the Standard Schema interface.\n *\n * Standard Schema compliant validators have a `~standard` property containing\n * metadata about the schema including version, vendor, and validate function.\n * Uses duck typing to avoid cross-version Zod compatibility issues.\n * @param obj - The object to check\n * @returns True if the object implements StandardSchemaV1\n * @example\n * ```typescript\n * import { z } from \"zod/v4\";\n *\n * const zodSchema = z.object({ name: z.string() });\n * isStandardSchema(zodSchema); // true\n *\n * const jsonSchema = { type: \"object\", properties: { name: { type: \"string\" } } };\n * isStandardSchema(jsonSchema); // false\n * ```\n */\nexport function isStandardSchema(obj: unknown): obj is StandardSchemaV1 {\n if (typeof obj !== \"object\" || obj === null) {\n return false;\n }\n\n if (!(\"~standard\" in obj)) {\n return false;\n }\n\n const standard = obj[\"~standard\"];\n if (typeof standard !== \"object\" || standard === null) {\n return false;\n }\n\n // Check required Standard Schema v1 properties\n return (\n \"version\" in standard &&\n standard.version === 1 &&\n \"vendor\" in standard &&\n typeof standard.vendor === \"string\" &&\n \"validate\" in standard &&\n typeof standard.validate === \"function\"\n );\n}\n"]}
|
package/esm/schema/validate.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Asserts that a schema does not contain record types (objects with dynamic keys).
|
|
3
|
-
* Records are not serializable to JSON Schema in a way that the Tambo backend
|
|
4
|
-
* understands, so they are disallowed.
|
|
5
|
-
*
|
|
6
|
-
* This function accepts Standard Schema validators (Zod, Valibot, ArkType, etc.)
|
|
7
|
-
* or JSON Schema objects. It converts them to JSON Schema and checks for record patterns.
|
|
8
|
-
*
|
|
9
|
-
* For tool schemas that are function types, this extracts and validates the input parameters.
|
|
10
|
-
* @param schema - The schema to validate (Standard Schema or JSON Schema)
|
|
11
|
-
* @param contextName - A human-readable label echoed in the error message
|
|
12
|
-
*/
|
|
13
|
-
export declare function assertNoRecordSchema(schema: unknown, contextName?: string): void;
|
|
14
|
-
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/schema/validate.ts"],"names":[],"mappings":"AAuIA;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,EACf,WAAW,SAAW,GACrB,IAAI,CAqCN"}
|
package/esm/schema/validate.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { schemaToJsonSchema } from "./schema.js";
|
|
2
|
-
import { isStandardSchema } from "./standard-schema.js";
|
|
3
|
-
/*
|
|
4
|
-
* Check if a JSON Schema represents a record type (map with dynamic keys).
|
|
5
|
-
*
|
|
6
|
-
* For our purposes, any `object` schema with `additionalProperties` defined
|
|
7
|
-
* as a nested schema (not just `true`/`false`) is treated as a record, even
|
|
8
|
-
* if it also declares some explicit `properties`.
|
|
9
|
-
* @param schema - The JSON Schema to check
|
|
10
|
-
* @returns True if the schema represents a record-like type
|
|
11
|
-
*/
|
|
12
|
-
function isRecordJsonSchema(schema) {
|
|
13
|
-
return (schema.type === "object" &&
|
|
14
|
-
typeof schema.additionalProperties === "object" &&
|
|
15
|
-
schema.additionalProperties !== null);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Recursively walks a JSON Schema and throws when it encounters a record type.
|
|
19
|
-
* Records are not supported because they use dynamic keys which don't serialize
|
|
20
|
-
* well for the Tambo backend.
|
|
21
|
-
* @param schema - The JSON Schema to check
|
|
22
|
-
* @param path - Current path in the schema (for error messages)
|
|
23
|
-
* @param contextName - Human-readable context name for error messages
|
|
24
|
-
*/
|
|
25
|
-
function assertNoRecordInJsonSchema(schema, path, contextName) {
|
|
26
|
-
if (isRecordJsonSchema(schema)) {
|
|
27
|
-
const joined = path.length ? path.join(".") : "(root)";
|
|
28
|
-
throw new Error(`Record types (objects with dynamic keys) are not supported in ${contextName}. ` +
|
|
29
|
-
`Found at path "${joined}". ` +
|
|
30
|
-
"Replace it with an object using explicit keys.");
|
|
31
|
-
}
|
|
32
|
-
if (schema.properties) {
|
|
33
|
-
for (const [key, propSchema] of Object.entries(schema.properties)) {
|
|
34
|
-
if (typeof propSchema === "object" && propSchema !== null) {
|
|
35
|
-
assertNoRecordInJsonSchema(propSchema, [...path, key], contextName);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
if (typeof schema.additionalProperties === "object" &&
|
|
40
|
-
schema.additionalProperties !== null) {
|
|
41
|
-
assertNoRecordInJsonSchema(schema.additionalProperties, [...path, "[*]"], contextName);
|
|
42
|
-
}
|
|
43
|
-
if (schema.items) {
|
|
44
|
-
if (Array.isArray(schema.items)) {
|
|
45
|
-
// Tuple (JSON Schema draft-07): check each item schema
|
|
46
|
-
schema.items.forEach((itemSchema, index) => {
|
|
47
|
-
if (typeof itemSchema === "object" && itemSchema !== null) {
|
|
48
|
-
assertNoRecordInJsonSchema(itemSchema, [...path, `${index}`], contextName);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
else if (typeof schema.items === "object") {
|
|
53
|
-
// Array: check the item schema
|
|
54
|
-
assertNoRecordInJsonSchema(schema.items, [...path, "[]"], contextName);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
const prefixItems = schema.prefixItems;
|
|
58
|
-
if (Array.isArray(prefixItems)) {
|
|
59
|
-
prefixItems.forEach((itemSchema, index) => {
|
|
60
|
-
if (typeof itemSchema === "object" && itemSchema !== null) {
|
|
61
|
-
assertNoRecordInJsonSchema(itemSchema, [...path, `${index}`], contextName);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
if (schema.allOf) {
|
|
66
|
-
schema.allOf.forEach((subSchema, index) => {
|
|
67
|
-
if (typeof subSchema === "object" && subSchema !== null) {
|
|
68
|
-
assertNoRecordInJsonSchema(subSchema, [...path, `&${index}`], contextName);
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
if (schema.anyOf) {
|
|
73
|
-
schema.anyOf.forEach((subSchema, index) => {
|
|
74
|
-
if (typeof subSchema === "object" && subSchema !== null) {
|
|
75
|
-
assertNoRecordInJsonSchema(subSchema, [...path, `|${index}`], contextName);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
if (schema.oneOf) {
|
|
80
|
-
schema.oneOf.forEach((subSchema, index) => {
|
|
81
|
-
if (typeof subSchema === "object" && subSchema !== null) {
|
|
82
|
-
assertNoRecordInJsonSchema(subSchema, [...path, `|${index}`], contextName);
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
if (typeof schema.not === "object" && schema.not !== null) {
|
|
87
|
-
assertNoRecordInJsonSchema(schema.not, [...path, "!"], contextName);
|
|
88
|
-
}
|
|
89
|
-
if (typeof schema.if === "object" && schema.if !== null) {
|
|
90
|
-
assertNoRecordInJsonSchema(schema.if, [...path, "if"], contextName);
|
|
91
|
-
}
|
|
92
|
-
if (typeof schema.then === "object" && schema.then !== null) {
|
|
93
|
-
assertNoRecordInJsonSchema(schema.then, [...path, "then"], contextName);
|
|
94
|
-
}
|
|
95
|
-
if (typeof schema.else === "object" && schema.else !== null) {
|
|
96
|
-
assertNoRecordInJsonSchema(schema.else, [...path, "else"], contextName);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Asserts that a schema does not contain record types (objects with dynamic keys).
|
|
101
|
-
* Records are not serializable to JSON Schema in a way that the Tambo backend
|
|
102
|
-
* understands, so they are disallowed.
|
|
103
|
-
*
|
|
104
|
-
* This function accepts Standard Schema validators (Zod, Valibot, ArkType, etc.)
|
|
105
|
-
* or JSON Schema objects. It converts them to JSON Schema and checks for record patterns.
|
|
106
|
-
*
|
|
107
|
-
* For tool schemas that are function types, this extracts and validates the input parameters.
|
|
108
|
-
* @param schema - The schema to validate (Standard Schema or JSON Schema)
|
|
109
|
-
* @param contextName - A human-readable label echoed in the error message
|
|
110
|
-
*/
|
|
111
|
-
export function assertNoRecordSchema(schema, contextName = "schema") {
|
|
112
|
-
if (!schema) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
let jsonSchema;
|
|
116
|
-
try {
|
|
117
|
-
if (isStandardSchema(schema)) {
|
|
118
|
-
// Handle function schemas specially - extract input parameters
|
|
119
|
-
const converted = schemaToJsonSchema(schema);
|
|
120
|
-
// If it's a function schema that couldn't be converted, the input params
|
|
121
|
-
// were extracted in registry.ts, so we can skip validation here
|
|
122
|
-
if (!converted || Object.keys(converted).length === 0) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
jsonSchema = converted;
|
|
126
|
-
}
|
|
127
|
-
else if (typeof schema === "object" &&
|
|
128
|
-
schema !== null &&
|
|
129
|
-
"type" in schema) {
|
|
130
|
-
// Already JSON Schema
|
|
131
|
-
jsonSchema = schema;
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
// Unknown schema type - skip validation
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
catch {
|
|
139
|
-
// If schema conversion fails, skip validation
|
|
140
|
-
// This can happen for function schemas or other special types
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
assertNoRecordInJsonSchema(jsonSchema, [], contextName);
|
|
144
|
-
}
|
|
145
|
-
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema/validate.ts"],"names":[],"mappings":"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","sourcesContent":["import type { JSONSchema7 } from \"json-schema\";\nimport { schemaToJsonSchema } from \"./schema\";\nimport { isStandardSchema } from \"./standard-schema\";\n\n/*\n * Check if a JSON Schema represents a record type (map with dynamic keys).\n *\n * For our purposes, any `object` schema with `additionalProperties` defined\n * as a nested schema (not just `true`/`false`) is treated as a record, even\n * if it also declares some explicit `properties`.\n * @param schema - The JSON Schema to check\n * @returns True if the schema represents a record-like type\n */\nfunction isRecordJsonSchema(schema: JSONSchema7): boolean {\n return (\n schema.type === \"object\" &&\n typeof schema.additionalProperties === \"object\" &&\n schema.additionalProperties !== null\n );\n}\n\n/**\n * Recursively walks a JSON Schema and throws when it encounters a record type.\n * Records are not supported because they use dynamic keys which don't serialize\n * well for the Tambo backend.\n * @param schema - The JSON Schema to check\n * @param path - Current path in the schema (for error messages)\n * @param contextName - Human-readable context name for error messages\n */\nfunction assertNoRecordInJsonSchema(\n schema: JSONSchema7,\n path: string[],\n contextName: string,\n): void {\n if (isRecordJsonSchema(schema)) {\n const joined = path.length ? path.join(\".\") : \"(root)\";\n throw new Error(\n `Record types (objects with dynamic keys) are not supported in ${contextName}. ` +\n `Found at path \"${joined}\". ` +\n \"Replace it with an object using explicit keys.\",\n );\n }\n if (schema.properties) {\n for (const [key, propSchema] of Object.entries(schema.properties)) {\n if (typeof propSchema === \"object\" && propSchema !== null) {\n assertNoRecordInJsonSchema(propSchema, [...path, key], contextName);\n }\n }\n }\n if (\n typeof schema.additionalProperties === \"object\" &&\n schema.additionalProperties !== null\n ) {\n assertNoRecordInJsonSchema(\n schema.additionalProperties,\n [...path, \"[*]\"],\n contextName,\n );\n }\n if (schema.items) {\n if (Array.isArray(schema.items)) {\n // Tuple (JSON Schema draft-07): check each item schema\n schema.items.forEach((itemSchema, index) => {\n if (typeof itemSchema === \"object\" && itemSchema !== null) {\n assertNoRecordInJsonSchema(\n itemSchema,\n [...path, `${index}`],\n contextName,\n );\n }\n });\n } else if (typeof schema.items === \"object\") {\n // Array: check the item schema\n assertNoRecordInJsonSchema(schema.items, [...path, \"[]\"], contextName);\n }\n }\n const prefixItems = (schema as Record<string, unknown>).prefixItems;\n if (Array.isArray(prefixItems)) {\n prefixItems.forEach((itemSchema, index) => {\n if (typeof itemSchema === \"object\" && itemSchema !== null) {\n assertNoRecordInJsonSchema(\n itemSchema as JSONSchema7,\n [...path, `${index}`],\n contextName,\n );\n }\n });\n }\n if (schema.allOf) {\n schema.allOf.forEach((subSchema, index) => {\n if (typeof subSchema === \"object\" && subSchema !== null) {\n assertNoRecordInJsonSchema(\n subSchema,\n [...path, `&${index}`],\n contextName,\n );\n }\n });\n }\n if (schema.anyOf) {\n schema.anyOf.forEach((subSchema, index) => {\n if (typeof subSchema === \"object\" && subSchema !== null) {\n assertNoRecordInJsonSchema(\n subSchema,\n [...path, `|${index}`],\n contextName,\n );\n }\n });\n }\n if (schema.oneOf) {\n schema.oneOf.forEach((subSchema, index) => {\n if (typeof subSchema === \"object\" && subSchema !== null) {\n assertNoRecordInJsonSchema(\n subSchema,\n [...path, `|${index}`],\n contextName,\n );\n }\n });\n }\n if (typeof schema.not === \"object\" && schema.not !== null) {\n assertNoRecordInJsonSchema(schema.not, [...path, \"!\"], contextName);\n }\n if (typeof schema.if === \"object\" && schema.if !== null) {\n assertNoRecordInJsonSchema(schema.if, [...path, \"if\"], contextName);\n }\n if (typeof schema.then === \"object\" && schema.then !== null) {\n assertNoRecordInJsonSchema(schema.then, [...path, \"then\"], contextName);\n }\n if (typeof schema.else === \"object\" && schema.else !== null) {\n assertNoRecordInJsonSchema(schema.else, [...path, \"else\"], contextName);\n }\n}\n\n/**\n * Asserts that a schema does not contain record types (objects with dynamic keys).\n * Records are not serializable to JSON Schema in a way that the Tambo backend\n * understands, so they are disallowed.\n *\n * This function accepts Standard Schema validators (Zod, Valibot, ArkType, etc.)\n * or JSON Schema objects. It converts them to JSON Schema and checks for record patterns.\n *\n * For tool schemas that are function types, this extracts and validates the input parameters.\n * @param schema - The schema to validate (Standard Schema or JSON Schema)\n * @param contextName - A human-readable label echoed in the error message\n */\nexport function assertNoRecordSchema(\n schema: unknown,\n contextName = \"schema\",\n): void {\n if (!schema) {\n return;\n }\n\n let jsonSchema: JSONSchema7;\n\n try {\n if (isStandardSchema(schema)) {\n // Handle function schemas specially - extract input parameters\n const converted = schemaToJsonSchema(schema);\n\n // If it's a function schema that couldn't be converted, the input params\n // were extracted in registry.ts, so we can skip validation here\n if (!converted || Object.keys(converted).length === 0) {\n return;\n }\n\n jsonSchema = converted;\n } else if (\n typeof schema === \"object\" &&\n schema !== null &&\n \"type\" in schema\n ) {\n // Already JSON Schema\n jsonSchema = schema as JSONSchema7;\n } else {\n // Unknown schema type - skip validation\n return;\n }\n } catch {\n // If schema conversion fails, skip validation\n // This can happen for function schemas or other special types\n return;\n }\n\n assertNoRecordInJsonSchema(jsonSchema, [], contextName);\n}\n"]}
|
package/esm/v1/types/auth.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Authentication state for the SDK.
|
|
3
|
-
*
|
|
4
|
-
* Discriminated union tracking the current auth lifecycle:
|
|
5
|
-
* - `identified`: ready to make API calls (via userKey or successful token exchange)
|
|
6
|
-
* - `exchanging`: userToken provided, exchange in-flight
|
|
7
|
-
* - `error`: token exchange failed
|
|
8
|
-
* - `invalid`: both userKey AND userToken provided (must choose one)
|
|
9
|
-
* - `unauthenticated`: neither userKey nor userToken provided
|
|
10
|
-
*/
|
|
11
|
-
export type TamboAuthState = {
|
|
12
|
-
status: "identified";
|
|
13
|
-
source: "userKey" | "tokenExchange";
|
|
14
|
-
} | {
|
|
15
|
-
status: "exchanging";
|
|
16
|
-
} | {
|
|
17
|
-
status: "error";
|
|
18
|
-
error: Error;
|
|
19
|
-
} | {
|
|
20
|
-
status: "invalid";
|
|
21
|
-
} | {
|
|
22
|
-
status: "unauthenticated";
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/v1/types/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,eAAe,CAAA;CAAE,GAC7D;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GACxB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACjC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC"}
|
package/esm/v1/types/auth.js
DELETED
package/esm/v1/types/auth.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/v1/types/auth.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Authentication state for the SDK.\n *\n * Discriminated union tracking the current auth lifecycle:\n * - `identified`: ready to make API calls (via userKey or successful token exchange)\n * - `exchanging`: userToken provided, exchange in-flight\n * - `error`: token exchange failed\n * - `invalid`: both userKey AND userToken provided (must choose one)\n * - `unauthenticated`: neither userKey nor userToken provided\n */\nexport type TamboAuthState =\n | { status: \"identified\"; source: \"userKey\" | \"tokenExchange\" }\n | { status: \"exchanging\" }\n | { status: \"error\"; error: Error }\n | { status: \"invalid\" }\n | { status: \"unauthenticated\" };\n"]}
|
package/esm/v1/types/event.d.ts
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tambo-specific Custom Event Types for Streaming API
|
|
3
|
-
*
|
|
4
|
-
* Defines custom events specific to Tambo functionality.
|
|
5
|
-
* For standard AG-UI events, import directly from `@ag-ui/core`.
|
|
6
|
-
*/
|
|
7
|
-
import type { CustomEvent } from "@ag-ui/core";
|
|
8
|
-
import type { Operation } from "fast-json-patch";
|
|
9
|
-
type TamboCustomEventEnvelope<TName extends string, TValue> = Omit<CustomEvent, "name" | "value"> & {
|
|
10
|
-
name: TName;
|
|
11
|
-
value: TValue;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Component start event (custom: tambo.component.start)
|
|
15
|
-
*/
|
|
16
|
-
export type ComponentStartEvent = TamboCustomEventEnvelope<"tambo.component.start", {
|
|
17
|
-
messageId: string;
|
|
18
|
-
componentId: string;
|
|
19
|
-
componentName: string;
|
|
20
|
-
}>;
|
|
21
|
-
/**
|
|
22
|
-
* Component props delta event (custom: tambo.component.props_delta)
|
|
23
|
-
* Uses JSON Patch (RFC 6902) to update component props
|
|
24
|
-
*/
|
|
25
|
-
export type ComponentPropsDeltaEvent = TamboCustomEventEnvelope<"tambo.component.props_delta", {
|
|
26
|
-
componentId: string;
|
|
27
|
-
operations: Operation[];
|
|
28
|
-
}>;
|
|
29
|
-
/**
|
|
30
|
-
* Component state delta event (custom: tambo.component.state_delta)
|
|
31
|
-
* Uses JSON Patch (RFC 6902) to update component state
|
|
32
|
-
*/
|
|
33
|
-
export type ComponentStateDeltaEvent = TamboCustomEventEnvelope<"tambo.component.state_delta", {
|
|
34
|
-
componentId: string;
|
|
35
|
-
operations: Operation[];
|
|
36
|
-
}>;
|
|
37
|
-
/**
|
|
38
|
-
* Component end event (custom: tambo.component.end)
|
|
39
|
-
*/
|
|
40
|
-
export type ComponentEndEvent = TamboCustomEventEnvelope<"tambo.component.end", {
|
|
41
|
-
componentId: string;
|
|
42
|
-
}>;
|
|
43
|
-
/**
|
|
44
|
-
* Pending tool call information from awaiting_input event
|
|
45
|
-
*/
|
|
46
|
-
export interface PendingToolCall {
|
|
47
|
-
toolCallId: string;
|
|
48
|
-
toolName: string;
|
|
49
|
-
arguments: string;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Run awaiting input event (custom: tambo.run.awaiting_input)
|
|
53
|
-
* Signals that the run is paused waiting for client-side tool execution
|
|
54
|
-
*/
|
|
55
|
-
export type RunAwaitingInputEvent = TamboCustomEventEnvelope<"tambo.run.awaiting_input", {
|
|
56
|
-
pendingToolCalls: PendingToolCall[];
|
|
57
|
-
}>;
|
|
58
|
-
/**
|
|
59
|
-
* Message parent event (custom: tambo.message.parent)
|
|
60
|
-
* Emitted when a message was created during the generation of another message
|
|
61
|
-
* (e.g., MCP sampling or elicitation).
|
|
62
|
-
*/
|
|
63
|
-
export type MessageParentEvent = TamboCustomEventEnvelope<"tambo.message.parent", {
|
|
64
|
-
messageId: string;
|
|
65
|
-
parentMessageId: string;
|
|
66
|
-
}>;
|
|
67
|
-
/**
|
|
68
|
-
* Union type of Tambo-specific custom events
|
|
69
|
-
*/
|
|
70
|
-
export type TamboCustomEvent = ComponentStartEvent | ComponentPropsDeltaEvent | ComponentStateDeltaEvent | ComponentEndEvent | RunAwaitingInputEvent | MessageParentEvent;
|
|
71
|
-
/**
|
|
72
|
-
* Type guard to check if an event is a Tambo custom event.
|
|
73
|
-
* Validates that the event has a name matching known Tambo custom event types.
|
|
74
|
-
* @param event - Event object to check
|
|
75
|
-
* @param event.name - Event name to match against known Tambo event types
|
|
76
|
-
* @returns True if event is a TamboCustomEvent
|
|
77
|
-
*/
|
|
78
|
-
export declare function isTamboCustomEvent(event: {
|
|
79
|
-
name?: string;
|
|
80
|
-
}): event is TamboCustomEvent;
|
|
81
|
-
/**
|
|
82
|
-
* Casts a CustomEvent to the specific TamboCustomEvent type based on its name.
|
|
83
|
-
* Uses exhaustive type checking to ensure all event types are handled.
|
|
84
|
-
* @param event - The CustomEvent to cast
|
|
85
|
-
* @returns The properly typed TamboCustomEvent, or undefined if not a known Tambo event
|
|
86
|
-
*/
|
|
87
|
-
export declare function asTamboCustomEvent(event: CustomEvent): TamboCustomEvent | undefined;
|
|
88
|
-
export {};
|
|
89
|
-
//# sourceMappingURL=event.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/v1/types/event.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,wBAAwB,CAAC,KAAK,SAAS,MAAM,EAAE,MAAM,IAAI,IAAI,CAChE,WAAW,EACX,MAAM,GAAG,OAAO,CACjB,GAAG;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CACxD,uBAAuB,EACvB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,wBAAwB,CAC7D,6BAA6B,EAC7B;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,wBAAwB,CAC7D,6BAA6B,EAC7B;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,CACF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,wBAAwB,CACtD,qBAAqB,EACrB;IACE,WAAW,EAAE,MAAM,CAAC;CACrB,CACF,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,CAC1D,0BAA0B,EAC1B;IACE,gBAAgB,EAAE,eAAe,EAAE,CAAC;CACrC,CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,CACvD,sBAAsB,EACtB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB,CACF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GACnB,wBAAwB,GACxB,wBAAwB,GACxB,iBAAiB,GACjB,qBAAqB,GACrB,kBAAkB,CAAC;AAcvB;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,KAAK,IAAI,gBAAgB,CAK5B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,GACjB,gBAAgB,GAAG,SAAS,CAiB9B"}
|
package/esm/v1/types/event.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tambo-specific Custom Event Types for Streaming API
|
|
3
|
-
*
|
|
4
|
-
* Defines custom events specific to Tambo functionality.
|
|
5
|
-
* For standard AG-UI events, import directly from `@ag-ui/core`.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Known Tambo custom event names for type narrowing
|
|
9
|
-
*/
|
|
10
|
-
const TAMBO_CUSTOM_EVENT_NAMES = [
|
|
11
|
-
"tambo.component.start",
|
|
12
|
-
"tambo.component.props_delta",
|
|
13
|
-
"tambo.component.state_delta",
|
|
14
|
-
"tambo.component.end",
|
|
15
|
-
"tambo.run.awaiting_input",
|
|
16
|
-
"tambo.message.parent",
|
|
17
|
-
];
|
|
18
|
-
/**
|
|
19
|
-
* Type guard to check if an event is a Tambo custom event.
|
|
20
|
-
* Validates that the event has a name matching known Tambo custom event types.
|
|
21
|
-
* @param event - Event object to check
|
|
22
|
-
* @param event.name - Event name to match against known Tambo event types
|
|
23
|
-
* @returns True if event is a TamboCustomEvent
|
|
24
|
-
*/
|
|
25
|
-
export function isTamboCustomEvent(event) {
|
|
26
|
-
return (typeof event.name === "string" &&
|
|
27
|
-
TAMBO_CUSTOM_EVENT_NAMES.includes(event.name));
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Casts a CustomEvent to the specific TamboCustomEvent type based on its name.
|
|
31
|
-
* Uses exhaustive type checking to ensure all event types are handled.
|
|
32
|
-
* @param event - The CustomEvent to cast
|
|
33
|
-
* @returns The properly typed TamboCustomEvent, or undefined if not a known Tambo event
|
|
34
|
-
*/
|
|
35
|
-
export function asTamboCustomEvent(event) {
|
|
36
|
-
switch (event.name) {
|
|
37
|
-
case "tambo.component.start":
|
|
38
|
-
return event;
|
|
39
|
-
case "tambo.component.props_delta":
|
|
40
|
-
return event;
|
|
41
|
-
case "tambo.component.state_delta":
|
|
42
|
-
return event;
|
|
43
|
-
case "tambo.component.end":
|
|
44
|
-
return event;
|
|
45
|
-
case "tambo.run.awaiting_input":
|
|
46
|
-
return event;
|
|
47
|
-
case "tambo.message.parent":
|
|
48
|
-
return event;
|
|
49
|
-
default:
|
|
50
|
-
return undefined;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=event.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/v1/types/event.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuGH;;GAEG;AACH,MAAM,wBAAwB,GAAG;IAC/B,uBAAuB;IACvB,6BAA6B;IAC7B,6BAA6B;IAC7B,qBAAqB;IACrB,0BAA0B;IAC1B,sBAAsB;CACd,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAElC;IACC,OAAO,CACL,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC7B,wBAA8C,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CACrE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAkB;IAElB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,uBAAuB;YAC1B,OAAO,KAA4B,CAAC;QACtC,KAAK,6BAA6B;YAChC,OAAO,KAAiC,CAAC;QAC3C,KAAK,6BAA6B;YAChC,OAAO,KAAiC,CAAC;QAC3C,KAAK,qBAAqB;YACxB,OAAO,KAA0B,CAAC;QACpC,KAAK,0BAA0B;YAC7B,OAAO,KAA8B,CAAC;QACxC,KAAK,sBAAsB;YACzB,OAAO,KAA2B,CAAC;QACrC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC","sourcesContent":["/**\n * Tambo-specific Custom Event Types for Streaming API\n *\n * Defines custom events specific to Tambo functionality.\n * For standard AG-UI events, import directly from `@ag-ui/core`.\n */\n\nimport type { CustomEvent } from \"@ag-ui/core\";\nimport type { Operation } from \"fast-json-patch\";\n\ntype TamboCustomEventEnvelope<TName extends string, TValue> = Omit<\n CustomEvent,\n \"name\" | \"value\"\n> & {\n name: TName;\n value: TValue;\n};\n\n/**\n * Component start event (custom: tambo.component.start)\n */\nexport type ComponentStartEvent = TamboCustomEventEnvelope<\n \"tambo.component.start\",\n {\n messageId: string;\n componentId: string;\n componentName: string;\n }\n>;\n\n/**\n * Component props delta event (custom: tambo.component.props_delta)\n * Uses JSON Patch (RFC 6902) to update component props\n */\nexport type ComponentPropsDeltaEvent = TamboCustomEventEnvelope<\n \"tambo.component.props_delta\",\n {\n componentId: string;\n operations: Operation[];\n }\n>;\n\n/**\n * Component state delta event (custom: tambo.component.state_delta)\n * Uses JSON Patch (RFC 6902) to update component state\n */\nexport type ComponentStateDeltaEvent = TamboCustomEventEnvelope<\n \"tambo.component.state_delta\",\n {\n componentId: string;\n operations: Operation[];\n }\n>;\n\n/**\n * Component end event (custom: tambo.component.end)\n */\nexport type ComponentEndEvent = TamboCustomEventEnvelope<\n \"tambo.component.end\",\n {\n componentId: string;\n }\n>;\n\n/**\n * Pending tool call information from awaiting_input event\n */\nexport interface PendingToolCall {\n toolCallId: string;\n toolName: string;\n arguments: string;\n}\n\n/**\n * Run awaiting input event (custom: tambo.run.awaiting_input)\n * Signals that the run is paused waiting for client-side tool execution\n */\nexport type RunAwaitingInputEvent = TamboCustomEventEnvelope<\n \"tambo.run.awaiting_input\",\n {\n pendingToolCalls: PendingToolCall[];\n }\n>;\n\n/**\n * Message parent event (custom: tambo.message.parent)\n * Emitted when a message was created during the generation of another message\n * (e.g., MCP sampling or elicitation).\n */\nexport type MessageParentEvent = TamboCustomEventEnvelope<\n \"tambo.message.parent\",\n {\n messageId: string;\n parentMessageId: string;\n }\n>;\n\n/**\n * Union type of Tambo-specific custom events\n */\nexport type TamboCustomEvent =\n | ComponentStartEvent\n | ComponentPropsDeltaEvent\n | ComponentStateDeltaEvent\n | ComponentEndEvent\n | RunAwaitingInputEvent\n | MessageParentEvent;\n\n/**\n * Known Tambo custom event names for type narrowing\n */\nconst TAMBO_CUSTOM_EVENT_NAMES = [\n \"tambo.component.start\",\n \"tambo.component.props_delta\",\n \"tambo.component.state_delta\",\n \"tambo.component.end\",\n \"tambo.run.awaiting_input\",\n \"tambo.message.parent\",\n] as const;\n\n/**\n * Type guard to check if an event is a Tambo custom event.\n * Validates that the event has a name matching known Tambo custom event types.\n * @param event - Event object to check\n * @param event.name - Event name to match against known Tambo event types\n * @returns True if event is a TamboCustomEvent\n */\nexport function isTamboCustomEvent(event: {\n name?: string;\n}): event is TamboCustomEvent {\n return (\n typeof event.name === \"string\" &&\n (TAMBO_CUSTOM_EVENT_NAMES as readonly string[]).includes(event.name)\n );\n}\n\n/**\n * Casts a CustomEvent to the specific TamboCustomEvent type based on its name.\n * Uses exhaustive type checking to ensure all event types are handled.\n * @param event - The CustomEvent to cast\n * @returns The properly typed TamboCustomEvent, or undefined if not a known Tambo event\n */\nexport function asTamboCustomEvent(\n event: CustomEvent,\n): TamboCustomEvent | undefined {\n switch (event.name) {\n case \"tambo.component.start\":\n return event as ComponentStartEvent;\n case \"tambo.component.props_delta\":\n return event as ComponentPropsDeltaEvent;\n case \"tambo.component.state_delta\":\n return event as ComponentStateDeltaEvent;\n case \"tambo.component.end\":\n return event as ComponentEndEvent;\n case \"tambo.run.awaiting_input\":\n return event as RunAwaitingInputEvent;\n case \"tambo.message.parent\":\n return event as MessageParentEvent;\n default:\n return undefined;\n }\n}\n"]}
|
package/esm/v1/types/thread.d.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Thread Types
|
|
3
|
-
*
|
|
4
|
-
* Re-exports thread types from `@tambo-ai/typescript-sdk` and defines
|
|
5
|
-
* React-specific extensions for streaming state management.
|
|
6
|
-
*/
|
|
7
|
-
import type { TamboThreadMessage } from "./message.js";
|
|
8
|
-
export type { ThreadCreateResponse, ThreadRetrieveResponse, ThreadListResponse, } from "@tambo-ai/typescript-sdk/resources/threads/threads";
|
|
9
|
-
/**
|
|
10
|
-
* Run status indicates the current state of the thread's run lifecycle.
|
|
11
|
-
* Matches the API's RunStatus — no "complete" or "error" variants.
|
|
12
|
-
* Error information is tracked separately in StreamingState.error.
|
|
13
|
-
*/
|
|
14
|
-
export type RunStatus = "idle" | "waiting" | "streaming";
|
|
15
|
-
/**
|
|
16
|
-
* Thread represents a conversation with the AI
|
|
17
|
-
* Extended from SDK's ThreadRetrieveResponse with additional fields for React state
|
|
18
|
-
*/
|
|
19
|
-
export interface TamboThread {
|
|
20
|
-
/** Unique thread identifier */
|
|
21
|
-
id: string;
|
|
22
|
-
/** Thread name */
|
|
23
|
-
name?: string;
|
|
24
|
-
/** Messages in the thread */
|
|
25
|
-
messages: TamboThreadMessage[];
|
|
26
|
-
/** Current run status */
|
|
27
|
-
status: RunStatus;
|
|
28
|
-
/** Thread metadata */
|
|
29
|
-
metadata?: Record<string, unknown>;
|
|
30
|
-
/** When the thread was created */
|
|
31
|
-
createdAt: string;
|
|
32
|
-
/** When the thread was last updated */
|
|
33
|
-
updatedAt: string;
|
|
34
|
-
/** Whether the last run was cancelled (resets to false when a new run starts) */
|
|
35
|
-
lastRunCancelled: boolean;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Streaming state tracks the progress of an active run
|
|
39
|
-
* This is React-specific and not part of the SDK
|
|
40
|
-
*/
|
|
41
|
-
export interface StreamingState {
|
|
42
|
-
/** Current streaming status */
|
|
43
|
-
status: RunStatus;
|
|
44
|
-
/** Active run ID (if streaming) */
|
|
45
|
-
runId?: string;
|
|
46
|
-
/** Active message ID being streamed */
|
|
47
|
-
messageId?: string;
|
|
48
|
-
/** When the current run started */
|
|
49
|
-
startTime?: number;
|
|
50
|
-
/** When reasoning started (for duration calculation) */
|
|
51
|
-
reasoningStartTime?: number;
|
|
52
|
-
/** Error information if status is 'error' */
|
|
53
|
-
error?: {
|
|
54
|
-
message: string;
|
|
55
|
-
code?: string;
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=thread.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../../../src/v1/types/thread.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGpD,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,oDAAoD,CAAC;AAE5D;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,6BAA6B;IAC7B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAE/B,yBAAyB;IACzB,MAAM,EAAE,SAAS,CAAC;IAElB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAElB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,iFAAiF;IACjF,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,MAAM,EAAE,SAAS,CAAC;IAElB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,6CAA6C;IAC7C,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH"}
|
package/esm/v1/types/thread.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../src/v1/types/thread.ts"],"names":[],"mappings":"AAAA;;;;;GAKG","sourcesContent":["/**\n * Thread Types\n *\n * Re-exports thread types from `@tambo-ai/typescript-sdk` and defines\n * React-specific extensions for streaming state management.\n */\n\nimport type { TamboThreadMessage } from \"./message\";\n\n// Re-export thread types from TypeScript SDK\nexport type {\n ThreadCreateResponse,\n ThreadRetrieveResponse,\n ThreadListResponse,\n} from \"@tambo-ai/typescript-sdk/resources/threads/threads\";\n\n/**\n * Run status indicates the current state of the thread's run lifecycle.\n * Matches the API's RunStatus — no \"complete\" or \"error\" variants.\n * Error information is tracked separately in StreamingState.error.\n */\nexport type RunStatus = \"idle\" | \"waiting\" | \"streaming\";\n\n/**\n * Thread represents a conversation with the AI\n * Extended from SDK's ThreadRetrieveResponse with additional fields for React state\n */\nexport interface TamboThread {\n /** Unique thread identifier */\n id: string;\n\n /** Thread name */\n name?: string;\n\n /** Messages in the thread */\n messages: TamboThreadMessage[];\n\n /** Current run status */\n status: RunStatus;\n\n /** Thread metadata */\n metadata?: Record<string, unknown>;\n\n /** When the thread was created */\n createdAt: string;\n\n /** When the thread was last updated */\n updatedAt: string;\n\n /** Whether the last run was cancelled (resets to false when a new run starts) */\n lastRunCancelled: boolean;\n}\n\n/**\n * Streaming state tracks the progress of an active run\n * This is React-specific and not part of the SDK\n */\nexport interface StreamingState {\n /** Current streaming status */\n status: RunStatus;\n\n /** Active run ID (if streaming) */\n runId?: string;\n\n /** Active message ID being streamed */\n messageId?: string;\n\n /** When the current run started */\n startTime?: number;\n\n /** When reasoning started (for duration calculation) */\n reasoningStartTime?: number;\n\n /** Error information if status is 'error' */\n error?: {\n message: string;\n code?: string;\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-choice.d.ts","sourceRoot":"","sources":["../../../src/v1/types/tool-choice.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,UAAU,GACV,MAAM,GACN;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-choice.js","sourceRoot":"","sources":["../../../src/v1/types/tool-choice.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Tool choice type matching the API format.\n * Controls how the model selects tools during generation.\n */\nexport type ToolChoice =\n | \"auto\" // Model decides (default)\n | \"required\" // Must use at least one tool\n | \"none\" // Cannot use tools\n | { name: string }; // Must use specific tool\n"]}
|