@assistant-ui/react 0.10.23 → 0.10.25
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/api/{ContentPartRuntime.d.ts → MessagePartRuntime.d.ts} +14 -14
- package/dist/api/{ContentPartRuntime.d.ts.map → MessagePartRuntime.d.ts.map} +1 -1
- package/dist/api/{ContentPartRuntime.js → MessagePartRuntime.js} +6 -6
- package/dist/api/{ContentPartRuntime.js.map → MessagePartRuntime.js.map} +1 -1
- package/dist/api/MessageRuntime.d.ts +8 -8
- package/dist/api/MessageRuntime.js +17 -17
- package/dist/api/MessageRuntime.js.map +1 -1
- package/dist/api/RuntimePathTypes.d.ts +2 -2
- package/dist/api/ThreadListRuntime.d.ts +3 -0
- package/dist/api/ThreadListRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListRuntime.js +5 -1
- package/dist/api/ThreadListRuntime.js.map +1 -1
- package/dist/api/ThreadRuntime.d.ts +5 -0
- package/dist/api/ThreadRuntime.d.ts.map +1 -1
- package/dist/api/ThreadRuntime.js +1 -0
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/api/index.d.ts +2 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts +1 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/cloud/auiV0.d.ts +3 -3
- package/dist/cloud/auiV0.d.ts.map +1 -1
- package/dist/cloud/auiV0.js +1 -1
- package/dist/cloud/auiV0.js.map +1 -1
- package/dist/cloud/index.d.ts +1 -1
- package/dist/cloud/index.d.ts.map +1 -1
- package/dist/cloud/index.js +1 -1
- package/dist/cloud/index.js.map +1 -1
- package/dist/cloud/useCloudThreadListRuntime.d.ts +1 -1
- package/dist/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
- package/dist/cloud/useCloudThreadListRuntime.js.map +1 -1
- package/dist/context/providers/MessagePartRuntimeProvider.d.ts +9 -0
- package/dist/context/providers/{ContentPartRuntimeProvider.d.ts.map → MessagePartRuntimeProvider.d.ts.map} +1 -1
- package/dist/context/providers/{ContentPartRuntimeProvider.js → MessagePartRuntimeProvider.js} +9 -9
- package/dist/context/providers/MessagePartRuntimeProvider.js.map +1 -0
- package/dist/context/providers/{TextContentPartProvider.d.ts → TextMessagePartProvider.d.ts} +3 -3
- package/dist/context/providers/{TextContentPartProvider.d.ts.map → TextMessagePartProvider.d.ts.map} +1 -1
- package/dist/context/providers/{TextContentPartProvider.js → TextMessagePartProvider.js} +19 -19
- package/dist/context/providers/{TextContentPartProvider.js.map → TextMessagePartProvider.js.map} +1 -1
- package/dist/context/providers/index.d.ts +2 -1
- package/dist/context/providers/index.d.ts.map +1 -1
- package/dist/context/providers/index.js +4 -2
- package/dist/context/providers/index.js.map +1 -1
- package/dist/context/react/AssistantContext.d.ts +23 -0
- package/dist/context/react/AssistantContext.d.ts.map +1 -1
- package/dist/context/react/AssistantContext.js.map +1 -1
- package/dist/context/react/AttachmentContext.d.ts +72 -72
- package/dist/context/react/ComposerContext.d.ts +64 -0
- package/dist/context/react/ComposerContext.d.ts.map +1 -1
- package/dist/context/react/ComposerContext.js.map +1 -1
- package/dist/context/react/MessageContext.d.ts +56 -0
- package/dist/context/react/MessageContext.d.ts.map +1 -1
- package/dist/context/react/MessageContext.js.map +1 -1
- package/dist/context/react/MessagePartContext.d.ts +41 -0
- package/dist/context/react/{ContentPartContext.d.ts.map → MessagePartContext.d.ts.map} +1 -1
- package/dist/context/react/MessagePartContext.js +25 -0
- package/dist/context/react/MessagePartContext.js.map +1 -0
- package/dist/context/react/ThreadContext.d.ts +42 -0
- package/dist/context/react/ThreadContext.d.ts.map +1 -1
- package/dist/context/react/ThreadContext.js.map +1 -1
- package/dist/context/react/index.d.ts +1 -1
- package/dist/context/react/index.js +3 -3
- package/dist/context/react/index.js.map +1 -1
- package/dist/context/stores/AssistantToolUIs.d.ts +3 -3
- package/dist/context/stores/AssistantToolUIs.js.map +1 -1
- package/dist/model-context/useAssistantTool.d.ts +2 -2
- package/dist/model-context/useAssistantTool.js.map +1 -1
- package/dist/model-context/useAssistantToolUI.d.ts +2 -2
- package/dist/model-context/useAssistantToolUI.js.map +1 -1
- package/dist/model-context/useInlineRender.d.ts +2 -2
- package/dist/model-context/useInlineRender.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts +42 -0
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts +38 -0
- package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts +39 -0
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.d.ts +56 -0
- package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts +2 -0
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js +2 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.d.ts +18 -0
- package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts +17 -0
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts +17 -0
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +38 -0
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +27 -0
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.js +11 -8
- package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.d.ts +17 -0
- package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerCancel.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts +72 -0
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerRoot.d.ts +19 -0
- package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts +18 -0
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerSend.js.map +1 -1
- package/dist/primitives/index.d.ts +12 -6
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +23 -11
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
- package/dist/primitives/message/MessageAttachments.js +11 -8
- package/dist/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/primitives/message/MessageParts.d.ts +116 -0
- package/dist/primitives/message/MessageParts.d.ts.map +1 -0
- package/dist/primitives/message/MessageParts.js +208 -0
- package/dist/primitives/message/MessageParts.js.map +1 -0
- package/dist/primitives/message/MessageRoot.d.ts +22 -0
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/message/index.d.ts +2 -1
- package/dist/primitives/message/index.d.ts.map +1 -1
- package/dist/primitives/message/index.js +4 -2
- package/dist/primitives/message/index.js.map +1 -1
- package/dist/primitives/messagePart/MessagePartImage.d.ts +29 -0
- package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -0
- package/dist/primitives/messagePart/MessagePartImage.js +16 -0
- package/dist/primitives/messagePart/MessagePartImage.js.map +1 -0
- package/dist/primitives/messagePart/MessagePartInProgress.d.ts +6 -0
- package/dist/primitives/{contentPart/ContentPartInProgress.d.ts.map → messagePart/MessagePartInProgress.d.ts.map} +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.js +13 -0
- package/dist/primitives/messagePart/MessagePartInProgress.js.map +1 -0
- package/dist/primitives/messagePart/MessagePartText.d.ts +50 -0
- package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -0
- package/dist/primitives/messagePart/MessagePartText.js +18 -0
- package/dist/primitives/messagePart/MessagePartText.js.map +1 -0
- package/dist/primitives/messagePart/index.d.ts +4 -0
- package/dist/primitives/{contentPart → messagePart}/index.d.ts.map +1 -1
- package/dist/primitives/messagePart/index.js +10 -0
- package/dist/primitives/messagePart/index.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartFile.d.ts +5 -0
- package/dist/primitives/messagePart/useMessagePartFile.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartFile.js +18 -0
- package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartImage.d.ts +5 -0
- package/dist/primitives/messagePart/useMessagePartImage.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartImage.js +18 -0
- package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.d.ts +5 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.js +18 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartSource.d.ts +5 -0
- package/dist/primitives/messagePart/useMessagePartSource.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartSource.js +18 -0
- package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartText.d.ts +7 -0
- package/dist/primitives/messagePart/useMessagePartText.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartText.js +18 -0
- package/dist/primitives/messagePart/useMessagePartText.js.map +1 -0
- package/dist/primitives/thread/ThreadMessages.d.ts +44 -0
- package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js +5 -2
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/ThreadRoot.d.ts +19 -0
- package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadRoot.js.map +1 -1
- package/dist/primitives/thread/ThreadViewport.d.ts +24 -0
- package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadViewport.js.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.js +12 -9
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/runtimes/adapters/attachment/AttachmentAdapter.d.ts +54 -0
- package/dist/runtimes/adapters/attachment/AttachmentAdapter.d.ts.map +1 -1
- package/dist/runtimes/adapters/feedback/FeedbackAdapter.d.ts +33 -0
- package/dist/runtimes/adapters/feedback/FeedbackAdapter.d.ts.map +1 -1
- package/dist/runtimes/adapters/speech/SpeechAdapterTypes.d.ts +47 -0
- package/dist/runtimes/adapters/speech/SpeechAdapterTypes.d.ts.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +1 -0
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +1 -0
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts +1 -0
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +2 -0
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +1 -0
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +3 -0
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +1 -0
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +3 -0
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.d.ts +3 -3
- package/dist/runtimes/external-store/ThreadMessageLike.js +3 -3
- package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
- package/dist/runtimes/external-store/createMessageConverter.js +3 -3
- package/dist/runtimes/external-store/createMessageConverter.js.map +1 -1
- package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
- package/dist/runtimes/local/ChatModelAdapter.d.ts +4 -4
- package/dist/runtimes/local/LocalRuntimeOptions.d.ts +2 -2
- package/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +1 -0
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +3 -0
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +2 -0
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +12 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +1 -0
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +2 -0
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +3 -0
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +3 -0
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.js +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.js.map +1 -1
- package/dist/runtimes/utils/MessageRepository.js +1 -1
- package/dist/runtimes/utils/MessageRepository.js.map +1 -1
- package/dist/tests/setup.js +8 -8
- package/dist/tests/setup.js.map +1 -1
- package/dist/types/AssistantTypes.d.ts +15 -15
- package/dist/types/AttachmentTypes.d.ts +3 -3
- package/dist/types/MessagePartComponentTypes.d.ts +25 -0
- package/dist/types/{ContentPartComponentTypes.d.ts.map → MessagePartComponentTypes.d.ts.map} +1 -1
- package/dist/types/MessagePartComponentTypes.js +1 -0
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/getThreadMessageText.js.map +1 -1
- package/dist/utils/smooth/SmoothContext.js +3 -3
- package/dist/utils/smooth/SmoothContext.js.map +1 -1
- package/dist/utils/smooth/useSmooth.d.ts +3 -3
- package/dist/utils/smooth/useSmooth.js.map +1 -1
- package/dist/utils/useToolArgsFieldStatus.js +3 -3
- package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
- package/package.json +9 -8
- package/src/api/{ContentPartRuntime.ts → MessagePartRuntime.ts} +20 -20
- package/src/api/MessageRuntime.ts +32 -32
- package/src/api/RuntimePathTypes.ts +2 -2
- package/src/api/ThreadListRuntime.ts +8 -0
- package/src/api/ThreadRuntime.ts +6 -0
- package/src/api/index.ts +11 -3
- package/src/cloud/AssistantCloudThreadHistoryAdapter.tsx +1 -1
- package/src/cloud/auiV0.ts +4 -4
- package/src/cloud/index.ts +1 -1
- package/src/cloud/useCloudThreadListRuntime.tsx +1 -1
- package/src/context/providers/MessagePartRuntimeProvider.tsx +42 -0
- package/src/context/providers/{TextContentPartProvider.tsx → TextMessagePartProvider.tsx} +27 -27
- package/src/context/providers/index.ts +4 -1
- package/src/context/react/AssistantContext.ts +23 -0
- package/src/context/react/ComposerContext.ts +64 -0
- package/src/context/react/MessageContext.ts +56 -0
- package/src/context/react/MessagePartContext.ts +37 -0
- package/src/context/react/ThreadContext.ts +42 -0
- package/src/context/react/index.ts +1 -1
- package/src/context/stores/AssistantToolUIs.ts +4 -4
- package/src/model-context/useAssistantTool.tsx +2 -2
- package/src/model-context/useAssistantToolUI.tsx +2 -2
- package/src/model-context/useInlineRender.tsx +3 -3
- package/src/primitives/actionBar/ActionBarCopy.tsx +42 -0
- package/src/primitives/actionBar/ActionBarEdit.tsx +38 -0
- package/src/primitives/actionBar/ActionBarReload.tsx +39 -0
- package/src/primitives/actionBar/ActionBarRoot.tsx +38 -0
- package/src/primitives/assistantModal/AssistantModalContent.tsx +5 -1
- package/src/primitives/attachment/AttachmentRoot.tsx +18 -0
- package/src/primitives/branchPicker/BranchPickerCount.tsx +17 -0
- package/src/primitives/branchPicker/BranchPickerNext.tsx +17 -0
- package/src/primitives/branchPicker/BranchPickerPrevious.tsx +38 -0
- package/src/primitives/branchPicker/BranchPickerRoot.tsx +22 -0
- package/src/primitives/composer/ComposerAttachments.tsx +11 -7
- package/src/primitives/composer/ComposerCancel.tsx +17 -0
- package/src/primitives/composer/ComposerInput.tsx +44 -0
- package/src/primitives/composer/ComposerRoot.tsx +19 -0
- package/src/primitives/composer/ComposerSend.tsx +18 -0
- package/src/primitives/index.ts +14 -6
- package/src/primitives/message/MessageAttachments.tsx +11 -7
- package/src/primitives/message/MessageParts.tsx +423 -0
- package/src/primitives/message/MessageRoot.tsx +22 -0
- package/src/primitives/message/index.ts +2 -1
- package/src/primitives/messagePart/MessagePartImage.tsx +39 -0
- package/src/primitives/messagePart/MessagePartInProgress.tsx +19 -0
- package/src/primitives/messagePart/MessagePartText.tsx +62 -0
- package/src/primitives/messagePart/index.ts +3 -0
- package/src/primitives/messagePart/useMessagePartFile.tsx +18 -0
- package/src/primitives/messagePart/useMessagePartImage.tsx +18 -0
- package/src/primitives/messagePart/useMessagePartReasoning.tsx +18 -0
- package/src/primitives/messagePart/useMessagePartSource.tsx +18 -0
- package/src/primitives/messagePart/useMessagePartText.tsx +18 -0
- package/src/primitives/thread/ThreadMessages.tsx +52 -4
- package/src/primitives/thread/ThreadRoot.tsx +19 -0
- package/src/primitives/thread/ThreadViewport.tsx +19 -0
- package/src/primitives/threadList/ThreadListItems.tsx +12 -8
- package/src/runtimes/adapters/attachment/AttachmentAdapter.ts +56 -0
- package/src/runtimes/adapters/feedback/FeedbackAdapter.ts +33 -0
- package/src/runtimes/adapters/speech/SpeechAdapterTypes.ts +47 -0
- package/src/runtimes/core/BaseThreadRuntimeCore.tsx +1 -0
- package/src/runtimes/core/ThreadListRuntimeCore.tsx +1 -0
- package/src/runtimes/core/ThreadRuntimeCore.tsx +1 -0
- package/src/runtimes/external-store/ExternalStoreAdapter.tsx +2 -0
- package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +4 -0
- package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +3 -0
- package/src/runtimes/external-store/ThreadMessageLike.tsx +20 -20
- package/src/runtimes/external-store/createMessageConverter.tsx +3 -3
- package/src/runtimes/external-store/external-message-converter.tsx +2 -2
- package/src/runtimes/local/ChatModelAdapter.tsx +13 -13
- package/src/runtimes/local/LocalRuntimeOptions.tsx +1 -1
- package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +4 -0
- package/src/runtimes/local/LocalThreadRuntimeCore.tsx +30 -15
- package/src/runtimes/remote-thread-list/EMPTY_THREAD_CORE.tsx +1 -0
- package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +4 -0
- package/src/runtimes/remote-thread-list/adapter/cloud.tsx +1 -1
- package/src/runtimes/utils/MessageRepository.tsx +1 -1
- package/src/tests/MessageRepository.test.ts +6 -6
- package/src/types/AssistantTypes.ts +24 -24
- package/src/types/AttachmentTypes.ts +3 -3
- package/src/types/MessagePartComponentTypes.tsx +52 -0
- package/src/types/index.ts +69 -28
- package/src/utils/getThreadMessageText.tsx +2 -2
- package/src/utils/smooth/SmoothContext.tsx +7 -7
- package/src/utils/smooth/useSmooth.tsx +7 -7
- package/src/utils/useToolArgsFieldStatus.tsx +3 -3
- package/dist/cloud/AssistantCloud.d.ts +0 -15
- package/dist/cloud/AssistantCloud.d.ts.map +0 -1
- package/dist/cloud/AssistantCloud.js +0 -25
- package/dist/cloud/AssistantCloud.js.map +0 -1
- package/dist/cloud/AssistantCloudAPI.d.ts +0 -28
- package/dist/cloud/AssistantCloudAPI.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudAPI.js +0 -87
- package/dist/cloud/AssistantCloudAPI.js.map +0 -1
- package/dist/cloud/AssistantCloudAuthStrategy.d.ts +0 -30
- package/dist/cloud/AssistantCloudAuthStrategy.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudAuthStrategy.js +0 -139
- package/dist/cloud/AssistantCloudAuthStrategy.js.map +0 -1
- package/dist/cloud/AssistantCloudAuthTokens.d.ts +0 -11
- package/dist/cloud/AssistantCloudAuthTokens.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudAuthTokens.js +0 -13
- package/dist/cloud/AssistantCloudAuthTokens.js.map +0 -1
- package/dist/cloud/AssistantCloudFiles.d.ts +0 -27
- package/dist/cloud/AssistantCloudFiles.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudFiles.js +0 -25
- package/dist/cloud/AssistantCloudFiles.js.map +0 -1
- package/dist/cloud/AssistantCloudRuns.d.ts +0 -26
- package/dist/cloud/AssistantCloudRuns.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudRuns.js +0 -39
- package/dist/cloud/AssistantCloudRuns.js.map +0 -1
- package/dist/cloud/AssistantCloudThreadMessages.d.ts +0 -30
- package/dist/cloud/AssistantCloudThreadMessages.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudThreadMessages.js +0 -21
- package/dist/cloud/AssistantCloudThreadMessages.js.map +0 -1
- package/dist/cloud/AssistantCloudThreads.d.ts +0 -48
- package/dist/cloud/AssistantCloudThreads.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudThreads.js +0 -30
- package/dist/cloud/AssistantCloudThreads.js.map +0 -1
- package/dist/context/providers/ContentPartRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/ContentPartRuntimeProvider.js.map +0 -1
- package/dist/context/react/ContentPartContext.d.ts +0 -41
- package/dist/context/react/ContentPartContext.js +0 -25
- package/dist/context/react/ContentPartContext.js.map +0 -1
- package/dist/primitives/contentPart/ContentPartImage.d.ts +0 -10
- package/dist/primitives/contentPart/ContentPartImage.d.ts.map +0 -1
- package/dist/primitives/contentPart/ContentPartImage.js +0 -16
- package/dist/primitives/contentPart/ContentPartImage.js.map +0 -1
- package/dist/primitives/contentPart/ContentPartInProgress.d.ts +0 -6
- package/dist/primitives/contentPart/ContentPartInProgress.js +0 -13
- package/dist/primitives/contentPart/ContentPartInProgress.js.map +0 -1
- package/dist/primitives/contentPart/ContentPartText.d.ts +0 -16
- package/dist/primitives/contentPart/ContentPartText.d.ts.map +0 -1
- package/dist/primitives/contentPart/ContentPartText.js +0 -18
- package/dist/primitives/contentPart/ContentPartText.js.map +0 -1
- package/dist/primitives/contentPart/index.d.ts +0 -4
- package/dist/primitives/contentPart/index.js +0 -10
- package/dist/primitives/contentPart/index.js.map +0 -1
- package/dist/primitives/contentPart/useContentPartFile.d.ts +0 -5
- package/dist/primitives/contentPart/useContentPartFile.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartFile.js +0 -18
- package/dist/primitives/contentPart/useContentPartFile.js.map +0 -1
- package/dist/primitives/contentPart/useContentPartImage.d.ts +0 -5
- package/dist/primitives/contentPart/useContentPartImage.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartImage.js +0 -18
- package/dist/primitives/contentPart/useContentPartImage.js.map +0 -1
- package/dist/primitives/contentPart/useContentPartReasoning.d.ts +0 -5
- package/dist/primitives/contentPart/useContentPartReasoning.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartReasoning.js +0 -18
- package/dist/primitives/contentPart/useContentPartReasoning.js.map +0 -1
- package/dist/primitives/contentPart/useContentPartSource.d.ts +0 -5
- package/dist/primitives/contentPart/useContentPartSource.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartSource.js +0 -18
- package/dist/primitives/contentPart/useContentPartSource.js.map +0 -1
- package/dist/primitives/contentPart/useContentPartText.d.ts +0 -7
- package/dist/primitives/contentPart/useContentPartText.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartText.js +0 -18
- package/dist/primitives/contentPart/useContentPartText.js.map +0 -1
- package/dist/primitives/message/MessageContent.d.ts +0 -23
- package/dist/primitives/message/MessageContent.d.ts.map +0 -1
- package/dist/primitives/message/MessageContent.js +0 -138
- package/dist/primitives/message/MessageContent.js.map +0 -1
- package/dist/types/ContentPartComponentTypes.d.ts +0 -25
- package/dist/types/ContentPartComponentTypes.js +0 -1
- package/src/cloud/AssistantCloud.tsx +0 -22
- package/src/cloud/AssistantCloudAPI.tsx +0 -121
- package/src/cloud/AssistantCloudAuthStrategy.tsx +0 -193
- package/src/cloud/AssistantCloudAuthTokens.tsx +0 -13
- package/src/cloud/AssistantCloudFiles.tsx +0 -48
- package/src/cloud/AssistantCloudRuns.tsx +0 -45
- package/src/cloud/AssistantCloudThreadMessages.tsx +0 -48
- package/src/cloud/AssistantCloudThreads.tsx +0 -79
- package/src/context/providers/ContentPartRuntimeProvider.tsx +0 -42
- package/src/context/react/ContentPartContext.ts +0 -37
- package/src/primitives/contentPart/ContentPartImage.tsx +0 -20
- package/src/primitives/contentPart/ContentPartInProgress.tsx +0 -19
- package/src/primitives/contentPart/ContentPartText.tsx +0 -37
- package/src/primitives/contentPart/index.ts +0 -3
- package/src/primitives/contentPart/useContentPartFile.tsx +0 -18
- package/src/primitives/contentPart/useContentPartImage.tsx +0 -18
- package/src/primitives/contentPart/useContentPartReasoning.tsx +0 -18
- package/src/primitives/contentPart/useContentPartSource.tsx +0 -18
- package/src/primitives/contentPart/useContentPartText.tsx +0 -18
- package/src/primitives/message/MessageContent.tsx +0 -241
- package/src/tests/AssistantCloudFiles.test.ts +0 -564
- package/src/types/ContentPartComponentTypes.tsx +0 -52
- /package/dist/types/{ContentPartComponentTypes.js.map → MessagePartComponentTypes.js.map} +0 -0
@@ -1,37 +0,0 @@
|
|
1
|
-
"use client";
|
2
|
-
|
3
|
-
import { Primitive } from "@radix-ui/react-primitive";
|
4
|
-
import {
|
5
|
-
type ComponentRef,
|
6
|
-
forwardRef,
|
7
|
-
ComponentPropsWithoutRef,
|
8
|
-
ElementType,
|
9
|
-
} from "react";
|
10
|
-
import { useContentPartText } from "./useContentPartText";
|
11
|
-
import { useSmooth } from "../../utils/smooth/useSmooth";
|
12
|
-
|
13
|
-
export namespace ContentPartPrimitiveText {
|
14
|
-
export type Element = ComponentRef<typeof Primitive.span>;
|
15
|
-
export type Props = Omit<
|
16
|
-
ComponentPropsWithoutRef<typeof Primitive.span>,
|
17
|
-
"children" | "asChild"
|
18
|
-
> & {
|
19
|
-
smooth?: boolean;
|
20
|
-
component?: ElementType;
|
21
|
-
};
|
22
|
-
}
|
23
|
-
|
24
|
-
export const ContentPartPrimitiveText = forwardRef<
|
25
|
-
ContentPartPrimitiveText.Element,
|
26
|
-
ContentPartPrimitiveText.Props
|
27
|
-
>(({ smooth = true, component: Component = "span", ...rest }, forwardedRef) => {
|
28
|
-
const { text, status } = useSmooth(useContentPartText(), smooth);
|
29
|
-
|
30
|
-
return (
|
31
|
-
<Component data-status={status.type} {...rest} ref={forwardedRef}>
|
32
|
-
{text}
|
33
|
-
</Component>
|
34
|
-
);
|
35
|
-
});
|
36
|
-
|
37
|
-
ContentPartPrimitiveText.displayName = "ContentPartPrimitive.Text";
|
@@ -1,18 +0,0 @@
|
|
1
|
-
"use client";
|
2
|
-
|
3
|
-
import { ContentPartState } from "../../api/ContentPartRuntime";
|
4
|
-
import { useContentPart } from "../../context/react/ContentPartContext";
|
5
|
-
import { FileContentPart } from "../../types";
|
6
|
-
|
7
|
-
export const useContentPartFile = () => {
|
8
|
-
const file = useContentPart((c) => {
|
9
|
-
if (c.type !== "file")
|
10
|
-
throw new Error(
|
11
|
-
"ContentPartFile can only be used inside file content parts.",
|
12
|
-
);
|
13
|
-
|
14
|
-
return c as ContentPartState & FileContentPart;
|
15
|
-
});
|
16
|
-
|
17
|
-
return file;
|
18
|
-
};
|
@@ -1,18 +0,0 @@
|
|
1
|
-
"use client";
|
2
|
-
|
3
|
-
import { ContentPartState } from "../../api/ContentPartRuntime";
|
4
|
-
import { useContentPart } from "../../context/react/ContentPartContext";
|
5
|
-
import { ImageContentPart } from "../../types";
|
6
|
-
|
7
|
-
export const useContentPartImage = () => {
|
8
|
-
const image = useContentPart((c) => {
|
9
|
-
if (c.type !== "image")
|
10
|
-
throw new Error(
|
11
|
-
"ContentPartImage can only be used inside image content parts.",
|
12
|
-
);
|
13
|
-
|
14
|
-
return c as ContentPartState & ImageContentPart;
|
15
|
-
});
|
16
|
-
|
17
|
-
return image;
|
18
|
-
};
|
@@ -1,18 +0,0 @@
|
|
1
|
-
"use client";
|
2
|
-
|
3
|
-
import { ContentPartState } from "../../api/ContentPartRuntime";
|
4
|
-
import { useContentPart } from "../../context/react/ContentPartContext";
|
5
|
-
import { ReasoningContentPart } from "../../types";
|
6
|
-
|
7
|
-
export const useContentPartReasoning = () => {
|
8
|
-
const text = useContentPart((c) => {
|
9
|
-
if (c.type !== "reasoning")
|
10
|
-
throw new Error(
|
11
|
-
"ContentPartReasoning can only be used inside reasoning content parts.",
|
12
|
-
);
|
13
|
-
|
14
|
-
return c as ContentPartState & ReasoningContentPart;
|
15
|
-
});
|
16
|
-
|
17
|
-
return text;
|
18
|
-
};
|
@@ -1,18 +0,0 @@
|
|
1
|
-
"use client";
|
2
|
-
|
3
|
-
import { ContentPartState } from "../../api/ContentPartRuntime";
|
4
|
-
import { useContentPart } from "../../context/react/ContentPartContext";
|
5
|
-
import { SourceContentPart } from "../../types";
|
6
|
-
|
7
|
-
export const useContentPartSource = () => {
|
8
|
-
const source = useContentPart((c) => {
|
9
|
-
if (c.type !== "source")
|
10
|
-
throw new Error(
|
11
|
-
"ContentPartSource can only be used inside source content parts.",
|
12
|
-
);
|
13
|
-
|
14
|
-
return c as ContentPartState & SourceContentPart;
|
15
|
-
});
|
16
|
-
|
17
|
-
return source;
|
18
|
-
};
|
@@ -1,18 +0,0 @@
|
|
1
|
-
"use client";
|
2
|
-
|
3
|
-
import { ContentPartState } from "../../api/ContentPartRuntime";
|
4
|
-
import { useContentPart } from "../../context/react/ContentPartContext";
|
5
|
-
import { TextContentPart, ReasoningContentPart } from "../../types";
|
6
|
-
|
7
|
-
export const useContentPartText = () => {
|
8
|
-
const text = useContentPart((c) => {
|
9
|
-
if (c.type !== "text" && c.type !== "reasoning")
|
10
|
-
throw new Error(
|
11
|
-
"ContentPartText can only be used inside text or reasoning content parts.",
|
12
|
-
);
|
13
|
-
|
14
|
-
return c as ContentPartState & (TextContentPart | ReasoningContentPart);
|
15
|
-
});
|
16
|
-
|
17
|
-
return text;
|
18
|
-
};
|
@@ -1,241 +0,0 @@
|
|
1
|
-
"use client";
|
2
|
-
|
3
|
-
import { type ComponentType, type FC, memo, useMemo } from "react";
|
4
|
-
import {
|
5
|
-
TextContentPartProvider,
|
6
|
-
useContentPart,
|
7
|
-
useContentPartRuntime,
|
8
|
-
useToolUIs,
|
9
|
-
} from "../../context";
|
10
|
-
import {
|
11
|
-
useMessage,
|
12
|
-
useMessageRuntime,
|
13
|
-
} from "../../context/react/MessageContext";
|
14
|
-
import { ContentPartRuntimeProvider } from "../../context/providers/ContentPartRuntimeProvider";
|
15
|
-
import { ContentPartPrimitiveText } from "../contentPart/ContentPartText";
|
16
|
-
import { ContentPartPrimitiveImage } from "../contentPart/ContentPartImage";
|
17
|
-
import type {
|
18
|
-
Unstable_AudioContentPartComponent,
|
19
|
-
EmptyContentPartComponent,
|
20
|
-
TextContentPartComponent,
|
21
|
-
ImageContentPartComponent,
|
22
|
-
SourceContentPartComponent,
|
23
|
-
ToolCallContentPartComponent,
|
24
|
-
ToolCallContentPartProps,
|
25
|
-
FileContentPartComponent,
|
26
|
-
ReasoningContentPartComponent,
|
27
|
-
} from "../../types/ContentPartComponentTypes";
|
28
|
-
import { ContentPartPrimitiveInProgress } from "../contentPart/ContentPartInProgress";
|
29
|
-
import { ContentPartStatus } from "../../types/AssistantTypes";
|
30
|
-
|
31
|
-
export namespace MessagePrimitiveContent {
|
32
|
-
export type Props = {
|
33
|
-
components?:
|
34
|
-
| {
|
35
|
-
Empty?: EmptyContentPartComponent | undefined;
|
36
|
-
Text?: TextContentPartComponent | undefined;
|
37
|
-
Reasoning?: ReasoningContentPartComponent | undefined;
|
38
|
-
Source?: SourceContentPartComponent | undefined;
|
39
|
-
Image?: ImageContentPartComponent | undefined;
|
40
|
-
File?: FileContentPartComponent | undefined;
|
41
|
-
Unstable_Audio?: Unstable_AudioContentPartComponent | undefined;
|
42
|
-
tools?:
|
43
|
-
| {
|
44
|
-
by_name?:
|
45
|
-
| Record<string, ToolCallContentPartComponent | undefined>
|
46
|
-
| undefined;
|
47
|
-
Fallback?: ComponentType<ToolCallContentPartProps> | undefined;
|
48
|
-
}
|
49
|
-
| {
|
50
|
-
Override: ComponentType<ToolCallContentPartProps>;
|
51
|
-
}
|
52
|
-
| undefined;
|
53
|
-
}
|
54
|
-
| undefined;
|
55
|
-
};
|
56
|
-
}
|
57
|
-
|
58
|
-
const ToolUIDisplay = ({
|
59
|
-
Fallback,
|
60
|
-
...props
|
61
|
-
}: {
|
62
|
-
Fallback: ToolCallContentPartComponent | undefined;
|
63
|
-
} & ToolCallContentPartProps) => {
|
64
|
-
const Render = useToolUIs((s) => s.getToolUI(props.toolName)) ?? Fallback;
|
65
|
-
if (!Render) return null;
|
66
|
-
return <Render {...props} />;
|
67
|
-
};
|
68
|
-
|
69
|
-
const defaultComponents = {
|
70
|
-
Text: () => (
|
71
|
-
<p style={{ whiteSpace: "pre-line" }}>
|
72
|
-
<ContentPartPrimitiveText />
|
73
|
-
<ContentPartPrimitiveInProgress>
|
74
|
-
<span style={{ fontFamily: "revert" }}>{" \u25CF"}</span>
|
75
|
-
</ContentPartPrimitiveInProgress>
|
76
|
-
</p>
|
77
|
-
),
|
78
|
-
Reasoning: () => null,
|
79
|
-
Source: () => null,
|
80
|
-
Image: () => <ContentPartPrimitiveImage />,
|
81
|
-
File: () => null,
|
82
|
-
Unstable_Audio: () => null,
|
83
|
-
} satisfies MessagePrimitiveContent.Props["components"];
|
84
|
-
|
85
|
-
type MessageContentPartComponentProps = {
|
86
|
-
components: MessagePrimitiveContent.Props["components"];
|
87
|
-
};
|
88
|
-
|
89
|
-
const MessageContentPartComponent: FC<MessageContentPartComponentProps> = ({
|
90
|
-
components: {
|
91
|
-
Text = defaultComponents.Text,
|
92
|
-
Reasoning = defaultComponents.Reasoning,
|
93
|
-
Image = defaultComponents.Image,
|
94
|
-
Source = defaultComponents.Source,
|
95
|
-
File = defaultComponents.File,
|
96
|
-
Unstable_Audio: Audio = defaultComponents.Unstable_Audio,
|
97
|
-
tools = {},
|
98
|
-
} = {},
|
99
|
-
}) => {
|
100
|
-
const contentPartRuntime = useContentPartRuntime();
|
101
|
-
|
102
|
-
const part = useContentPart();
|
103
|
-
|
104
|
-
const type = part.type;
|
105
|
-
if (type === "tool-call") {
|
106
|
-
const addResult = (result: any) => contentPartRuntime.addToolResult(result);
|
107
|
-
if ("Override" in tools)
|
108
|
-
return <tools.Override {...part} addResult={addResult} />;
|
109
|
-
const Tool = tools.by_name?.[part.toolName] ?? tools.Fallback;
|
110
|
-
return <ToolUIDisplay {...part} Fallback={Tool} addResult={addResult} />;
|
111
|
-
}
|
112
|
-
|
113
|
-
if (part.status.type === "requires-action")
|
114
|
-
throw new Error("Encountered unexpected requires-action status");
|
115
|
-
|
116
|
-
switch (type) {
|
117
|
-
case "text":
|
118
|
-
return <Text {...part} />;
|
119
|
-
|
120
|
-
case "reasoning":
|
121
|
-
return <Reasoning {...part} />;
|
122
|
-
|
123
|
-
case "source":
|
124
|
-
return <Source {...part} />;
|
125
|
-
|
126
|
-
case "image":
|
127
|
-
// eslint-disable-next-line jsx-a11y/alt-text
|
128
|
-
return <Image {...part} />;
|
129
|
-
|
130
|
-
case "file":
|
131
|
-
return <File {...part} />;
|
132
|
-
|
133
|
-
case "audio":
|
134
|
-
return <Audio {...part} />;
|
135
|
-
|
136
|
-
default:
|
137
|
-
const unhandledType: never = type;
|
138
|
-
throw new Error(`Unknown content part type: ${unhandledType}`);
|
139
|
-
}
|
140
|
-
};
|
141
|
-
|
142
|
-
type MessageContentPartProps = {
|
143
|
-
partIndex: number;
|
144
|
-
components: MessagePrimitiveContent.Props["components"];
|
145
|
-
};
|
146
|
-
|
147
|
-
const MessageContentPartImpl: FC<MessageContentPartProps> = ({
|
148
|
-
partIndex,
|
149
|
-
components,
|
150
|
-
}) => {
|
151
|
-
const messageRuntime = useMessageRuntime();
|
152
|
-
const runtime = useMemo(
|
153
|
-
() => messageRuntime.getContentPartByIndex(partIndex),
|
154
|
-
[messageRuntime, partIndex],
|
155
|
-
);
|
156
|
-
|
157
|
-
return (
|
158
|
-
<ContentPartRuntimeProvider runtime={runtime}>
|
159
|
-
<MessageContentPartComponent components={components} />
|
160
|
-
</ContentPartRuntimeProvider>
|
161
|
-
);
|
162
|
-
};
|
163
|
-
|
164
|
-
const MessageContentPart = memo(
|
165
|
-
MessageContentPartImpl,
|
166
|
-
(prev, next) =>
|
167
|
-
prev.partIndex === next.partIndex &&
|
168
|
-
prev.components?.Text === next.components?.Text &&
|
169
|
-
prev.components?.Reasoning === next.components?.Reasoning &&
|
170
|
-
prev.components?.Source === next.components?.Source &&
|
171
|
-
prev.components?.Image === next.components?.Image &&
|
172
|
-
prev.components?.File === next.components?.File &&
|
173
|
-
prev.components?.Unstable_Audio === next.components?.Unstable_Audio &&
|
174
|
-
prev.components?.tools === next.components?.tools,
|
175
|
-
);
|
176
|
-
|
177
|
-
const COMPLETE_STATUS: ContentPartStatus = Object.freeze({
|
178
|
-
type: "complete",
|
179
|
-
});
|
180
|
-
|
181
|
-
const EmptyContentFallback: FC<{
|
182
|
-
status: ContentPartStatus;
|
183
|
-
component: TextContentPartComponent;
|
184
|
-
}> = ({ status, component: Component }) => {
|
185
|
-
return (
|
186
|
-
<TextContentPartProvider text="" isRunning={status.type === "running"}>
|
187
|
-
<Component type="text" text="" status={status} />
|
188
|
-
</TextContentPartProvider>
|
189
|
-
);
|
190
|
-
};
|
191
|
-
|
192
|
-
const EmptyContentImpl: FC<MessageContentPartComponentProps> = ({
|
193
|
-
components,
|
194
|
-
}) => {
|
195
|
-
const status =
|
196
|
-
useMessage((s) => s.status as ContentPartStatus) ?? COMPLETE_STATUS;
|
197
|
-
|
198
|
-
if (components?.Empty) return <components.Empty status={status} />;
|
199
|
-
|
200
|
-
return (
|
201
|
-
<EmptyContentFallback
|
202
|
-
status={status}
|
203
|
-
component={components?.Text ?? defaultComponents.Text}
|
204
|
-
/>
|
205
|
-
);
|
206
|
-
};
|
207
|
-
|
208
|
-
const EmptyContent = memo(
|
209
|
-
EmptyContentImpl,
|
210
|
-
(prev, next) =>
|
211
|
-
prev.components?.Empty === next.components?.Empty &&
|
212
|
-
prev.components?.Text === next.components?.Text,
|
213
|
-
);
|
214
|
-
|
215
|
-
export const MessagePrimitiveContent: FC<MessagePrimitiveContent.Props> = ({
|
216
|
-
components,
|
217
|
-
}) => {
|
218
|
-
const contentLength = useMessage((s) => s.content.length);
|
219
|
-
|
220
|
-
if (contentLength === 0) {
|
221
|
-
return (
|
222
|
-
<>
|
223
|
-
<EmptyContent components={components} />
|
224
|
-
</>
|
225
|
-
);
|
226
|
-
}
|
227
|
-
|
228
|
-
return (
|
229
|
-
<>
|
230
|
-
{Array.from({ length: contentLength }, (_, index) => (
|
231
|
-
<MessageContentPart
|
232
|
-
key={index}
|
233
|
-
partIndex={index}
|
234
|
-
components={components}
|
235
|
-
/>
|
236
|
-
))}
|
237
|
-
</>
|
238
|
-
);
|
239
|
-
};
|
240
|
-
|
241
|
-
MessagePrimitiveContent.displayName = "MessagePrimitive.Content";
|