@assistant-ui/core 0.1.0 → 0.1.2
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/LICENSE +21 -0
- package/dist/adapters/attachment.js +1 -1
- package/dist/adapters/attachment.js.map +1 -1
- package/dist/react/AssistantProvider.d.ts +10 -0
- package/dist/react/AssistantProvider.d.ts.map +1 -0
- package/dist/react/AssistantProvider.js +13 -0
- package/dist/react/AssistantProvider.js.map +1 -0
- package/dist/react/RuntimeAdapter.d.ts +3 -0
- package/dist/react/RuntimeAdapter.d.ts.map +1 -0
- package/dist/react/RuntimeAdapter.js +16 -0
- package/dist/react/RuntimeAdapter.js.map +1 -0
- package/dist/react/client/DataRenderers.d.ts +3 -0
- package/dist/react/client/DataRenderers.d.ts.map +1 -0
- package/dist/react/client/DataRenderers.js +33 -0
- package/dist/react/client/DataRenderers.js.map +1 -0
- package/dist/react/client/Tools.d.ts +8 -0
- package/dist/react/client/Tools.d.ts.map +1 -0
- package/dist/react/client/Tools.js +68 -0
- package/dist/react/client/Tools.js.map +1 -0
- package/dist/react/client/index.d.ts +3 -0
- package/dist/react/client/index.d.ts.map +1 -0
- package/dist/react/client/index.js +3 -0
- package/dist/react/client/index.js.map +1 -0
- package/dist/react/index.d.ts +17 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +19 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/model-context/index.d.ts +12 -0
- package/dist/react/model-context/index.d.ts.map +1 -0
- package/dist/react/model-context/index.js +11 -0
- package/dist/react/model-context/index.js.map +1 -0
- package/dist/react/model-context/makeAssistantDataUI.d.ts +7 -0
- package/dist/react/model-context/makeAssistantDataUI.d.ts.map +1 -0
- package/dist/react/model-context/makeAssistantDataUI.js +10 -0
- package/dist/react/model-context/makeAssistantDataUI.js.map +1 -0
- package/dist/react/model-context/makeAssistantTool.d.ts +7 -0
- package/dist/react/model-context/makeAssistantTool.d.ts.map +1 -0
- package/dist/react/model-context/makeAssistantTool.js +10 -0
- package/dist/react/model-context/makeAssistantTool.js.map +1 -0
- package/dist/react/model-context/makeAssistantToolUI.d.ts +7 -0
- package/dist/react/model-context/makeAssistantToolUI.d.ts.map +1 -0
- package/dist/react/model-context/makeAssistantToolUI.js +10 -0
- package/dist/react/model-context/makeAssistantToolUI.js.map +1 -0
- package/dist/react/model-context/toolbox.d.ts +16 -0
- package/dist/react/model-context/toolbox.d.ts.map +1 -0
- package/dist/react/model-context/toolbox.js +2 -0
- package/dist/react/model-context/toolbox.js.map +1 -0
- package/dist/react/model-context/useAssistantDataUI.d.ts +7 -0
- package/dist/react/model-context/useAssistantDataUI.d.ts.map +1 -0
- package/dist/react/model-context/useAssistantDataUI.js +11 -0
- package/dist/react/model-context/useAssistantDataUI.js.map +1 -0
- package/dist/react/model-context/useAssistantInstructions.d.ts +4 -0
- package/dist/react/model-context/useAssistantInstructions.d.ts.map +1 -0
- package/dist/react/model-context/useAssistantInstructions.js +22 -0
- package/dist/react/model-context/useAssistantInstructions.js.map +1 -0
- package/dist/react/model-context/useAssistantTool.d.ts +7 -0
- package/dist/react/model-context/useAssistantTool.d.ts.map +1 -0
- package/dist/react/model-context/useAssistantTool.js +22 -0
- package/dist/react/model-context/useAssistantTool.js.map +1 -0
- package/dist/react/model-context/useAssistantToolUI.d.ts +7 -0
- package/dist/react/model-context/useAssistantToolUI.d.ts.map +1 -0
- package/dist/react/model-context/useAssistantToolUI.js +11 -0
- package/dist/react/model-context/useAssistantToolUI.js.map +1 -0
- package/dist/react/model-context/useInlineRender.d.ts +4 -0
- package/dist/react/model-context/useInlineRender.d.ts.map +1 -0
- package/dist/react/model-context/useInlineRender.js +15 -0
- package/dist/react/model-context/useInlineRender.js.map +1 -0
- package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts +27 -0
- package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -0
- package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js +27 -0
- package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js.map +1 -0
- package/dist/react/primitives/composer/ComposerAttachments.d.ts +23 -0
- package/dist/react/primitives/composer/ComposerAttachments.d.ts.map +1 -0
- package/dist/react/primitives/composer/ComposerAttachments.js +47 -0
- package/dist/react/primitives/composer/ComposerAttachments.js.map +1 -0
- package/dist/react/primitives/composer/ComposerIf.d.ts +20 -0
- package/dist/react/primitives/composer/ComposerIf.d.ts.map +1 -0
- package/dist/react/primitives/composer/ComposerIf.js +24 -0
- package/dist/react/primitives/composer/ComposerIf.js.map +1 -0
- package/dist/react/primitives/message/MessageAttachments.d.ts +23 -0
- package/dist/react/primitives/message/MessageAttachments.d.ts.map +1 -0
- package/dist/react/primitives/message/MessageAttachments.js +51 -0
- package/dist/react/primitives/message/MessageAttachments.js.map +1 -0
- package/dist/react/primitives/message/MessageParts.d.ts +139 -0
- package/dist/react/primitives/message/MessageParts.d.ts.map +1 -0
- package/dist/react/primitives/message/MessageParts.js +251 -0
- package/dist/react/primitives/message/MessageParts.js.map +1 -0
- package/dist/react/primitives/thread/ThreadMessages.d.ts +95 -0
- package/dist/react/primitives/thread/ThreadMessages.d.ts.map +1 -0
- package/dist/react/primitives/thread/ThreadMessages.js +112 -0
- package/dist/react/primitives/thread/ThreadMessages.js.map +1 -0
- package/dist/react/primitives/thread/ThreadSuggestions.d.ts +28 -0
- package/dist/react/primitives/thread/ThreadSuggestions.d.ts.map +1 -0
- package/dist/react/primitives/thread/ThreadSuggestions.js +32 -0
- package/dist/react/primitives/thread/ThreadSuggestions.js.map +1 -0
- package/dist/react/primitives/threadList/ThreadListItems.d.ts +22 -0
- package/dist/react/primitives/threadList/ThreadListItems.d.ts.map +1 -0
- package/dist/react/primitives/threadList/ThreadListItems.js +23 -0
- package/dist/react/primitives/threadList/ThreadListItems.js.map +1 -0
- package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts +8 -0
- package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -0
- package/dist/react/primitives/threadListItem/ThreadListItemTitle.js +8 -0
- package/dist/react/primitives/threadListItem/ThreadListItemTitle.js.map +1 -0
- package/dist/react/providers/AttachmentByIndexProvider.d.ts +8 -0
- package/dist/react/providers/AttachmentByIndexProvider.d.ts.map +1 -0
- package/dist/react/providers/AttachmentByIndexProvider.js +23 -0
- package/dist/react/providers/AttachmentByIndexProvider.js.map +1 -0
- package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts +6 -0
- package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -0
- package/dist/react/providers/ChainOfThoughtByIndicesProvider.js +20 -0
- package/dist/react/providers/ChainOfThoughtByIndicesProvider.js.map +1 -0
- package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts +5 -0
- package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts.map +1 -0
- package/dist/react/providers/ChainOfThoughtPartByIndexProvider.js +13 -0
- package/dist/react/providers/ChainOfThoughtPartByIndexProvider.js.map +1 -0
- package/dist/react/providers/MessageByIndexProvider.d.ts +5 -0
- package/dist/react/providers/MessageByIndexProvider.d.ts.map +1 -0
- package/dist/react/providers/MessageByIndexProvider.js +18 -0
- package/dist/react/providers/MessageByIndexProvider.js.map +1 -0
- package/dist/react/providers/PartByIndexProvider.d.ts +5 -0
- package/dist/react/providers/PartByIndexProvider.d.ts.map +1 -0
- package/dist/react/providers/PartByIndexProvider.js +13 -0
- package/dist/react/providers/PartByIndexProvider.js.map +1 -0
- package/dist/react/providers/SuggestionByIndexProvider.d.ts +6 -0
- package/dist/react/providers/SuggestionByIndexProvider.d.ts.map +1 -0
- package/dist/react/providers/SuggestionByIndexProvider.js +13 -0
- package/dist/react/providers/SuggestionByIndexProvider.js.map +1 -0
- package/dist/react/providers/TextMessagePartProvider.d.ts +6 -0
- package/dist/react/providers/TextMessagePartProvider.d.ts.map +1 -0
- package/dist/react/providers/TextMessagePartProvider.js +26 -0
- package/dist/react/providers/TextMessagePartProvider.js.map +1 -0
- package/dist/react/providers/ThreadListItemByIndexProvider.d.ts +6 -0
- package/dist/react/providers/ThreadListItemByIndexProvider.d.ts.map +1 -0
- package/dist/react/providers/ThreadListItemByIndexProvider.js +13 -0
- package/dist/react/providers/ThreadListItemByIndexProvider.js.map +1 -0
- package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts +6 -0
- package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -0
- package/dist/react/providers/ThreadListItemRuntimeProvider.js +10 -0
- package/dist/react/providers/ThreadListItemRuntimeProvider.js.map +1 -0
- package/dist/react/providers/index.d.ts +10 -0
- package/dist/react/providers/index.d.ts.map +1 -0
- package/dist/react/providers/index.js +10 -0
- package/dist/react/providers/index.js.map +1 -0
- package/dist/react/types/MessagePartComponentTypes.d.ts +33 -0
- package/dist/react/types/MessagePartComponentTypes.d.ts.map +1 -0
- package/dist/react/types/MessagePartComponentTypes.js +2 -0
- package/dist/react/types/MessagePartComponentTypes.js.map +1 -0
- package/dist/react/types/index.d.ts +3 -0
- package/dist/react/types/index.d.ts.map +1 -0
- package/dist/react/types/index.js +2 -0
- package/dist/react/types/index.js.map +1 -0
- package/dist/react/types/scopes/dataRenderers.d.ts +13 -0
- package/dist/react/types/scopes/dataRenderers.d.ts.map +1 -0
- package/dist/react/types/scopes/dataRenderers.js +2 -0
- package/dist/react/types/scopes/dataRenderers.js.map +1 -0
- package/dist/react/types/scopes/index.d.ts +3 -0
- package/dist/react/types/scopes/index.d.ts.map +1 -0
- package/dist/react/types/scopes/index.js +2 -0
- package/dist/react/types/scopes/index.js.map +1 -0
- package/dist/react/types/scopes/tools.d.ts +13 -0
- package/dist/react/types/scopes/tools.d.ts.map +1 -0
- package/dist/react/types/scopes/tools.js +2 -0
- package/dist/react/types/scopes/tools.js.map +1 -0
- package/dist/react/types/store-augmentation.d.ts +10 -0
- package/dist/react/types/store-augmentation.d.ts.map +1 -0
- package/dist/react/types/store-augmentation.js +2 -0
- package/dist/react/types/store-augmentation.js.map +1 -0
- package/dist/runtime/api/attachment-runtime.d.ts +2 -2
- package/dist/runtime/api/attachment-runtime.d.ts.map +1 -1
- package/dist/runtime/api/attachment-runtime.js.map +1 -1
- package/dist/runtime/api/composer-runtime.d.ts +8 -6
- package/dist/runtime/api/composer-runtime.d.ts.map +1 -1
- package/dist/runtime/api/composer-runtime.js +2 -2
- package/dist/runtime/api/composer-runtime.js.map +1 -1
- package/dist/runtime/api/thread-runtime.d.ts +27 -2
- package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
- package/dist/runtime/base/base-composer-runtime-core.d.ts +2 -2
- package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-composer-runtime-core.js +28 -8
- package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.d.ts +1 -2
- package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.js +0 -3
- package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/interfaces/composer-runtime-core.d.ts +3 -5
- package/dist/runtime/interfaces/composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/utils/external-store-message.d.ts +8 -0
- package/dist/runtime/utils/external-store-message.d.ts.map +1 -1
- package/dist/runtime/utils/external-store-message.js +12 -0
- package/dist/runtime/utils/external-store-message.js.map +1 -1
- package/dist/runtime/utils/thread-message-like.d.ts +10 -3
- package/dist/runtime/utils/thread-message-like.d.ts.map +1 -1
- package/dist/runtime/utils/thread-message-like.js +20 -5
- package/dist/runtime/utils/thread-message-like.js.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-runtime-core.js +26 -8
- package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
- package/dist/runtimes/remote-thread-list/empty-thread-core.js +1 -1
- package/dist/runtimes/remote-thread-list/empty-thread-core.js.map +1 -1
- package/dist/store/clients/chain-of-thought-client.d.ts +1 -1
- package/dist/store/clients/chain-of-thought-client.d.ts.map +1 -1
- package/dist/store/clients/model-context-client.d.ts +1 -1
- package/dist/store/clients/model-context-client.d.ts.map +1 -1
- package/dist/store/clients/no-op-composer-client.d.ts +1 -1
- package/dist/store/clients/no-op-composer-client.d.ts.map +1 -1
- package/dist/store/clients/runtime-adapter.d.ts +5 -0
- package/dist/store/clients/runtime-adapter.d.ts.map +1 -0
- package/dist/store/clients/runtime-adapter.js +46 -0
- package/dist/store/clients/runtime-adapter.js.map +1 -0
- package/dist/store/clients/suggestions.d.ts +1 -1
- package/dist/store/clients/suggestions.d.ts.map +1 -1
- package/dist/store/clients/suggestions.js +1 -1
- package/dist/store/clients/suggestions.js.map +1 -1
- package/dist/store/clients/thread-message-client.d.ts +1 -1
- package/dist/store/clients/thread-message-client.d.ts.map +1 -1
- package/dist/store/clients/thread-message-client.js +1 -1
- package/dist/store/clients/thread-message-client.js.map +1 -1
- package/dist/store/index.d.ts +1 -11
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +2 -9
- package/dist/store/index.js.map +1 -1
- package/dist/store/internal.d.ts +1 -9
- package/dist/store/internal.d.ts.map +1 -1
- package/dist/store/internal.js +1 -10
- package/dist/store/internal.js.map +1 -1
- package/dist/store/runtime-clients/attachment-runtime-client.d.ts +1 -1
- package/dist/store/runtime-clients/attachment-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/composer-runtime-client.d.ts +1 -1
- package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/composer-runtime-client.js +1 -1
- package/dist/store/runtime-clients/composer-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/message-part-runtime-client.d.ts +1 -1
- package/dist/store/runtime-clients/message-part-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/message-runtime-client.d.ts +1 -1
- package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/message-runtime-client.js +1 -1
- package/dist/store/runtime-clients/message-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts +1 -1
- package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-list-item-runtime-client.js +1 -1
- package/dist/store/runtime-clients/thread-list-item-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/thread-list-runtime-client.d.ts +1 -1
- package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-list-runtime-client.js +1 -1
- package/dist/store/runtime-clients/thread-list-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/thread-runtime-client.d.ts +1 -1
- package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-runtime-client.js +1 -1
- package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
- package/dist/store/scope-registration.d.ts +27 -0
- package/dist/store/scope-registration.d.ts.map +1 -0
- package/dist/store/scope-registration.js +2 -0
- package/dist/store/scope-registration.js.map +1 -0
- package/dist/store/scopes/composer.d.ts +2 -2
- package/dist/store/scopes/composer.d.ts.map +1 -1
- package/dist/types/attachment.d.ts +9 -2
- package/dist/types/attachment.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +35 -12
- package/src/adapters/attachment.ts +1 -1
- package/src/react/AssistantProvider.tsx +34 -0
- package/src/react/RuntimeAdapter.ts +26 -0
- package/src/react/client/DataRenderers.ts +42 -0
- package/src/react/client/Tools.ts +97 -0
- package/src/react/client/index.ts +2 -0
- package/src/react/index.ts +50 -0
- package/src/react/model-context/index.ts +25 -0
- package/src/react/model-context/makeAssistantDataUI.ts +20 -0
- package/src/react/model-context/makeAssistantTool.ts +20 -0
- package/src/react/model-context/makeAssistantToolUI.ts +20 -0
- package/src/react/model-context/toolbox.ts +19 -0
- package/src/react/model-context/useAssistantDataUI.ts +16 -0
- package/src/react/model-context/useAssistantInstructions.ts +30 -0
- package/src/react/model-context/useAssistantTool.ts +37 -0
- package/src/react/model-context/useAssistantToolUI.ts +18 -0
- package/src/react/model-context/useInlineRender.ts +25 -0
- package/src/react/primitives/chainOfThought/ChainOfThoughtParts.tsx +73 -0
- package/src/react/primitives/composer/ComposerAttachments.tsx +95 -0
- package/src/react/primitives/composer/ComposerIf.tsx +49 -0
- package/src/react/primitives/message/MessageAttachments.tsx +98 -0
- package/src/react/primitives/message/MessageParts.tsx +561 -0
- package/src/react/primitives/thread/ThreadMessages.tsx +222 -0
- package/src/react/primitives/thread/ThreadSuggestions.tsx +82 -0
- package/src/react/primitives/threadList/ThreadListItems.tsx +66 -0
- package/src/react/primitives/threadListItem/ThreadListItemTitle.tsx +17 -0
- package/src/react/providers/AttachmentByIndexProvider.tsx +34 -0
- package/src/react/providers/ChainOfThoughtByIndicesProvider.tsx +34 -0
- package/src/react/providers/ChainOfThoughtPartByIndexProvider.tsx +18 -0
- package/src/react/providers/MessageByIndexProvider.tsx +23 -0
- package/src/react/providers/PartByIndexProvider.tsx +18 -0
- package/src/react/providers/SuggestionByIndexProvider.tsx +21 -0
- package/src/react/providers/TextMessagePartProvider.tsx +46 -0
- package/src/react/providers/ThreadListItemByIndexProvider.tsx +19 -0
- package/src/react/providers/ThreadListItemRuntimeProvider.tsx +16 -0
- package/src/react/providers/index.ts +15 -0
- package/src/react/types/MessagePartComponentTypes.ts +66 -0
- package/src/react/types/index.ts +31 -0
- package/src/react/types/scopes/dataRenderers.ts +15 -0
- package/src/react/types/scopes/index.ts +6 -0
- package/src/react/types/scopes/tools.ts +18 -0
- package/src/react/types/store-augmentation.ts +11 -0
- package/src/runtime/api/attachment-runtime.ts +2 -7
- package/src/runtime/api/composer-runtime.ts +9 -8
- package/src/runtime/base/base-composer-runtime-core.ts +28 -8
- package/src/runtime/base/default-thread-composer-runtime-core.ts +1 -5
- package/src/runtime/index.ts +1 -0
- package/src/runtime/interfaces/composer-runtime-core.ts +3 -6
- package/src/runtime/utils/external-store-message.ts +15 -0
- package/src/runtime/utils/thread-message-like.ts +40 -7
- package/src/runtimes/external-store/external-store-thread-runtime-core.ts +29 -12
- package/src/runtimes/remote-thread-list/empty-thread-core.ts +1 -1
- package/src/store/clients/chain-of-thought-client.ts +1 -1
- package/src/store/clients/model-context-client.ts +1 -1
- package/src/store/clients/no-op-composer-client.ts +1 -1
- package/src/store/clients/runtime-adapter.ts +67 -0
- package/src/store/clients/suggestions.ts +2 -2
- package/src/store/clients/thread-message-client.ts +2 -2
- package/src/store/index.ts +2 -38
- package/src/store/internal.ts +4 -31
- package/src/store/runtime-clients/attachment-runtime-client.ts +1 -1
- package/src/store/runtime-clients/composer-runtime-client.ts +5 -1
- package/src/store/runtime-clients/message-part-runtime-client.ts +1 -1
- package/src/store/runtime-clients/message-runtime-client.ts +5 -1
- package/src/store/runtime-clients/thread-list-item-runtime-client.ts +1 -1
- package/src/store/runtime-clients/thread-list-runtime-client.ts +5 -1
- package/src/store/runtime-clients/thread-runtime-client.ts +1 -1
- package/src/store/scope-registration.ts +27 -0
- package/src/store/scopes/composer.ts +2 -1
- package/src/tests/external-store-thread-runtime-core.test.ts +152 -0
- package/src/tests/thread-message-like.test.ts +110 -0
- package/src/types/attachment.ts +10 -2
- package/src/types/index.ts +1 -0
- package/dist/store/types/client.d.ts +0 -137
- package/dist/store/types/client.d.ts.map +0 -1
- package/dist/store/types/client.js +0 -2
- package/dist/store/types/client.js.map +0 -1
- package/dist/store/types/events.d.ts +0 -33
- package/dist/store/types/events.d.ts.map +0 -1
- package/dist/store/types/events.js +0 -8
- package/dist/store/types/events.js.map +0 -1
- package/dist/store/types/index.d.ts +0 -3
- package/dist/store/types/index.d.ts.map +0 -1
- package/dist/store/types/index.js +0 -2
- package/dist/store/types/index.js.map +0 -1
- package/dist/store/utils/attach-transform-scopes.d.ts +0 -11
- package/dist/store/utils/attach-transform-scopes.d.ts.map +0 -1
- package/dist/store/utils/attach-transform-scopes.js +0 -12
- package/dist/store/utils/attach-transform-scopes.js.map +0 -1
- package/dist/store/utils/base-proxy-handler.d.ts +0 -23
- package/dist/store/utils/base-proxy-handler.d.ts.map +0 -1
- package/dist/store/utils/base-proxy-handler.js +0 -46
- package/dist/store/utils/base-proxy-handler.js.map +0 -1
- package/dist/store/utils/derived.d.ts +0 -34
- package/dist/store/utils/derived.d.ts.map +0 -1
- package/dist/store/utils/derived.js +0 -24
- package/dist/store/utils/derived.js.map +0 -1
- package/dist/store/utils/index.d.ts +0 -7
- package/dist/store/utils/index.d.ts.map +0 -1
- package/dist/store/utils/index.js +0 -7
- package/dist/store/utils/index.js.map +0 -1
- package/dist/store/utils/notification-manager.d.ts +0 -11
- package/dist/store/utils/notification-manager.d.ts.map +0 -1
- package/dist/store/utils/notification-manager.js +0 -84
- package/dist/store/utils/notification-manager.js.map +0 -1
- package/dist/store/utils/proxied-assistant-state.d.ts +0 -8
- package/dist/store/utils/proxied-assistant-state.d.ts.map +0 -1
- package/dist/store/utils/proxied-assistant-state.js +0 -33
- package/dist/store/utils/proxied-assistant-state.js.map +0 -1
- package/dist/store/utils/split-clients.d.ts +0 -10
- package/dist/store/utils/split-clients.d.ts.map +0 -1
- package/dist/store/utils/split-clients.js +0 -53
- package/dist/store/utils/split-clients.js.map +0 -1
- package/dist/store/utils/tap-assistant-context.d.ts +0 -19
- package/dist/store/utils/tap-assistant-context.d.ts.map +0 -1
- package/dist/store/utils/tap-assistant-context.js +0 -23
- package/dist/store/utils/tap-assistant-context.js.map +0 -1
- package/dist/store/utils/tap-client-list.d.ts +0 -28
- package/dist/store/utils/tap-client-list.d.ts.map +0 -1
- package/dist/store/utils/tap-client-list.js +0 -68
- package/dist/store/utils/tap-client-list.js.map +0 -1
- package/dist/store/utils/tap-client-lookup.d.ts +0 -15
- package/dist/store/utils/tap-client-lookup.d.ts.map +0 -1
- package/dist/store/utils/tap-client-lookup.js +0 -42
- package/dist/store/utils/tap-client-lookup.js.map +0 -1
- package/dist/store/utils/tap-client-resource.d.ts +0 -13
- package/dist/store/utils/tap-client-resource.d.ts.map +0 -1
- package/dist/store/utils/tap-client-resource.js +0 -114
- package/dist/store/utils/tap-client-resource.js.map +0 -1
- package/dist/store/utils/tap-client-stack-context.d.ts +0 -23
- package/dist/store/utils/tap-client-stack-context.d.ts.map +0 -1
- package/dist/store/utils/tap-client-stack-context.js +0 -28
- package/dist/store/utils/tap-client-stack-context.js.map +0 -1
- package/dist/store/utils/wrapper-resource.d.ts +0 -3
- package/dist/store/utils/wrapper-resource.d.ts.map +0 -1
- package/dist/store/utils/wrapper-resource.js +0 -11
- package/dist/store/utils/wrapper-resource.js.map +0 -1
- package/src/store/types/client.ts +0 -203
- package/src/store/types/events.ts +0 -77
- package/src/store/types/index.ts +0 -23
- package/src/store/utils/attach-transform-scopes.ts +0 -38
- package/src/store/utils/base-proxy-handler.ts +0 -50
- package/src/store/utils/derived.ts +0 -46
- package/src/store/utils/index.ts +0 -28
- package/src/store/utils/notification-manager.ts +0 -114
- package/src/store/utils/proxied-assistant-state.ts +0 -55
- package/src/store/utils/split-clients.ts +0 -82
- package/src/store/utils/tap-assistant-context.ts +0 -58
- package/src/store/utils/tap-client-list.ts +0 -121
- package/src/store/utils/tap-client-lookup.ts +0 -79
- package/src/store/utils/tap-client-resource.ts +0 -187
- package/src/store/utils/tap-client-stack-context.ts +0 -51
- package/src/store/utils/wrapper-resource.ts +0 -17
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useMemo, } from "react";
|
|
3
|
+
import { useAuiState, useAui } from "@assistant-ui/store";
|
|
4
|
+
import { PartByIndexProvider, TextMessagePartProvider } from "../../providers/index.js";
|
|
5
|
+
import { ChainOfThoughtByIndicesProvider } from "../../providers/ChainOfThoughtByIndicesProvider.js";
|
|
6
|
+
import { useShallow } from "zustand/shallow";
|
|
7
|
+
/**
|
|
8
|
+
* Creates a group state manager for a specific part type.
|
|
9
|
+
* Returns functions to start, end, and finalize groups.
|
|
10
|
+
*/
|
|
11
|
+
const createGroupState = (groupType) => {
|
|
12
|
+
let start = -1;
|
|
13
|
+
return {
|
|
14
|
+
startGroup: (index) => {
|
|
15
|
+
if (start === -1) {
|
|
16
|
+
start = index;
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
endGroup: (endIndex, ranges) => {
|
|
20
|
+
if (start !== -1) {
|
|
21
|
+
ranges.push({
|
|
22
|
+
type: groupType,
|
|
23
|
+
startIndex: start,
|
|
24
|
+
endIndex,
|
|
25
|
+
});
|
|
26
|
+
start = -1;
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
finalize: (endIndex, ranges) => {
|
|
30
|
+
if (start !== -1) {
|
|
31
|
+
ranges.push({
|
|
32
|
+
type: groupType,
|
|
33
|
+
startIndex: start,
|
|
34
|
+
endIndex,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Groups consecutive tool-call and reasoning message parts into ranges.
|
|
42
|
+
* Always groups tool calls and reasoning parts, even if there's only one.
|
|
43
|
+
* When useChainOfThought is true, groups tool-call and reasoning parts together.
|
|
44
|
+
*/
|
|
45
|
+
const groupMessageParts = (messageTypes, useChainOfThought) => {
|
|
46
|
+
const ranges = [];
|
|
47
|
+
if (useChainOfThought) {
|
|
48
|
+
const chainOfThoughtGroup = createGroupState("chainOfThoughtGroup");
|
|
49
|
+
for (let i = 0; i < messageTypes.length; i++) {
|
|
50
|
+
const type = messageTypes[i];
|
|
51
|
+
if (type === "tool-call" || type === "reasoning") {
|
|
52
|
+
chainOfThoughtGroup.startGroup(i);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
chainOfThoughtGroup.endGroup(i - 1, ranges);
|
|
56
|
+
ranges.push({ type: "single", index: i });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
chainOfThoughtGroup.finalize(messageTypes.length - 1, ranges);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const toolGroup = createGroupState("toolGroup");
|
|
63
|
+
const reasoningGroup = createGroupState("reasoningGroup");
|
|
64
|
+
for (let i = 0; i < messageTypes.length; i++) {
|
|
65
|
+
const type = messageTypes[i];
|
|
66
|
+
if (type === "tool-call") {
|
|
67
|
+
reasoningGroup.endGroup(i - 1, ranges);
|
|
68
|
+
toolGroup.startGroup(i);
|
|
69
|
+
}
|
|
70
|
+
else if (type === "reasoning") {
|
|
71
|
+
toolGroup.endGroup(i - 1, ranges);
|
|
72
|
+
reasoningGroup.startGroup(i);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
toolGroup.endGroup(i - 1, ranges);
|
|
76
|
+
reasoningGroup.endGroup(i - 1, ranges);
|
|
77
|
+
ranges.push({ type: "single", index: i });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
toolGroup.finalize(messageTypes.length - 1, ranges);
|
|
81
|
+
reasoningGroup.finalize(messageTypes.length - 1, ranges);
|
|
82
|
+
}
|
|
83
|
+
return ranges;
|
|
84
|
+
};
|
|
85
|
+
const useMessagePartsGroups = (useChainOfThought) => {
|
|
86
|
+
const messageTypes = useAuiState(useShallow((s) => s.message.parts.map((c) => c.type)));
|
|
87
|
+
return useMemo(() => {
|
|
88
|
+
if (messageTypes.length === 0) {
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
91
|
+
return groupMessageParts(messageTypes, useChainOfThought);
|
|
92
|
+
}, [messageTypes, useChainOfThought]);
|
|
93
|
+
};
|
|
94
|
+
const ToolUIDisplay = ({ Fallback, ...props }) => {
|
|
95
|
+
const Render = useAuiState((s) => {
|
|
96
|
+
const Render = s.tools.tools[props.toolName] ?? Fallback;
|
|
97
|
+
if (Array.isArray(Render))
|
|
98
|
+
return Render[0] ?? Fallback;
|
|
99
|
+
return Render;
|
|
100
|
+
});
|
|
101
|
+
if (!Render)
|
|
102
|
+
return null;
|
|
103
|
+
return _jsx(Render, { ...props });
|
|
104
|
+
};
|
|
105
|
+
const DataUIDisplay = ({ Fallback, ...props }) => {
|
|
106
|
+
const Render = useAuiState((s) => {
|
|
107
|
+
const Render = s.dataRenderers.renderers[props.name] ?? Fallback;
|
|
108
|
+
if (Array.isArray(Render))
|
|
109
|
+
return Render[0] ?? Fallback;
|
|
110
|
+
return Render;
|
|
111
|
+
});
|
|
112
|
+
if (!Render)
|
|
113
|
+
return null;
|
|
114
|
+
return _jsx(Render, { ...props });
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Platform-agnostic no-op default components.
|
|
118
|
+
* Each platform (web, RN) wraps MessagePrimitiveParts with its own defaults.
|
|
119
|
+
*/
|
|
120
|
+
export const defaultComponents = {
|
|
121
|
+
Text: () => null,
|
|
122
|
+
Reasoning: () => null,
|
|
123
|
+
Source: () => null,
|
|
124
|
+
Image: () => null,
|
|
125
|
+
File: () => null,
|
|
126
|
+
Unstable_Audio: () => null,
|
|
127
|
+
ToolGroup: ({ children }) => children,
|
|
128
|
+
ReasoningGroup: ({ children }) => children,
|
|
129
|
+
};
|
|
130
|
+
export const MessagePartComponent = ({ components: { Text = defaultComponents.Text, Reasoning = defaultComponents.Reasoning, Image = defaultComponents.Image, Source = defaultComponents.Source, File = defaultComponents.File, Unstable_Audio: Audio = defaultComponents.Unstable_Audio, tools = {}, data, } = {}, }) => {
|
|
131
|
+
const aui = useAui();
|
|
132
|
+
const part = useAuiState((s) => s.part);
|
|
133
|
+
const type = part.type;
|
|
134
|
+
if (type === "tool-call") {
|
|
135
|
+
const addResult = aui.part().addToolResult;
|
|
136
|
+
const resume = aui.part().resumeToolCall;
|
|
137
|
+
if ("Override" in tools)
|
|
138
|
+
return _jsx(tools.Override, { ...part, addResult: addResult, resume: resume });
|
|
139
|
+
const Tool = tools.by_name?.[part.toolName] ?? tools.Fallback;
|
|
140
|
+
return (_jsx(ToolUIDisplay, { ...part, Fallback: Tool, addResult: addResult, resume: resume }));
|
|
141
|
+
}
|
|
142
|
+
if (part.status?.type === "requires-action")
|
|
143
|
+
throw new Error("Encountered unexpected requires-action status");
|
|
144
|
+
switch (type) {
|
|
145
|
+
case "text":
|
|
146
|
+
return _jsx(Text, { ...part });
|
|
147
|
+
case "reasoning":
|
|
148
|
+
return _jsx(Reasoning, { ...part });
|
|
149
|
+
case "source":
|
|
150
|
+
return _jsx(Source, { ...part });
|
|
151
|
+
case "image":
|
|
152
|
+
return _jsx(Image, { ...part });
|
|
153
|
+
case "file":
|
|
154
|
+
return _jsx(File, { ...part });
|
|
155
|
+
case "audio":
|
|
156
|
+
return _jsx(Audio, { ...part });
|
|
157
|
+
case "data": {
|
|
158
|
+
const Data = data?.by_name?.[part.name] ?? data?.Fallback;
|
|
159
|
+
return _jsx(DataUIDisplay, { ...part, Fallback: Data });
|
|
160
|
+
}
|
|
161
|
+
default:
|
|
162
|
+
console.warn(`Unknown message part type: ${type}`);
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Renders a single message part at the specified index.
|
|
168
|
+
*/
|
|
169
|
+
export const MessagePrimitivePartByIndex = memo(({ index, components }) => {
|
|
170
|
+
return (_jsx(PartByIndexProvider, { index: index, children: _jsx(MessagePartComponent, { components: components }) }));
|
|
171
|
+
}, (prev, next) => prev.index === next.index &&
|
|
172
|
+
prev.components?.Text === next.components?.Text &&
|
|
173
|
+
prev.components?.Reasoning === next.components?.Reasoning &&
|
|
174
|
+
prev.components?.Source === next.components?.Source &&
|
|
175
|
+
prev.components?.Image === next.components?.Image &&
|
|
176
|
+
prev.components?.File === next.components?.File &&
|
|
177
|
+
prev.components?.Unstable_Audio === next.components?.Unstable_Audio &&
|
|
178
|
+
prev.components?.tools === next.components?.tools &&
|
|
179
|
+
prev.components?.data === next.components?.data &&
|
|
180
|
+
prev.components?.ToolGroup === next.components?.ToolGroup &&
|
|
181
|
+
prev.components?.ReasoningGroup === next.components?.ReasoningGroup);
|
|
182
|
+
MessagePrimitivePartByIndex.displayName = "MessagePrimitive.PartByIndex";
|
|
183
|
+
const EmptyPartFallback = ({ status, component: Component }) => {
|
|
184
|
+
return (_jsx(TextMessagePartProvider, { text: "", isRunning: status.type === "running", children: _jsx(Component, { type: "text", text: "", status: status }) }));
|
|
185
|
+
};
|
|
186
|
+
const COMPLETE_STATUS = Object.freeze({
|
|
187
|
+
type: "complete",
|
|
188
|
+
});
|
|
189
|
+
const EmptyPartsImpl = ({ components }) => {
|
|
190
|
+
const status = useAuiState((s) => (s.message.status ?? COMPLETE_STATUS));
|
|
191
|
+
if (components?.Empty)
|
|
192
|
+
return _jsx(components.Empty, { status: status });
|
|
193
|
+
return (_jsx(EmptyPartFallback, { status: status, component: components?.Text ?? defaultComponents.Text }));
|
|
194
|
+
};
|
|
195
|
+
const EmptyParts = memo(EmptyPartsImpl, (prev, next) => prev.components?.Empty === next.components?.Empty &&
|
|
196
|
+
prev.components?.Text === next.components?.Text);
|
|
197
|
+
const ConditionalEmptyImpl = ({ components, enabled }) => {
|
|
198
|
+
const shouldShowEmpty = useAuiState((s) => {
|
|
199
|
+
if (!enabled)
|
|
200
|
+
return false;
|
|
201
|
+
if (s.message.parts.length === 0)
|
|
202
|
+
return false;
|
|
203
|
+
const lastPart = s.message.parts[s.message.parts.length - 1];
|
|
204
|
+
return lastPart?.type !== "text" && lastPart?.type !== "reasoning";
|
|
205
|
+
});
|
|
206
|
+
if (!shouldShowEmpty)
|
|
207
|
+
return null;
|
|
208
|
+
return _jsx(EmptyParts, { components: components });
|
|
209
|
+
};
|
|
210
|
+
const ConditionalEmpty = memo(ConditionalEmptyImpl, (prev, next) => prev.enabled === next.enabled &&
|
|
211
|
+
prev.components?.Empty === next.components?.Empty &&
|
|
212
|
+
prev.components?.Text === next.components?.Text);
|
|
213
|
+
/**
|
|
214
|
+
* Renders the parts of a message with support for multiple content types.
|
|
215
|
+
*
|
|
216
|
+
* This is the platform-agnostic base. Each platform wraps this with its own
|
|
217
|
+
* default components (web uses `<p>`, `<span>`; RN would use `<Text>`, etc.).
|
|
218
|
+
*/
|
|
219
|
+
export const MessagePrimitiveParts = ({ components, unstable_showEmptyOnNonTextEnd = true, }) => {
|
|
220
|
+
const contentLength = useAuiState((s) => s.message.parts.length);
|
|
221
|
+
const useChainOfThought = !!components?.ChainOfThought;
|
|
222
|
+
const messageRanges = useMessagePartsGroups(useChainOfThought);
|
|
223
|
+
const partsElements = useMemo(() => {
|
|
224
|
+
if (contentLength === 0) {
|
|
225
|
+
return _jsx(EmptyParts, { components: components });
|
|
226
|
+
}
|
|
227
|
+
return messageRanges.map((range) => {
|
|
228
|
+
if (range.type === "single") {
|
|
229
|
+
return (_jsx(MessagePrimitivePartByIndex, { index: range.index, components: components }, range.index));
|
|
230
|
+
}
|
|
231
|
+
else if (range.type === "chainOfThoughtGroup") {
|
|
232
|
+
const ChainOfThoughtComponent = components?.ChainOfThought;
|
|
233
|
+
if (!ChainOfThoughtComponent)
|
|
234
|
+
return null;
|
|
235
|
+
return (_jsx(ChainOfThoughtByIndicesProvider, { startIndex: range.startIndex, endIndex: range.endIndex, children: _jsx(ChainOfThoughtComponent, {}) }, `chainOfThought-${range.startIndex}`));
|
|
236
|
+
}
|
|
237
|
+
else if (range.type === "toolGroup") {
|
|
238
|
+
const ToolGroupComponent = components?.ToolGroup ?? defaultComponents.ToolGroup;
|
|
239
|
+
return (_jsx(ToolGroupComponent, { startIndex: range.startIndex, endIndex: range.endIndex, children: Array.from({ length: range.endIndex - range.startIndex + 1 }, (_, i) => (_jsx(MessagePrimitivePartByIndex, { index: range.startIndex + i, components: components }, i))) }, `tool-${range.startIndex}`));
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
// reasoningGroup
|
|
243
|
+
const ReasoningGroupComponent = components?.ReasoningGroup ?? defaultComponents.ReasoningGroup;
|
|
244
|
+
return (_jsx(ReasoningGroupComponent, { startIndex: range.startIndex, endIndex: range.endIndex, children: Array.from({ length: range.endIndex - range.startIndex + 1 }, (_, i) => (_jsx(MessagePrimitivePartByIndex, { index: range.startIndex + i, components: components }, i))) }, `reasoning-${range.startIndex}`));
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
}, [messageRanges, components, contentLength]);
|
|
248
|
+
return (_jsxs(_Fragment, { children: [partsElements, _jsx(ConditionalEmpty, { components: components, enabled: unstable_showEmptyOnNonTextEnd })] }));
|
|
249
|
+
};
|
|
250
|
+
MessagePrimitiveParts.displayName = "MessagePrimitive.Parts";
|
|
251
|
+
//# sourceMappingURL=MessageParts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageParts.js","sourceRoot":"","sources":["../../../../src/react/primitives/message/MessageParts.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { type ComponentType, type FC } from "react";
|
|
2
|
+
export declare namespace ThreadPrimitiveMessages {
|
|
3
|
+
type Props = {
|
|
4
|
+
/**
|
|
5
|
+
* Component configuration for rendering different types of messages and composers.
|
|
6
|
+
*
|
|
7
|
+
* You can provide either:
|
|
8
|
+
* 1. A single `Message` component that handles all message types
|
|
9
|
+
* 2. Specific components for `UserMessage` and `AssistantMessage` (with optional `SystemMessage`)
|
|
10
|
+
*
|
|
11
|
+
* Optional edit composer components can be provided to customize the editing experience
|
|
12
|
+
* for different message types when users edit their messages.
|
|
13
|
+
*/
|
|
14
|
+
components: {
|
|
15
|
+
/** Component used to render all message types */
|
|
16
|
+
Message: ComponentType;
|
|
17
|
+
/** Component used when editing any message type */
|
|
18
|
+
EditComposer?: ComponentType | undefined;
|
|
19
|
+
/** Component used when editing user messages specifically */
|
|
20
|
+
UserEditComposer?: ComponentType | undefined;
|
|
21
|
+
/** Component used when editing assistant messages specifically */
|
|
22
|
+
AssistantEditComposer?: ComponentType | undefined;
|
|
23
|
+
/** Component used when editing system messages specifically */
|
|
24
|
+
SystemEditComposer?: ComponentType | undefined;
|
|
25
|
+
/** Component used to render user messages specifically */
|
|
26
|
+
UserMessage?: ComponentType | undefined;
|
|
27
|
+
/** Component used to render assistant messages specifically */
|
|
28
|
+
AssistantMessage?: ComponentType | undefined;
|
|
29
|
+
/** Component used to render system messages specifically */
|
|
30
|
+
SystemMessage?: ComponentType | undefined;
|
|
31
|
+
} | {
|
|
32
|
+
/** Component used to render all message types (fallback) */
|
|
33
|
+
Message?: ComponentType | undefined;
|
|
34
|
+
/** Component used when editing any message type */
|
|
35
|
+
EditComposer?: ComponentType | undefined;
|
|
36
|
+
/** Component used when editing user messages specifically */
|
|
37
|
+
UserEditComposer?: ComponentType | undefined;
|
|
38
|
+
/** Component used when editing assistant messages specifically */
|
|
39
|
+
AssistantEditComposer?: ComponentType | undefined;
|
|
40
|
+
/** Component used when editing system messages specifically */
|
|
41
|
+
SystemEditComposer?: ComponentType | undefined;
|
|
42
|
+
/** Component used to render user messages */
|
|
43
|
+
UserMessage: ComponentType;
|
|
44
|
+
/** Component used to render assistant messages */
|
|
45
|
+
AssistantMessage: ComponentType;
|
|
46
|
+
/** Component used to render system messages */
|
|
47
|
+
SystemMessage?: ComponentType | undefined;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export declare namespace ThreadPrimitiveMessageByIndex {
|
|
52
|
+
type Props = {
|
|
53
|
+
index: number;
|
|
54
|
+
components: ThreadPrimitiveMessages.Props["components"];
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Renders a single message at the specified index in the current thread.
|
|
59
|
+
*
|
|
60
|
+
* This component provides message context for a specific message in the thread
|
|
61
|
+
* and renders it using the provided component configuration.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```tsx
|
|
65
|
+
* <ThreadPrimitive.MessageByIndex
|
|
66
|
+
* index={0}
|
|
67
|
+
* components={{
|
|
68
|
+
* UserMessage: MyUserMessage,
|
|
69
|
+
* AssistantMessage: MyAssistantMessage
|
|
70
|
+
* }}
|
|
71
|
+
* />
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare const ThreadPrimitiveMessageByIndex: FC<ThreadPrimitiveMessageByIndex.Props>;
|
|
75
|
+
/**
|
|
76
|
+
* Renders all messages in the current thread using the provided component configuration.
|
|
77
|
+
*
|
|
78
|
+
* This component automatically renders all messages in the thread, providing the appropriate
|
|
79
|
+
* message context for each message. It handles different message types (user, assistant, system)
|
|
80
|
+
* and supports editing mode through the provided edit composer components.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```tsx
|
|
84
|
+
* <ThreadPrimitive.Messages
|
|
85
|
+
* components={{
|
|
86
|
+
* UserMessage: MyUserMessage,
|
|
87
|
+
* AssistantMessage: MyAssistantMessage,
|
|
88
|
+
* EditComposer: MyEditComposer
|
|
89
|
+
* }}
|
|
90
|
+
* />
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export declare const ThreadPrimitiveMessagesImpl: FC<ThreadPrimitiveMessages.Props>;
|
|
94
|
+
export declare const ThreadPrimitiveMessages: import("react").NamedExoticComponent<ThreadPrimitiveMessages.Props>;
|
|
95
|
+
//# sourceMappingURL=ThreadMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadMessages.d.ts","sourceRoot":"","sources":["../../../../src/react/primitives/thread/ThreadMessages.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,EAAE,EAAiB,MAAM,OAAO,CAAC;AAInE,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,KAAK,GAAG;QAClB;;;;;;;;;WASG;QACH,UAAU,EACN;YACE,iDAAiD;YACjD,OAAO,EAAE,aAAa,CAAC;YACvB,mDAAmD;YACnD,YAAY,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;YACzC,6DAA6D;YAC7D,gBAAgB,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;YAC7C,kEAAkE;YAClE,qBAAqB,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;YAClD,+DAA+D;YAC/D,kBAAkB,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;YAC/C,0DAA0D;YAC1D,WAAW,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;YACxC,+DAA+D;YAC/D,gBAAgB,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;YAC7C,4DAA4D;YAC5D,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;SAC3C,GACD;YACE,4DAA4D;YAC5D,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;YACpC,mDAAmD;YACnD,YAAY,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;YACzC,6DAA6D;YAC7D,gBAAgB,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;YAC7C,kEAAkE;YAClE,qBAAqB,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;YAClD,+DAA+D;YAC/D,kBAAkB,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;YAC/C,6CAA6C;YAC7C,WAAW,EAAE,aAAa,CAAC;YAC3B,kDAAkD;YAClD,gBAAgB,EAAE,aAAa,CAAC;YAChC,+CAA+C;YAC/C,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;SAC3C,CAAC;KACP,CAAC;CACH;AAoFD,yBAAiB,6BAA6B,CAAC;IAC7C,KAAY,KAAK,GAAG;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;KACzD,CAAC;CACH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,6BAA6B,EAAE,EAAE,CAAC,6BAA6B,CAAC,KAAK,CAY/E,CAAC;AAIJ;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,2BAA2B,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAiBzE,CAAC;AAIF,eAAO,MAAM,uBAAuB,qEAGnC,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useMemo } from "react";
|
|
3
|
+
import { useAuiState } from "@assistant-ui/store";
|
|
4
|
+
import { MessageByIndexProvider } from "../../providers/index.js";
|
|
5
|
+
const isComponentsSame = (prev, next) => {
|
|
6
|
+
return (prev.Message === next.Message &&
|
|
7
|
+
prev.EditComposer === next.EditComposer &&
|
|
8
|
+
prev.UserEditComposer === next.UserEditComposer &&
|
|
9
|
+
prev.AssistantEditComposer === next.AssistantEditComposer &&
|
|
10
|
+
prev.SystemEditComposer === next.SystemEditComposer &&
|
|
11
|
+
prev.UserMessage === next.UserMessage &&
|
|
12
|
+
prev.AssistantMessage === next.AssistantMessage &&
|
|
13
|
+
prev.SystemMessage === next.SystemMessage);
|
|
14
|
+
};
|
|
15
|
+
const DEFAULT_SYSTEM_MESSAGE = () => null;
|
|
16
|
+
const getComponent = (components, role, isEditing) => {
|
|
17
|
+
switch (role) {
|
|
18
|
+
case "user":
|
|
19
|
+
if (isEditing) {
|
|
20
|
+
return (components.UserEditComposer ??
|
|
21
|
+
components.EditComposer ??
|
|
22
|
+
components.UserMessage ??
|
|
23
|
+
components.Message);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
return components.UserMessage ?? components.Message;
|
|
27
|
+
}
|
|
28
|
+
case "assistant":
|
|
29
|
+
if (isEditing) {
|
|
30
|
+
return (components.AssistantEditComposer ??
|
|
31
|
+
components.EditComposer ??
|
|
32
|
+
components.AssistantMessage ??
|
|
33
|
+
components.Message);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return (components.AssistantMessage ?? components.Message);
|
|
37
|
+
}
|
|
38
|
+
case "system":
|
|
39
|
+
if (isEditing) {
|
|
40
|
+
return (components.SystemEditComposer ??
|
|
41
|
+
components.EditComposer ??
|
|
42
|
+
components.SystemMessage ??
|
|
43
|
+
components.Message);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return (components.SystemMessage ??
|
|
47
|
+
components.Message ??
|
|
48
|
+
DEFAULT_SYSTEM_MESSAGE);
|
|
49
|
+
}
|
|
50
|
+
default:
|
|
51
|
+
const _exhaustiveCheck = role;
|
|
52
|
+
throw new Error(`Unknown message role: ${_exhaustiveCheck}`);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const ThreadMessageComponent = ({ components, }) => {
|
|
56
|
+
const role = useAuiState((s) => s.message.role);
|
|
57
|
+
const isEditing = useAuiState((s) => s.message.composer.isEditing);
|
|
58
|
+
const Component = getComponent(components, role, isEditing);
|
|
59
|
+
return _jsx(Component, {});
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Renders a single message at the specified index in the current thread.
|
|
63
|
+
*
|
|
64
|
+
* This component provides message context for a specific message in the thread
|
|
65
|
+
* and renders it using the provided component configuration.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```tsx
|
|
69
|
+
* <ThreadPrimitive.MessageByIndex
|
|
70
|
+
* index={0}
|
|
71
|
+
* components={{
|
|
72
|
+
* UserMessage: MyUserMessage,
|
|
73
|
+
* AssistantMessage: MyAssistantMessage
|
|
74
|
+
* }}
|
|
75
|
+
* />
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export const ThreadPrimitiveMessageByIndex = memo(({ index, components }) => {
|
|
79
|
+
return (_jsx(MessageByIndexProvider, { index: index, children: _jsx(ThreadMessageComponent, { components: components }) }));
|
|
80
|
+
}, (prev, next) => prev.index === next.index &&
|
|
81
|
+
isComponentsSame(prev.components, next.components));
|
|
82
|
+
ThreadPrimitiveMessageByIndex.displayName = "ThreadPrimitive.MessageByIndex";
|
|
83
|
+
/**
|
|
84
|
+
* Renders all messages in the current thread using the provided component configuration.
|
|
85
|
+
*
|
|
86
|
+
* This component automatically renders all messages in the thread, providing the appropriate
|
|
87
|
+
* message context for each message. It handles different message types (user, assistant, system)
|
|
88
|
+
* and supports editing mode through the provided edit composer components.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```tsx
|
|
92
|
+
* <ThreadPrimitive.Messages
|
|
93
|
+
* components={{
|
|
94
|
+
* UserMessage: MyUserMessage,
|
|
95
|
+
* AssistantMessage: MyAssistantMessage,
|
|
96
|
+
* EditComposer: MyEditComposer
|
|
97
|
+
* }}
|
|
98
|
+
* />
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
export const ThreadPrimitiveMessagesImpl = ({ components, }) => {
|
|
102
|
+
const messagesLength = useAuiState((s) => s.thread.messages.length);
|
|
103
|
+
const messageElements = useMemo(() => {
|
|
104
|
+
if (messagesLength === 0)
|
|
105
|
+
return null;
|
|
106
|
+
return Array.from({ length: messagesLength }, (_, index) => (_jsx(ThreadPrimitiveMessageByIndex, { index: index, components: components }, index)));
|
|
107
|
+
}, [messagesLength, components]);
|
|
108
|
+
return messageElements;
|
|
109
|
+
};
|
|
110
|
+
ThreadPrimitiveMessagesImpl.displayName = "ThreadPrimitive.Messages";
|
|
111
|
+
export const ThreadPrimitiveMessages = memo(ThreadPrimitiveMessagesImpl, (prev, next) => isComponentsSame(prev.components, next.components));
|
|
112
|
+
//# sourceMappingURL=ThreadMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadMessages.js","sourceRoot":"","sources":["../../../../src/react/primitives/thread/ThreadMessages.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ComponentType, type FC } from "react";
|
|
2
|
+
export declare namespace ThreadPrimitiveSuggestions {
|
|
3
|
+
type Props = {
|
|
4
|
+
/**
|
|
5
|
+
* Component to render for each suggestion.
|
|
6
|
+
*/
|
|
7
|
+
components: {
|
|
8
|
+
/** Component used to render each suggestion */
|
|
9
|
+
Suggestion: ComponentType;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export declare namespace ThreadPrimitiveSuggestionByIndex {
|
|
14
|
+
type Props = {
|
|
15
|
+
index: number;
|
|
16
|
+
components: ThreadPrimitiveSuggestions.Props["components"];
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Renders a single suggestion at the specified index.
|
|
21
|
+
*/
|
|
22
|
+
export declare const ThreadPrimitiveSuggestionByIndex: FC<ThreadPrimitiveSuggestionByIndex.Props>;
|
|
23
|
+
/**
|
|
24
|
+
* Renders all suggestions using the provided component configuration.
|
|
25
|
+
*/
|
|
26
|
+
export declare const ThreadPrimitiveSuggestionsImpl: FC<ThreadPrimitiveSuggestions.Props>;
|
|
27
|
+
export declare const ThreadPrimitiveSuggestions: import("react").NamedExoticComponent<ThreadPrimitiveSuggestions.Props>;
|
|
28
|
+
//# sourceMappingURL=ThreadSuggestions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadSuggestions.d.ts","sourceRoot":"","sources":["../../../../src/react/primitives/thread/ThreadSuggestions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,EAAE,EAAiB,MAAM,OAAO,CAAC;AAInE,yBAAiB,0BAA0B,CAAC;IAC1C,KAAY,KAAK,GAAG;QAClB;;WAEG;QACH,UAAU,EAAE;YACV,+CAA+C;YAC/C,UAAU,EAAE,aAAa,CAAC;SAC3B,CAAC;KACH,CAAC;CACH;AAWD,yBAAiB,gCAAgC,CAAC;IAChD,KAAY,KAAK,GAAG;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,0BAA0B,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;KAC5D,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,EAAE,CAAC,gCAAgC,CAAC,KAAK,CAYrF,CAAC;AAKJ;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,EAAE,CAC7C,0BAA0B,CAAC,KAAK,CAkBjC,CAAC;AAIF,eAAO,MAAM,0BAA0B,wEAGtC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useMemo } from "react";
|
|
3
|
+
import { useAuiState } from "@assistant-ui/store";
|
|
4
|
+
import { SuggestionByIndexProvider } from "../../providers/SuggestionByIndexProvider.js";
|
|
5
|
+
const SuggestionComponent = ({ components }) => {
|
|
6
|
+
const Component = components.Suggestion;
|
|
7
|
+
return _jsx(Component, {});
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Renders a single suggestion at the specified index.
|
|
11
|
+
*/
|
|
12
|
+
export const ThreadPrimitiveSuggestionByIndex = memo(({ index, components }) => {
|
|
13
|
+
return (_jsx(SuggestionByIndexProvider, { index: index, children: _jsx(SuggestionComponent, { components: components }) }));
|
|
14
|
+
}, (prev, next) => prev.index === next.index &&
|
|
15
|
+
prev.components.Suggestion === next.components.Suggestion);
|
|
16
|
+
ThreadPrimitiveSuggestionByIndex.displayName =
|
|
17
|
+
"ThreadPrimitive.SuggestionByIndex";
|
|
18
|
+
/**
|
|
19
|
+
* Renders all suggestions using the provided component configuration.
|
|
20
|
+
*/
|
|
21
|
+
export const ThreadPrimitiveSuggestionsImpl = ({ components }) => {
|
|
22
|
+
const suggestionsLength = useAuiState((s) => s.suggestions.suggestions.length);
|
|
23
|
+
const suggestionElements = useMemo(() => {
|
|
24
|
+
if (suggestionsLength === 0)
|
|
25
|
+
return null;
|
|
26
|
+
return Array.from({ length: suggestionsLength }, (_, index) => (_jsx(ThreadPrimitiveSuggestionByIndex, { index: index, components: components }, index)));
|
|
27
|
+
}, [suggestionsLength, components]);
|
|
28
|
+
return suggestionElements;
|
|
29
|
+
};
|
|
30
|
+
ThreadPrimitiveSuggestionsImpl.displayName = "ThreadPrimitive.Suggestions";
|
|
31
|
+
export const ThreadPrimitiveSuggestions = memo(ThreadPrimitiveSuggestionsImpl, (prev, next) => prev.components.Suggestion === next.components.Suggestion);
|
|
32
|
+
//# sourceMappingURL=ThreadSuggestions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadSuggestions.js","sourceRoot":"","sources":["../../../../src/react/primitives/thread/ThreadSuggestions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA+B,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,qDAAkD;AAkBtF,MAAM,mBAAmB,GAAiC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;IAC3E,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;IACxC,OAAO,KAAC,SAAS,KAAG,CAAC;AACvB,CAAC,CAAC;AASF;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,IAAI,CACF,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;IACxB,OAAO,CACL,KAAC,yBAAyB,IAAC,KAAK,EAAE,KAAK,YACrC,KAAC,mBAAmB,IAAC,UAAU,EAAE,UAAU,GAAI,GACrB,CAC7B,CAAC;AACJ,CAAC,EACD,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACb,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;IACzB,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,UAAU,CAC5D,CAAC;AAEJ,gCAAgC,CAAC,WAAW;IAC1C,mCAAmC,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAEvC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;IACrB,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CACxC,CAAC;IAEF,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,iBAAiB,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7D,KAAC,gCAAgC,IAE/B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,IAFjB,KAAK,CAGV,CACH,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEpC,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AAEF,8BAA8B,CAAC,WAAW,GAAG,6BAA6B,CAAC;AAE3E,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAC5C,8BAA8B,EAC9B,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,UAAU,CAC1E,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ComponentType, FC } from "react";
|
|
2
|
+
export declare namespace ThreadListPrimitiveItems {
|
|
3
|
+
type Props = {
|
|
4
|
+
archived?: boolean | undefined;
|
|
5
|
+
components: {
|
|
6
|
+
ThreadListItem: ComponentType;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare namespace ThreadListPrimitiveItemByIndex {
|
|
11
|
+
type Props = {
|
|
12
|
+
index: number;
|
|
13
|
+
archived?: boolean | undefined;
|
|
14
|
+
components: ThreadListPrimitiveItems.Props["components"];
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Renders a single thread list item at the specified index.
|
|
19
|
+
*/
|
|
20
|
+
export declare const ThreadListPrimitiveItemByIndex: FC<ThreadListPrimitiveItemByIndex.Props>;
|
|
21
|
+
export declare const ThreadListPrimitiveItems: FC<ThreadListPrimitiveItems.Props>;
|
|
22
|
+
//# sourceMappingURL=ThreadListItems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadListItems.d.ts","sourceRoot":"","sources":["../../../../src/react/primitives/threadList/ThreadListItems.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,EAAE,EAAiB,MAAM,OAAO,CAAC;AAIzD,yBAAiB,wBAAwB,CAAC;IACxC,KAAY,KAAK,GAAG;QAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/B,UAAU,EAAE;YACV,cAAc,EAAE,aAAa,CAAC;SAC/B,CAAC;KACH,CAAC;CACH;AAED,yBAAiB,8BAA8B,CAAC;IAC9C,KAAY,KAAK,GAAG;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/B,UAAU,EAAE,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;KAC1D,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,CAejF,CAAC;AAIJ,eAAO,MAAM,wBAAwB,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAoBvE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useMemo } from "react";
|
|
3
|
+
import { useAuiState } from "@assistant-ui/store";
|
|
4
|
+
import { ThreadListItemByIndexProvider } from "../../providers/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Renders a single thread list item at the specified index.
|
|
7
|
+
*/
|
|
8
|
+
export const ThreadListPrimitiveItemByIndex = memo(({ index, archived = false, components }) => {
|
|
9
|
+
const ThreadListItemComponent = components.ThreadListItem;
|
|
10
|
+
return (_jsx(ThreadListItemByIndexProvider, { index: index, archived: archived, children: _jsx(ThreadListItemComponent, {}) }));
|
|
11
|
+
}, (prev, next) => prev.index === next.index &&
|
|
12
|
+
prev.archived === next.archived &&
|
|
13
|
+
prev.components.ThreadListItem === next.components.ThreadListItem);
|
|
14
|
+
ThreadListPrimitiveItemByIndex.displayName = "ThreadListPrimitive.ItemByIndex";
|
|
15
|
+
export const ThreadListPrimitiveItems = ({ archived = false, components, }) => {
|
|
16
|
+
const contentLength = useAuiState((s) => archived ? s.threads.archivedThreadIds.length : s.threads.threadIds.length);
|
|
17
|
+
const listElements = useMemo(() => {
|
|
18
|
+
return Array.from({ length: contentLength }, (_, index) => (_jsx(ThreadListPrimitiveItemByIndex, { index: index, archived: archived, components: components }, index)));
|
|
19
|
+
}, [contentLength, archived, components]);
|
|
20
|
+
return listElements;
|
|
21
|
+
};
|
|
22
|
+
ThreadListPrimitiveItems.displayName = "ThreadListPrimitive.Items";
|
|
23
|
+
//# sourceMappingURL=ThreadListItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadListItems.js","sourceRoot":"","sources":["../../../../src/react/primitives/threadList/ThreadListItems.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAqB,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,iCAAwB;AAmBhE;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GACzC,IAAI,CACF,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;IAC1C,MAAM,uBAAuB,GAAG,UAAU,CAAC,cAAc,CAAC;IAE1D,OAAO,CACL,KAAC,6BAA6B,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,YAC7D,KAAC,uBAAuB,KAAG,GACG,CACjC,CAAC;AACJ,CAAC,EACD,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACb,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;IACzB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;IAC/B,IAAI,CAAC,UAAU,CAAC,cAAc,KAAK,IAAI,CAAC,UAAU,CAAC,cAAc,CACpE,CAAC;AAEJ,8BAA8B,CAAC,WAAW,GAAG,iCAAiC,CAAC;AAE/E,MAAM,CAAC,MAAM,wBAAwB,GAAuC,CAAC,EAC3E,QAAQ,GAAG,KAAK,EAChB,UAAU,GACX,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAC3E,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACzD,KAAC,8BAA8B,IAE7B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,IAHjB,KAAK,CAIV,CACH,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1C,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,wBAAwB,CAAC,WAAW,GAAG,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FC, ReactNode } from "react";
|
|
2
|
+
export declare namespace ThreadListItemPrimitiveTitle {
|
|
3
|
+
type Props = {
|
|
4
|
+
fallback?: ReactNode;
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
export declare const ThreadListItemPrimitiveTitle: FC<ThreadListItemPrimitiveTitle.Props>;
|
|
8
|
+
//# sourceMappingURL=ThreadListItemTitle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadListItemTitle.d.ts","sourceRoot":"","sources":["../../../../src/react/primitives/threadListItem/ThreadListItemTitle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG3C,yBAAiB,4BAA4B,CAAC;IAC5C,KAAY,KAAK,GAAG;QAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;KACtB,CAAC;CACH;AAED,eAAO,MAAM,4BAA4B,EAAE,EAAE,CAC3C,4BAA4B,CAAC,KAAK,CAInC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useAuiState } from "@assistant-ui/store";
|
|
3
|
+
export const ThreadListItemPrimitiveTitle = ({ fallback }) => {
|
|
4
|
+
const title = useAuiState((s) => s.threadListItem.title);
|
|
5
|
+
return _jsx(_Fragment, { children: title || fallback });
|
|
6
|
+
};
|
|
7
|
+
ThreadListItemPrimitiveTitle.displayName = "ThreadListItemPrimitive.Title";
|
|
8
|
+
//# sourceMappingURL=ThreadListItemTitle.js.map
|