@assistant-ui/react 0.10.50 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/AttachmentRuntime.d.ts.map +1 -1
- package/dist/api/AttachmentRuntime.js +1 -0
- package/dist/api/AttachmentRuntime.js.map +1 -1
- package/dist/api/ComposerRuntime.d.ts +5 -2
- package/dist/api/ComposerRuntime.d.ts.map +1 -1
- package/dist/api/ComposerRuntime.js +4 -6
- package/dist/api/ComposerRuntime.js.map +1 -1
- package/dist/api/MessagePartRuntime.d.ts.map +1 -1
- package/dist/api/MessagePartRuntime.js +1 -0
- package/dist/api/MessagePartRuntime.js.map +1 -1
- package/dist/api/MessageRuntime.d.ts.map +1 -1
- package/dist/api/MessageRuntime.js +1 -0
- package/dist/api/MessageRuntime.js.map +1 -1
- package/dist/api/ThreadListItemRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListItemRuntime.js +5 -0
- package/dist/api/ThreadListItemRuntime.js.map +1 -1
- package/dist/api/ThreadListRuntime.d.ts +2 -3
- package/dist/api/ThreadListRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListRuntime.js +6 -7
- package/dist/api/ThreadListRuntime.js.map +1 -1
- package/dist/api/ThreadRuntime.d.ts +6 -6
- package/dist/api/ThreadRuntime.d.ts.map +1 -1
- package/dist/api/ThreadRuntime.js +5 -4
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/client/AssistantRuntimeClient.d.ts +86 -0
- package/dist/client/AssistantRuntimeClient.d.ts.map +1 -0
- package/dist/client/AssistantRuntimeClient.js +138 -0
- package/dist/client/AssistantRuntimeClient.js.map +1 -0
- package/dist/client/AttachmentClient.d.ts +6 -0
- package/dist/client/AttachmentClient.d.ts.map +1 -0
- package/dist/client/AttachmentClient.js +1 -0
- package/dist/client/AttachmentClient.js.map +1 -0
- package/dist/client/ComposerClient.d.ts +42 -0
- package/dist/client/ComposerClient.d.ts.map +1 -0
- package/dist/client/ComposerClient.js +76 -0
- package/dist/client/ComposerClient.js.map +1 -0
- package/dist/client/EventManagerClient.d.ts +9 -0
- package/dist/client/EventManagerClient.d.ts.map +1 -0
- package/dist/client/EventManagerClient.js +40 -0
- package/dist/client/EventManagerClient.js.map +1 -0
- package/dist/client/MessageClient.d.ts +67 -0
- package/dist/client/MessageClient.d.ts.map +1 -0
- package/dist/client/MessageClient.js +108 -0
- package/dist/client/MessageClient.js.map +1 -0
- package/dist/client/MessagePartClient.d.ts +21 -0
- package/dist/client/MessagePartClient.d.ts.map +1 -0
- package/dist/client/MessagePartClient.js +25 -0
- package/dist/client/MessagePartClient.js.map +1 -0
- package/dist/client/ThreadClient.d.ts +111 -0
- package/dist/client/ThreadClient.d.ts.map +1 -0
- package/dist/client/ThreadClient.js +126 -0
- package/dist/client/ThreadClient.js.map +1 -0
- package/dist/client/ThreadListClient.d.ts +33 -0
- package/dist/client/ThreadListClient.d.ts.map +1 -0
- package/dist/client/ThreadListClient.js +87 -0
- package/dist/client/ThreadListClient.js.map +1 -0
- package/dist/client/ThreadListItemClient.d.ts +32 -0
- package/dist/client/ThreadListItemClient.d.ts.map +1 -0
- package/dist/client/ThreadListItemClient.js +53 -0
- package/dist/client/ThreadListItemClient.js.map +1 -0
- package/dist/client/util-hooks/tapLookupResources.d.ts +16 -0
- package/dist/client/util-hooks/tapLookupResources.d.ts.map +1 -0
- package/dist/client/util-hooks/tapLookupResources.js +21 -0
- package/dist/client/util-hooks/tapLookupResources.js.map +1 -0
- package/dist/client/util-hooks/tapSubscribable.d.ts +3 -0
- package/dist/client/util-hooks/tapSubscribable.d.ts.map +1 -0
- package/dist/client/util-hooks/tapSubscribable.js +16 -0
- package/dist/client/util-hooks/tapSubscribable.js.map +1 -0
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js +21 -12
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.d.ts +3 -3
- package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.js +14 -42
- package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
- package/dist/context/providers/AttachmentProvider.d.ts +8 -0
- package/dist/context/providers/AttachmentProvider.d.ts.map +1 -0
- package/dist/context/providers/AttachmentProvider.js +41 -0
- package/dist/context/providers/AttachmentProvider.js.map +1 -0
- package/dist/context/providers/MessageProvider.d.ts +5 -0
- package/dist/context/providers/MessageProvider.d.ts.map +1 -0
- package/dist/context/providers/MessageProvider.js +47 -0
- package/dist/context/providers/MessageProvider.js.map +1 -0
- package/dist/context/providers/PartProvider.d.ts +5 -0
- package/dist/context/providers/PartProvider.d.ts.map +1 -0
- package/dist/context/providers/PartProvider.js +27 -0
- package/dist/context/providers/PartProvider.js.map +1 -0
- package/dist/context/providers/TextMessagePartProvider.d.ts +5 -8
- package/dist/context/providers/TextMessagePartProvider.d.ts.map +1 -1
- package/dist/context/providers/TextMessagePartProvider.js +42 -53
- package/dist/context/providers/TextMessagePartProvider.js.map +1 -1
- package/dist/context/providers/ThreadListItemProvider.d.ts +9 -0
- package/dist/context/providers/ThreadListItemProvider.d.ts.map +1 -0
- package/dist/context/providers/ThreadListItemProvider.js +65 -0
- package/dist/context/providers/ThreadListItemProvider.js.map +1 -0
- package/dist/context/providers/index.d.ts +4 -1
- package/dist/context/providers/index.d.ts.map +1 -1
- package/dist/context/providers/index.js +17 -3
- package/dist/context/providers/index.js.map +1 -1
- package/dist/context/react/AssistantApiContext.d.ts +112 -0
- package/dist/context/react/AssistantApiContext.d.ts.map +1 -0
- package/dist/context/react/AssistantApiContext.js +197 -0
- package/dist/context/react/AssistantApiContext.js.map +1 -0
- package/dist/context/react/index.d.ts +9 -12
- package/dist/context/react/index.d.ts.map +1 -1
- package/dist/context/react/index.js +38 -33
- package/dist/context/react/index.js.map +1 -1
- package/dist/context/react/legacy/AssistantContext.d.ts +58 -0
- package/dist/context/react/legacy/AssistantContext.d.ts.map +1 -0
- package/dist/context/react/legacy/AssistantContext.js +20 -0
- package/dist/context/react/legacy/AssistantContext.js.map +1 -0
- package/dist/context/react/{AttachmentContext.d.ts → legacy/AttachmentContext.d.ts} +133 -139
- package/dist/context/react/legacy/AttachmentContext.d.ts.map +1 -0
- package/dist/context/react/{AttachmentContext.js → legacy/AttachmentContext.js} +9 -15
- package/dist/context/react/legacy/AttachmentContext.js.map +1 -0
- package/dist/context/react/{ComposerContext.d.ts → legacy/ComposerContext.d.ts} +12 -12
- package/dist/context/react/legacy/ComposerContext.d.ts.map +1 -0
- package/dist/context/react/legacy/ComposerContext.js +19 -0
- package/dist/context/react/legacy/ComposerContext.js.map +1 -0
- package/dist/context/react/{MessageContext.d.ts → legacy/MessageContext.d.ts} +23 -47
- package/dist/context/react/legacy/MessageContext.d.ts.map +1 -0
- package/dist/context/react/legacy/MessageContext.js +24 -0
- package/dist/context/react/legacy/MessageContext.js.map +1 -0
- package/dist/context/react/legacy/MessagePartContext.d.ts +35 -0
- package/dist/context/react/legacy/MessagePartContext.d.ts.map +1 -0
- package/dist/context/react/legacy/MessagePartContext.js +19 -0
- package/dist/context/react/legacy/MessagePartContext.js.map +1 -0
- package/dist/context/react/{ThreadContext.d.ts → legacy/ThreadContext.d.ts} +24 -30
- package/dist/context/react/legacy/ThreadContext.d.ts.map +1 -0
- package/dist/context/react/legacy/ThreadContext.js +33 -0
- package/dist/context/react/legacy/ThreadContext.js.map +1 -0
- package/dist/context/react/legacy/ThreadListItemContext.d.ts +35 -0
- package/dist/context/react/legacy/ThreadListItemContext.d.ts.map +1 -0
- package/dist/context/react/legacy/ThreadListItemContext.js +21 -0
- package/dist/context/react/legacy/ThreadListItemContext.js.map +1 -0
- package/dist/context/stores/index.d.ts +0 -2
- package/dist/context/stores/index.d.ts.map +1 -1
- package/dist/hooks/useAssistantEvent.d.ts +3 -0
- package/dist/hooks/useAssistantEvent.d.ts.map +1 -0
- package/dist/hooks/useAssistantEvent.js +22 -0
- package/dist/hooks/useAssistantEvent.js.map +1 -0
- package/dist/model-context/makeAssistantVisible.js +4 -4
- package/dist/model-context/makeAssistantVisible.js.map +1 -1
- package/dist/model-context/useAssistantInstructions.js +4 -4
- package/dist/model-context/useAssistantInstructions.js.map +1 -1
- package/dist/model-context/useAssistantTool.d.ts.map +1 -1
- package/dist/model-context/useAssistantTool.js +7 -10
- package/dist/model-context/useAssistantTool.js.map +1 -1
- package/dist/model-context/useAssistantToolUI.js +5 -5
- package/dist/model-context/useAssistantToolUI.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js +12 -17
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.js +5 -5
- package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +6 -7
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +6 -6
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.js +6 -10
- package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.js +6 -6
- package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js +5 -8
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.js +10 -21
- package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.js +4 -4
- package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
- package/dist/primitives/attachment/AttachmentName.js +2 -2
- package/dist/primitives/attachment/AttachmentName.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.js +4 -4
- package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.js +5 -2
- package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.js +2 -2
- package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.js +7 -8
- package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.js +2 -2
- package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.js +7 -8
- package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.js +6 -6
- package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachmentDropzone.js +4 -4
- package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.js +11 -13
- package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.js +5 -5
- package/dist/primitives/composer/ComposerCancel.js.map +1 -1
- package/dist/primitives/composer/ComposerIf.js +2 -2
- package/dist/primitives/composer/ComposerIf.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +22 -32
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerSend.js +6 -10
- package/dist/primitives/composer/ComposerSend.js.map +1 -1
- package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
- package/dist/primitives/error/ErrorMessage.js +3 -3
- package/dist/primitives/error/ErrorMessage.js.map +1 -1
- package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
- package/dist/primitives/message/MessageAttachments.js +9 -11
- package/dist/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/primitives/message/MessageError.d.ts.map +1 -1
- package/dist/primitives/message/MessageError.js +3 -3
- package/dist/primitives/message/MessageError.js.map +1 -1
- package/dist/primitives/message/MessageIf.d.ts.map +1 -1
- package/dist/primitives/message/MessageIf.js +28 -34
- package/dist/primitives/message/MessageIf.js.map +1 -1
- package/dist/primitives/message/MessageParts.d.ts.map +1 -1
- package/dist/primitives/message/MessageParts.js +25 -27
- package/dist/primitives/message/MessageParts.js.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.js +24 -26
- package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.js +8 -7
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.js +4 -2
- package/dist/primitives/messagePart/MessagePartInProgress.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartFile.js +4 -4
- package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartImage.js +4 -4
- package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartReasoning.js +4 -4
- package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartSource.js +4 -4
- package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartText.js +4 -4
- package/dist/primitives/messagePart/useMessagePartText.js.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.js +2 -2
- package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
- package/dist/primitives/thread/ThreadIf.js +2 -2
- package/dist/primitives/thread/ThreadIf.js.map +1 -1
- package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js +9 -12
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.js +8 -8
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.js +3 -6
- package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.js +7 -10
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.d.ts +1 -3
- package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.js +7 -11
- package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.js +4 -4
- package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.js +6 -5
- package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +4 -2
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTitle.js +2 -2
- package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js +6 -5
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +6 -5
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
- package/dist/runtimes/adapters/attachment/index.js.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js +3 -3
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js +5 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ComposerRuntimeCore.d.ts +2 -2
- package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +5 -5
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +5 -2
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +6 -4
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +42 -7
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
- 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/createMessageConverter.d.ts +2 -2
- package/dist/runtimes/external-store/createMessageConverter.d.ts.map +1 -1
- package/dist/runtimes/external-store/createMessageConverter.js +9 -6
- package/dist/runtimes/external-store/createMessageConverter.js.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +10 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +15 -2
- package/dist/runtimes/local/LocalThreadListRuntimeCore.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 +3 -5
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +13 -19
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +11 -7
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +41 -35
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/tests/setup.js +8 -8
- package/dist/tests/setup.js.map +1 -1
- package/dist/types/EventTypes.d.ts +49 -0
- package/dist/types/EventTypes.d.ts.map +1 -0
- package/dist/types/EventTypes.js +22 -0
- package/dist/types/EventTypes.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.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.map +1 -1
- package/dist/utils/smooth/useSmooth.js +2 -5
- package/dist/utils/smooth/useSmooth.js.map +1 -1
- package/dist/utils/tap-store/index.d.ts +3 -0
- package/dist/utils/tap-store/index.d.ts.map +1 -0
- package/dist/utils/tap-store/index.js +8 -0
- package/dist/utils/tap-store/index.js.map +1 -0
- package/dist/utils/tap-store/store.d.ts +21 -0
- package/dist/utils/tap-store/store.d.ts.map +1 -0
- package/dist/utils/tap-store/store.js +29 -0
- package/dist/utils/tap-store/store.js.map +1 -0
- package/dist/utils/tap-store/tap-store-api.d.ts +8 -0
- package/dist/utils/tap-store/tap-store-api.d.ts.map +1 -0
- package/dist/utils/tap-store/tap-store-api.js +57 -0
- package/dist/utils/tap-store/tap-store-api.js.map +1 -0
- package/dist/utils/useToolArgsFieldStatus.js +6 -6
- package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
- package/package.json +2 -1
- package/src/api/AttachmentRuntime.ts +3 -1
- package/src/api/ComposerRuntime.ts +16 -9
- package/src/api/MessagePartRuntime.ts +3 -1
- package/src/api/MessageRuntime.ts +2 -0
- package/src/api/ThreadListItemRuntime.ts +11 -1
- package/src/api/ThreadListRuntime.ts +9 -9
- package/src/api/ThreadRuntime.ts +9 -7
- package/src/client/AssistantRuntimeClient.ts +197 -0
- package/src/client/AttachmentClient.ts +11 -0
- package/src/client/ComposerClient.ts +133 -0
- package/src/client/EventManagerClient.ts +63 -0
- package/src/client/MessageClient.ts +196 -0
- package/src/client/MessagePartClient.ts +53 -0
- package/src/client/ThreadClient.ts +280 -0
- package/src/client/ThreadListClient.ts +135 -0
- package/src/client/ThreadListItemClient.ts +88 -0
- package/src/client/util-hooks/tapLookupResources.ts +31 -0
- package/src/client/util-hooks/tapSubscribable.ts +16 -0
- package/src/cloud/AssistantCloudThreadHistoryAdapter.tsx +24 -13
- package/src/context/providers/AssistantRuntimeProvider.tsx +27 -51
- package/src/context/providers/AttachmentProvider.tsx +48 -0
- package/src/context/providers/MessageProvider.tsx +57 -0
- package/src/context/providers/PartProvider.tsx +28 -0
- package/src/context/providers/TextMessagePartProvider.tsx +53 -78
- package/src/context/providers/ThreadListItemProvider.tsx +84 -0
- package/src/context/providers/index.ts +10 -3
- package/src/context/react/AssistantApiContext.tsx +392 -0
- package/src/context/react/index.ts +30 -37
- package/src/context/react/{AssistantContext.ts → legacy/AssistantContext.ts} +12 -31
- package/src/context/react/{AttachmentContext.ts → legacy/AttachmentContext.ts} +11 -22
- package/src/context/react/{ComposerContext.ts → legacy/ComposerContext.ts} +11 -9
- package/src/context/react/{MessageContext.ts → legacy/MessageContext.ts} +12 -29
- package/src/context/react/legacy/MessagePartContext.ts +24 -0
- package/src/context/react/{ThreadContext.ts → legacy/ThreadContext.ts} +15 -25
- package/src/context/react/legacy/ThreadListItemContext.ts +28 -0
- package/src/context/stores/index.ts +0 -2
- package/src/hooks/useAssistantEvent.ts +24 -0
- package/src/model-context/makeAssistantVisible.tsx +4 -4
- package/src/model-context/useAssistantInstructions.tsx +4 -4
- package/src/model-context/useAssistantTool.tsx +7 -12
- package/src/model-context/useAssistantToolUI.tsx +5 -5
- package/src/primitives/actionBar/ActionBarCopy.tsx +14 -20
- package/src/primitives/actionBar/ActionBarEdit.tsx +5 -5
- package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +6 -7
- package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +6 -6
- package/src/primitives/actionBar/ActionBarReload.tsx +9 -10
- package/src/primitives/actionBar/ActionBarSpeak.tsx +7 -7
- package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +5 -8
- package/src/primitives/actionBar/useActionBarFloatStatus.tsx +22 -34
- package/src/primitives/assistantModal/AssistantModalRoot.tsx +4 -4
- package/src/primitives/attachment/AttachmentName.tsx +2 -2
- package/src/primitives/attachment/AttachmentRemove.tsx +4 -4
- package/src/primitives/attachment/AttachmentThumb.tsx +5 -2
- package/src/primitives/branchPicker/BranchPickerCount.tsx +2 -2
- package/src/primitives/branchPicker/BranchPickerNext.tsx +7 -8
- package/src/primitives/branchPicker/BranchPickerNumber.tsx +2 -2
- package/src/primitives/branchPicker/BranchPickerPrevious.tsx +7 -8
- package/src/primitives/composer/ComposerAddAttachment.tsx +6 -6
- package/src/primitives/composer/ComposerAttachmentDropzone.tsx +4 -4
- package/src/primitives/composer/ComposerAttachments.tsx +12 -15
- package/src/primitives/composer/ComposerCancel.tsx +5 -5
- package/src/primitives/composer/ComposerIf.tsx +2 -2
- package/src/primitives/composer/ComposerInput.tsx +32 -32
- package/src/primitives/composer/ComposerSend.tsx +6 -10
- package/src/primitives/error/ErrorMessage.tsx +5 -4
- package/src/primitives/message/MessageAttachments.tsx +10 -13
- package/src/primitives/message/MessageError.tsx +5 -3
- package/src/primitives/message/MessageIf.tsx +43 -52
- package/src/primitives/message/MessageParts.tsx +26 -31
- package/src/primitives/message/MessagePartsGrouped.tsx +25 -30
- package/src/primitives/message/MessageRoot.tsx +10 -8
- package/src/primitives/messagePart/MessagePartInProgress.tsx +4 -2
- package/src/primitives/messagePart/useMessagePartFile.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartImage.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartReasoning.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartSource.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartText.tsx +4 -4
- package/src/primitives/thread/ThreadEmpty.tsx +2 -2
- package/src/primitives/thread/ThreadIf.tsx +2 -2
- package/src/primitives/thread/ThreadMessages.tsx +10 -14
- package/src/primitives/thread/ThreadSuggestion.tsx +8 -8
- package/src/primitives/thread/useThreadViewportAutoScroll.tsx +3 -6
- package/src/primitives/threadList/ThreadListItems.tsx +8 -15
- package/src/primitives/threadList/ThreadListNew.tsx +9 -13
- package/src/primitives/threadListItem/ThreadListItemArchive.ts +4 -4
- package/src/primitives/threadListItem/ThreadListItemDelete.ts +6 -5
- package/src/primitives/threadListItem/ThreadListItemRoot.tsx +4 -2
- package/src/primitives/threadListItem/ThreadListItemTitle.tsx +2 -2
- package/src/primitives/threadListItem/ThreadListItemTrigger.ts +6 -5
- package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +6 -5
- package/src/runtimes/adapters/attachment/index.ts +1 -1
- package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +3 -3
- package/src/runtimes/core/BaseThreadRuntimeCore.tsx +5 -1
- package/src/runtimes/core/ComposerRuntimeCore.tsx +2 -2
- package/src/runtimes/core/ThreadListRuntimeCore.tsx +6 -4
- package/src/runtimes/external-store/ExternalStoreAdapter.tsx +5 -2
- package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +53 -12
- package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +4 -0
- package/src/runtimes/external-store/createMessageConverter.tsx +10 -6
- package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +16 -2
- package/src/runtimes/remote-thread-list/EMPTY_THREAD_CORE.tsx +3 -6
- package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +14 -19
- package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +50 -43
- package/src/types/EventTypes.ts +92 -0
- package/src/types/index.ts +6 -0
- package/src/utils/smooth/SmoothContext.tsx +3 -3
- package/src/utils/smooth/useSmooth.tsx +2 -5
- package/src/utils/tap-store/index.ts +2 -0
- package/src/utils/tap-store/store.ts +51 -0
- package/src/utils/tap-store/tap-store-api.ts +75 -0
- package/src/utils/useToolArgsFieldStatus.tsx +6 -6
- package/dist/context/providers/AttachmentRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/AttachmentRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/AttachmentRuntimeProvider.js +0 -33
- package/dist/context/providers/AttachmentRuntimeProvider.js.map +0 -1
- package/dist/context/providers/MessagePartRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/MessagePartRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/MessagePartRuntimeProvider.js +0 -28
- package/dist/context/providers/MessagePartRuntimeProvider.js.map +0 -1
- package/dist/context/providers/MessageRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/MessageRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/MessageRuntimeProvider.js +0 -37
- package/dist/context/providers/MessageRuntimeProvider.js.map +0 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.js +0 -30
- package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +0 -1
- package/dist/context/providers/ThreadRuntimeProvider.d.ts +0 -10
- package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/ThreadRuntimeProvider.js +0 -33
- package/dist/context/providers/ThreadRuntimeProvider.js.map +0 -1
- package/dist/context/react/AssistantContext.d.ts +0 -85
- package/dist/context/react/AssistantContext.d.ts.map +0 -1
- package/dist/context/react/AssistantContext.js +0 -34
- package/dist/context/react/AssistantContext.js.map +0 -1
- package/dist/context/react/AttachmentContext.d.ts.map +0 -1
- package/dist/context/react/AttachmentContext.js.map +0 -1
- package/dist/context/react/ComposerContext.d.ts.map +0 -1
- package/dist/context/react/ComposerContext.js +0 -17
- package/dist/context/react/ComposerContext.js.map +0 -1
- package/dist/context/react/MessageContext.d.ts.map +0 -1
- package/dist/context/react/MessageContext.js +0 -35
- package/dist/context/react/MessageContext.js.map +0 -1
- package/dist/context/react/MessagePartContext.d.ts +0 -41
- package/dist/context/react/MessagePartContext.d.ts.map +0 -1
- package/dist/context/react/MessagePartContext.js +0 -25
- package/dist/context/react/MessagePartContext.js.map +0 -1
- package/dist/context/react/ThreadContext.d.ts.map +0 -1
- package/dist/context/react/ThreadContext.js +0 -38
- package/dist/context/react/ThreadContext.js.map +0 -1
- package/dist/context/react/ThreadListItemContext.d.ts +0 -41
- package/dist/context/react/ThreadListItemContext.d.ts.map +0 -1
- package/dist/context/react/ThreadListItemContext.js +0 -25
- package/dist/context/react/ThreadListItemContext.js.map +0 -1
- package/dist/context/stores/AssistantToolUIs.d.ts +0 -14
- package/dist/context/stores/AssistantToolUIs.d.ts.map +0 -1
- package/dist/context/stores/AssistantToolUIs.js +0 -35
- package/dist/context/stores/AssistantToolUIs.js.map +0 -1
- package/dist/context/stores/MessageUtils.d.ts +0 -8
- package/dist/context/stores/MessageUtils.d.ts.map +0 -1
- package/dist/context/stores/MessageUtils.js +0 -18
- package/dist/context/stores/MessageUtils.js.map +0 -1
- package/dist/utils/combined/createCombinedStore.d.ts +0 -8
- package/dist/utils/combined/createCombinedStore.d.ts.map +0 -1
- package/dist/utils/combined/createCombinedStore.js +0 -22
- package/dist/utils/combined/createCombinedStore.js.map +0 -1
- package/dist/utils/combined/useCombinedStore.d.ts +0 -3
- package/dist/utils/combined/useCombinedStore.d.ts.map +0 -1
- package/dist/utils/combined/useCombinedStore.js +0 -15
- package/dist/utils/combined/useCombinedStore.js.map +0 -1
- package/src/context/providers/AttachmentRuntimeProvider.tsx +0 -44
- package/src/context/providers/MessagePartRuntimeProvider.tsx +0 -42
- package/src/context/providers/MessageRuntimeProvider.tsx +0 -50
- package/src/context/providers/ThreadListItemRuntimeProvider.tsx +0 -43
- package/src/context/providers/ThreadRuntimeProvider.tsx +0 -53
- package/src/context/react/MessagePartContext.ts +0 -37
- package/src/context/react/ThreadListItemContext.ts +0 -38
- package/src/context/stores/AssistantToolUIs.ts +0 -51
- package/src/context/stores/MessageUtils.ts +0 -23
- package/src/utils/combined/createCombinedStore.ts +0 -31
- package/src/utils/combined/useCombinedStore.ts +0 -17
@@ -1,11 +1,13 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { FC, PropsWithChildren } from "react";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
|
6
6
|
export const MessagePrimitiveError: FC<PropsWithChildren> = ({ children }) => {
|
7
|
-
const hasError =
|
8
|
-
(
|
7
|
+
const hasError = useAssistantState(
|
8
|
+
({ message }) =>
|
9
|
+
message.status?.type === "incomplete" &&
|
10
|
+
message.status.reason === "error",
|
9
11
|
);
|
10
12
|
return hasError ? <>{children}</> : null;
|
11
13
|
};
|
@@ -1,12 +1,8 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import type { FC, PropsWithChildren } from "react";
|
4
|
-
import {
|
5
|
-
useMessageRuntime,
|
6
|
-
useMessageUtilsStore,
|
7
|
-
} from "../../context/react/MessageContext";
|
4
|
+
import { useAssistantState } from "../../context";
|
8
5
|
import type { RequireAtLeastOne } from "../../utils/RequireAtLeastOne";
|
9
|
-
import { useCombinedStore } from "../../utils/combined/useCombinedStore";
|
10
6
|
|
11
7
|
type MessageIfFilters = {
|
12
8
|
user: boolean | undefined;
|
@@ -24,62 +20,57 @@ type MessageIfFilters = {
|
|
24
20
|
type UseMessageIfProps = RequireAtLeastOne<MessageIfFilters>;
|
25
21
|
|
26
22
|
const useMessageIf = (props: UseMessageIfProps) => {
|
27
|
-
|
28
|
-
|
23
|
+
return useAssistantState(({ message }) => {
|
24
|
+
const {
|
25
|
+
role,
|
26
|
+
attachments,
|
27
|
+
parts,
|
28
|
+
branchCount,
|
29
|
+
isLast,
|
30
|
+
speech,
|
31
|
+
submittedFeedback,
|
32
|
+
isCopied,
|
33
|
+
isHovering,
|
34
|
+
} = message;
|
29
35
|
|
30
|
-
|
31
|
-
[messageRuntime, messageUtilsStore],
|
32
|
-
(
|
33
|
-
{
|
34
|
-
role,
|
35
|
-
attachments,
|
36
|
-
content,
|
37
|
-
branchCount,
|
38
|
-
isLast,
|
39
|
-
speech,
|
40
|
-
submittedFeedback,
|
41
|
-
},
|
42
|
-
{ isCopied, isHovering },
|
43
|
-
) => {
|
44
|
-
if (props.hasBranches === true && branchCount < 2) return false;
|
36
|
+
if (props.hasBranches === true && branchCount < 2) return false;
|
45
37
|
|
46
|
-
|
47
|
-
|
48
|
-
|
38
|
+
if (props.user && role !== "user") return false;
|
39
|
+
if (props.assistant && role !== "assistant") return false;
|
40
|
+
if (props.system && role !== "system") return false;
|
49
41
|
|
50
|
-
|
51
|
-
|
42
|
+
if (props.lastOrHover === true && !isHovering && !isLast) return false;
|
43
|
+
if (props.last !== undefined && props.last !== isLast) return false;
|
52
44
|
|
53
|
-
|
54
|
-
|
45
|
+
if (props.copied === true && !isCopied) return false;
|
46
|
+
if (props.copied === false && isCopied) return false;
|
55
47
|
|
56
|
-
|
57
|
-
|
48
|
+
if (props.speaking === true && speech == null) return false;
|
49
|
+
if (props.speaking === false && speech != null) return false;
|
58
50
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
51
|
+
if (
|
52
|
+
props.hasAttachments === true &&
|
53
|
+
(role !== "user" || !attachments?.length)
|
54
|
+
)
|
55
|
+
return false;
|
56
|
+
if (
|
57
|
+
props.hasAttachments === false &&
|
58
|
+
role === "user" &&
|
59
|
+
!!attachments?.length
|
60
|
+
)
|
61
|
+
return false;
|
70
62
|
|
71
|
-
|
72
|
-
|
63
|
+
if (props.hasContent === true && parts.length === 0) return false;
|
64
|
+
if (props.hasContent === false && parts.length > 0) return false;
|
73
65
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
66
|
+
if (
|
67
|
+
props.submittedFeedback !== undefined &&
|
68
|
+
(submittedFeedback?.type ?? null) !== props.submittedFeedback
|
69
|
+
)
|
70
|
+
return false;
|
79
71
|
|
80
|
-
|
81
|
-
|
82
|
-
);
|
72
|
+
return true;
|
73
|
+
});
|
83
74
|
};
|
84
75
|
|
85
76
|
export namespace MessagePrimitiveIf {
|
@@ -8,16 +8,11 @@ import {
|
|
8
8
|
useMemo,
|
9
9
|
} from "react";
|
10
10
|
import {
|
11
|
+
useAssistantState,
|
12
|
+
useAssistantApi,
|
13
|
+
PartByIndexProvider,
|
11
14
|
TextMessagePartProvider,
|
12
|
-
useMessagePart,
|
13
|
-
useMessagePartRuntime,
|
14
|
-
useToolUIs,
|
15
15
|
} from "../../context";
|
16
|
-
import {
|
17
|
-
useMessage,
|
18
|
-
useMessageRuntime,
|
19
|
-
} from "../../context/react/MessageContext";
|
20
|
-
import { MessagePartRuntimeProvider } from "../../context/providers/MessagePartRuntimeProvider";
|
21
16
|
import { MessagePartPrimitiveText } from "../messagePart/MessagePartText";
|
22
17
|
import { MessagePartPrimitiveImage } from "../messagePart/MessagePartImage";
|
23
18
|
import type {
|
@@ -86,8 +81,8 @@ const groupMessageParts = (
|
|
86
81
|
};
|
87
82
|
|
88
83
|
const useMessagePartsGroups = (): MessagePartRange[] => {
|
89
|
-
const messageTypes =
|
90
|
-
useShallow((
|
84
|
+
const messageTypes = useAssistantState(
|
85
|
+
useShallow((s) => s.message.parts.map((c: any) => c.type)),
|
91
86
|
);
|
92
87
|
|
93
88
|
return useMemo(() => {
|
@@ -200,7 +195,11 @@ const ToolUIDisplay = ({
|
|
200
195
|
}: {
|
201
196
|
Fallback: ToolCallMessagePartComponent | undefined;
|
202
197
|
} & ToolCallMessagePartProps) => {
|
203
|
-
const Render =
|
198
|
+
const Render = useAssistantState(({ toolUIs }) => {
|
199
|
+
const Render = toolUIs[props.toolName] ?? Fallback;
|
200
|
+
if (Array.isArray(Render)) return Render[0];
|
201
|
+
return Render;
|
202
|
+
});
|
204
203
|
if (!Render) return null;
|
205
204
|
return <Render {...props} />;
|
206
205
|
};
|
@@ -237,20 +236,19 @@ const MessagePartComponent: FC<MessagePartComponentProps> = ({
|
|
237
236
|
tools = {},
|
238
237
|
} = {},
|
239
238
|
}) => {
|
240
|
-
const
|
241
|
-
|
242
|
-
const part = useMessagePart();
|
239
|
+
const api = useAssistantApi();
|
240
|
+
const part = useAssistantState(({ part }) => part);
|
243
241
|
|
244
242
|
const type = part.type;
|
245
243
|
if (type === "tool-call") {
|
246
|
-
const addResult = (result: any) =>
|
244
|
+
const addResult = (result: any) => api.part().addToolResult(result);
|
247
245
|
if ("Override" in tools)
|
248
246
|
return <tools.Override {...part} addResult={addResult} />;
|
249
247
|
const Tool = tools.by_name?.[part.toolName] ?? tools.Fallback;
|
250
248
|
return <ToolUIDisplay {...part} Fallback={Tool} addResult={addResult} />;
|
251
249
|
}
|
252
250
|
|
253
|
-
if (part.status
|
251
|
+
if (part.status?.type === "requires-action")
|
254
252
|
throw new Error("Encountered unexpected requires-action status");
|
255
253
|
|
256
254
|
switch (type) {
|
@@ -306,16 +304,10 @@ export namespace MessagePrimitivePartByIndex {
|
|
306
304
|
export const MessagePrimitivePartByIndex: FC<MessagePrimitivePartByIndex.Props> =
|
307
305
|
memo(
|
308
306
|
({ index, components }) => {
|
309
|
-
const messageRuntime = useMessageRuntime();
|
310
|
-
const runtime = useMemo(
|
311
|
-
() => messageRuntime.getMessagePartByIndex(index),
|
312
|
-
[messageRuntime, index],
|
313
|
-
);
|
314
|
-
|
315
307
|
return (
|
316
|
-
<
|
308
|
+
<PartByIndexProvider index={index}>
|
317
309
|
<MessagePartComponent components={components} />
|
318
|
-
</
|
310
|
+
</PartByIndexProvider>
|
319
311
|
);
|
320
312
|
},
|
321
313
|
(prev, next) =>
|
@@ -332,10 +324,6 @@ export const MessagePrimitivePartByIndex: FC<MessagePrimitivePartByIndex.Props>
|
|
332
324
|
|
333
325
|
MessagePrimitivePartByIndex.displayName = "MessagePrimitive.PartByIndex";
|
334
326
|
|
335
|
-
const COMPLETE_STATUS: MessagePartStatus = Object.freeze({
|
336
|
-
type: "complete",
|
337
|
-
});
|
338
|
-
|
339
327
|
const EmptyPartFallback: FC<{
|
340
328
|
status: MessagePartStatus;
|
341
329
|
component: TextMessagePartComponent;
|
@@ -347,9 +335,14 @@ const EmptyPartFallback: FC<{
|
|
347
335
|
);
|
348
336
|
};
|
349
337
|
|
338
|
+
const COMPLETE_STATUS: MessagePartStatus = Object.freeze({
|
339
|
+
type: "complete",
|
340
|
+
});
|
341
|
+
|
350
342
|
const EmptyPartsImpl: FC<MessagePartComponentProps> = ({ components }) => {
|
351
|
-
const status =
|
352
|
-
|
343
|
+
const status = useAssistantState(
|
344
|
+
(s) => (s.message.status ?? COMPLETE_STATUS) as MessagePartStatus,
|
345
|
+
);
|
353
346
|
|
354
347
|
if (components?.Empty) return <components.Empty status={status} />;
|
355
348
|
|
@@ -395,7 +388,9 @@ const EmptyParts = memo(
|
|
395
388
|
export const MessagePrimitiveParts: FC<MessagePrimitiveParts.Props> = ({
|
396
389
|
components,
|
397
390
|
}) => {
|
398
|
-
const contentLength =
|
391
|
+
const contentLength = useAssistantState(
|
392
|
+
({ message }) => message.parts.length,
|
393
|
+
);
|
399
394
|
const messageRanges = useMessagePartsGroups();
|
400
395
|
|
401
396
|
const partsElements = useMemo(() => {
|
@@ -8,16 +8,11 @@ import {
|
|
8
8
|
useMemo,
|
9
9
|
} from "react";
|
10
10
|
import {
|
11
|
+
useAssistantState,
|
12
|
+
PartByIndexProvider,
|
13
|
+
useAssistantApi,
|
11
14
|
TextMessagePartProvider,
|
12
|
-
useMessagePart,
|
13
|
-
useMessagePartRuntime,
|
14
|
-
useToolUIs,
|
15
15
|
} from "../../context";
|
16
|
-
import {
|
17
|
-
useMessage,
|
18
|
-
useMessageRuntime,
|
19
|
-
} from "../../context/react/MessageContext";
|
20
|
-
import { MessagePartRuntimeProvider } from "../../context/providers/MessagePartRuntimeProvider";
|
21
16
|
import { MessagePartPrimitiveText } from "../messagePart/MessagePartText";
|
22
17
|
import { MessagePartPrimitiveImage } from "../messagePart/MessagePartImage";
|
23
18
|
import type {
|
@@ -80,7 +75,7 @@ const groupMessagePartsByParentId: GroupingFunction = (
|
|
80
75
|
const useMessagePartsGrouped = (
|
81
76
|
groupingFunction: GroupingFunction,
|
82
77
|
): MessagePartGroup[] => {
|
83
|
-
const parts =
|
78
|
+
const parts = useAssistantState(({ message }) => message.parts);
|
84
79
|
|
85
80
|
return useMemo(() => {
|
86
81
|
if (parts.length === 0) {
|
@@ -225,7 +220,11 @@ const ToolUIDisplay = ({
|
|
225
220
|
}: {
|
226
221
|
Fallback: ToolCallMessagePartComponent | undefined;
|
227
222
|
} & ToolCallMessagePartProps) => {
|
228
|
-
const Render =
|
223
|
+
const Render = useAssistantState(({ toolUIs }) => {
|
224
|
+
const Render = toolUIs[props.toolName] ?? Fallback;
|
225
|
+
if (Array.isArray(Render)) return Render[0];
|
226
|
+
return Render;
|
227
|
+
});
|
229
228
|
if (!Render) return null;
|
230
229
|
return <Render {...props} />;
|
231
230
|
};
|
@@ -262,20 +261,19 @@ const MessagePartComponent: FC<MessagePartComponentProps> = ({
|
|
262
261
|
tools = {},
|
263
262
|
} = {},
|
264
263
|
}) => {
|
265
|
-
const
|
266
|
-
|
267
|
-
const part = useMessagePart();
|
264
|
+
const api = useAssistantApi();
|
265
|
+
const part = useAssistantState(({ part }) => part);
|
268
266
|
|
269
267
|
const type = part.type;
|
270
268
|
if (type === "tool-call") {
|
271
|
-
const addResult = (result: any) =>
|
269
|
+
const addResult = (result: any) => api.part().addToolResult(result);
|
272
270
|
if ("Override" in tools)
|
273
271
|
return <tools.Override {...part} addResult={addResult} />;
|
274
272
|
const Tool = tools.by_name?.[part.toolName] ?? tools.Fallback;
|
275
273
|
return <ToolUIDisplay {...part} Fallback={Tool} addResult={addResult} />;
|
276
274
|
}
|
277
275
|
|
278
|
-
if (part.status
|
276
|
+
if (part.status?.type === "requires-action")
|
279
277
|
throw new Error("Encountered unexpected requires-action status");
|
280
278
|
|
281
279
|
switch (type) {
|
@@ -310,16 +308,10 @@ type MessagePartProps = {
|
|
310
308
|
};
|
311
309
|
|
312
310
|
const MessagePartImpl: FC<MessagePartProps> = ({ partIndex, components }) => {
|
313
|
-
const messageRuntime = useMessageRuntime();
|
314
|
-
const runtime = useMemo(
|
315
|
-
() => messageRuntime.getMessagePartByIndex(partIndex),
|
316
|
-
[messageRuntime, partIndex],
|
317
|
-
);
|
318
|
-
|
319
311
|
return (
|
320
|
-
<
|
312
|
+
<PartByIndexProvider index={partIndex}>
|
321
313
|
<MessagePartComponent components={components} />
|
322
|
-
</
|
314
|
+
</PartByIndexProvider>
|
323
315
|
);
|
324
316
|
};
|
325
317
|
|
@@ -337,10 +329,6 @@ const MessagePart = memo(
|
|
337
329
|
prev.components?.Group === next.components?.Group,
|
338
330
|
);
|
339
331
|
|
340
|
-
const COMPLETE_STATUS: MessagePartStatus = Object.freeze({
|
341
|
-
type: "complete",
|
342
|
-
});
|
343
|
-
|
344
332
|
const EmptyPartFallback: FC<{
|
345
333
|
status: MessagePartStatus;
|
346
334
|
component: TextMessagePartComponent;
|
@@ -352,9 +340,14 @@ const EmptyPartFallback: FC<{
|
|
352
340
|
);
|
353
341
|
};
|
354
342
|
|
343
|
+
const COMPLETE_STATUS: MessagePartStatus = Object.freeze({
|
344
|
+
type: "complete",
|
345
|
+
});
|
346
|
+
|
355
347
|
const EmptyPartsImpl: FC<MessagePartComponentProps> = ({ components }) => {
|
356
|
-
const status =
|
357
|
-
|
348
|
+
const status = useAssistantState(
|
349
|
+
(s) => (s.message.status ?? COMPLETE_STATUS) as MessagePartStatus,
|
350
|
+
);
|
358
351
|
|
359
352
|
if (components?.Empty) return <components.Empty status={status} />;
|
360
353
|
|
@@ -424,7 +417,9 @@ const EmptyParts = memo(
|
|
424
417
|
export const MessagePrimitiveUnstable_PartsGrouped: FC<
|
425
418
|
MessagePrimitiveUnstable_PartsGrouped.Props
|
426
419
|
> = ({ groupingFunction, components }) => {
|
427
|
-
const contentLength =
|
420
|
+
const contentLength = useAssistantState(
|
421
|
+
({ message }) => message.parts.length,
|
422
|
+
);
|
428
423
|
const messageGroups = useMessagePartsGrouped(groupingFunction);
|
429
424
|
|
430
425
|
const partsElements = useMemo(() => {
|
@@ -7,33 +7,35 @@ import {
|
|
7
7
|
ComponentPropsWithoutRef,
|
8
8
|
useCallback,
|
9
9
|
} from "react";
|
10
|
-
import {
|
10
|
+
import { useAssistantApi, useAssistantState } from "../../context";
|
11
11
|
import { useManagedRef } from "../../utils/hooks/useManagedRef";
|
12
12
|
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
13
13
|
|
14
14
|
const useIsHoveringRef = () => {
|
15
|
-
const
|
15
|
+
const api = useAssistantApi();
|
16
|
+
const message = useAssistantState(() => api.message());
|
17
|
+
|
16
18
|
const callbackRef = useCallback(
|
17
19
|
(el: HTMLElement) => {
|
18
|
-
const setIsHovering = messageUtilsStore.getState().setIsHovering;
|
19
|
-
|
20
20
|
const handleMouseEnter = () => {
|
21
|
-
setIsHovering(true);
|
21
|
+
message.setIsHovering(true);
|
22
22
|
};
|
23
23
|
const handleMouseLeave = () => {
|
24
|
-
setIsHovering(false);
|
24
|
+
message.setIsHovering(false);
|
25
25
|
};
|
26
26
|
|
27
27
|
el.addEventListener("mouseenter", handleMouseEnter);
|
28
28
|
el.addEventListener("mouseleave", handleMouseLeave);
|
29
29
|
|
30
|
+
if (el.matches(":hover")) message.setIsHovering(true);
|
31
|
+
|
30
32
|
return () => {
|
31
33
|
el.removeEventListener("mouseenter", handleMouseEnter);
|
32
34
|
el.removeEventListener("mouseleave", handleMouseLeave);
|
33
|
-
setIsHovering(false);
|
35
|
+
message.setIsHovering(false);
|
34
36
|
};
|
35
37
|
},
|
36
|
-
[
|
38
|
+
[message],
|
37
39
|
);
|
38
40
|
|
39
41
|
return useManagedRef(callbackRef);
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { FC, PropsWithChildren } from "react";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
|
6
6
|
export namespace MessagePartPrimitiveInProgress {
|
7
7
|
export type Props = PropsWithChildren;
|
@@ -11,7 +11,9 @@ export namespace MessagePartPrimitiveInProgress {
|
|
11
11
|
export const MessagePartPrimitiveInProgress: FC<
|
12
12
|
MessagePartPrimitiveInProgress.Props
|
13
13
|
> = ({ children }) => {
|
14
|
-
const isInProgress =
|
14
|
+
const isInProgress = useAssistantState(
|
15
|
+
({ part }) => part.status.type === "running",
|
16
|
+
);
|
15
17
|
|
16
18
|
return isInProgress ? children : null;
|
17
19
|
};
|
@@ -1,17 +1,17 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { MessagePartState } from "../../api/MessagePartRuntime";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
import { FileMessagePart } from "../../types";
|
6
6
|
|
7
7
|
export const useMessagePartFile = () => {
|
8
|
-
const file =
|
9
|
-
if (
|
8
|
+
const file = useAssistantState(({ part }) => {
|
9
|
+
if (part.type !== "file")
|
10
10
|
throw new Error(
|
11
11
|
"MessagePartFile can only be used inside file message parts.",
|
12
12
|
);
|
13
13
|
|
14
|
-
return
|
14
|
+
return part as MessagePartState & FileMessagePart;
|
15
15
|
});
|
16
16
|
|
17
17
|
return file;
|
@@ -1,17 +1,17 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { MessagePartState } from "../../api/MessagePartRuntime";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
import { ImageMessagePart } from "../../types";
|
6
6
|
|
7
7
|
export const useMessagePartImage = () => {
|
8
|
-
const image =
|
9
|
-
if (
|
8
|
+
const image = useAssistantState(({ part }) => {
|
9
|
+
if (part.type !== "image")
|
10
10
|
throw new Error(
|
11
11
|
"MessagePartImage can only be used inside image message parts.",
|
12
12
|
);
|
13
13
|
|
14
|
-
return
|
14
|
+
return part as MessagePartState & ImageMessagePart;
|
15
15
|
});
|
16
16
|
|
17
17
|
return image;
|
@@ -1,17 +1,17 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { MessagePartState } from "../../api/MessagePartRuntime";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
import { ReasoningMessagePart } from "../../types";
|
6
6
|
|
7
7
|
export const useMessagePartReasoning = () => {
|
8
|
-
const text =
|
9
|
-
if (
|
8
|
+
const text = useAssistantState(({ part }) => {
|
9
|
+
if (part.type !== "reasoning")
|
10
10
|
throw new Error(
|
11
11
|
"MessagePartReasoning can only be used inside reasoning message parts.",
|
12
12
|
);
|
13
13
|
|
14
|
-
return
|
14
|
+
return part as MessagePartState & ReasoningMessagePart;
|
15
15
|
});
|
16
16
|
|
17
17
|
return text;
|
@@ -1,17 +1,17 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { MessagePartState } from "../../api/MessagePartRuntime";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
import { SourceMessagePart } from "../../types";
|
6
6
|
|
7
7
|
export const useMessagePartSource = () => {
|
8
|
-
const source =
|
9
|
-
if (
|
8
|
+
const source = useAssistantState(({ part }) => {
|
9
|
+
if (part.type !== "source")
|
10
10
|
throw new Error(
|
11
11
|
"MessagePartSource can only be used inside source message parts.",
|
12
12
|
);
|
13
13
|
|
14
|
-
return
|
14
|
+
return part as MessagePartState & SourceMessagePart;
|
15
15
|
});
|
16
16
|
|
17
17
|
return source;
|
@@ -1,17 +1,17 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { MessagePartState } from "../../api/MessagePartRuntime";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
import { TextMessagePart, ReasoningMessagePart } from "../../types";
|
6
6
|
|
7
7
|
export const useMessagePartText = () => {
|
8
|
-
const text =
|
9
|
-
if (
|
8
|
+
const text = useAssistantState(({ part }) => {
|
9
|
+
if (part.type !== "text" && part.type !== "reasoning")
|
10
10
|
throw new Error(
|
11
11
|
"MessagePartText can only be used inside text or reasoning message parts.",
|
12
12
|
);
|
13
13
|
|
14
|
-
return
|
14
|
+
return part as MessagePartState & (TextMessagePart | ReasoningMessagePart);
|
15
15
|
});
|
16
16
|
|
17
17
|
return text;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import type { FC, PropsWithChildren } from "react";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
|
6
6
|
export namespace ThreadPrimitiveEmpty {
|
7
7
|
export type Props = PropsWithChildren;
|
@@ -10,7 +10,7 @@ export namespace ThreadPrimitiveEmpty {
|
|
10
10
|
export const ThreadPrimitiveEmpty: FC<ThreadPrimitiveEmpty.Props> = ({
|
11
11
|
children,
|
12
12
|
}) => {
|
13
|
-
const empty =
|
13
|
+
const empty = useAssistantState(({ thread }) => thread.messages.length === 0);
|
14
14
|
return empty ? children : null;
|
15
15
|
};
|
16
16
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import type { FC, PropsWithChildren } from "react";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
import type { RequireAtLeastOne } from "../../utils/RequireAtLeastOne";
|
6
6
|
|
7
7
|
type ThreadIfFilters = {
|
@@ -13,7 +13,7 @@ type ThreadIfFilters = {
|
|
13
13
|
type UseThreadIfProps = RequireAtLeastOne<ThreadIfFilters>;
|
14
14
|
|
15
15
|
const useThreadIf = (props: UseThreadIfProps) => {
|
16
|
-
return
|
16
|
+
return useAssistantState(({ thread }) => {
|
17
17
|
if (props.empty === true && thread.messages.length !== 0) return false;
|
18
18
|
if (props.empty === false && thread.messages.length === 0) return false;
|
19
19
|
if (props.running === true && !thread.isRunning) return false;
|
@@ -1,9 +1,7 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { type ComponentType, type FC, memo, useMemo } from "react";
|
4
|
-
import {
|
5
|
-
import { MessageRuntimeProvider } from "../../context/providers/MessageRuntimeProvider";
|
6
|
-
import { useEditComposer, useMessage } from "../../context";
|
4
|
+
import { useAssistantState, MessageByIndexProvider } from "../../context";
|
7
5
|
import { ThreadMessage as ThreadMessageType } from "../../types";
|
8
6
|
|
9
7
|
export namespace ThreadPrimitiveMessages {
|
@@ -130,8 +128,10 @@ type ThreadMessageComponentProps = {
|
|
130
128
|
const ThreadMessageComponent: FC<ThreadMessageComponentProps> = ({
|
131
129
|
components,
|
132
130
|
}) => {
|
133
|
-
const role =
|
134
|
-
const isEditing =
|
131
|
+
const role = useAssistantState(({ message }) => message.role);
|
132
|
+
const isEditing = useAssistantState(
|
133
|
+
({ message }) => message.composer.isEditing,
|
134
|
+
);
|
135
135
|
const Component = getComponent(components, role, isEditing);
|
136
136
|
|
137
137
|
return <Component />;
|
@@ -163,16 +163,10 @@ export namespace ThreadPrimitiveMessageByIndex {
|
|
163
163
|
export const ThreadPrimitiveMessageByIndex: FC<ThreadPrimitiveMessageByIndex.Props> =
|
164
164
|
memo(
|
165
165
|
({ index, components }) => {
|
166
|
-
const threadRuntime = useThreadRuntime();
|
167
|
-
const runtime = useMemo(
|
168
|
-
() => threadRuntime.getMesssageByIndex(index),
|
169
|
-
[threadRuntime, index],
|
170
|
-
);
|
171
|
-
|
172
166
|
return (
|
173
|
-
<
|
167
|
+
<MessageByIndexProvider index={index}>
|
174
168
|
<ThreadMessageComponent components={components} />
|
175
|
-
</
|
169
|
+
</MessageByIndexProvider>
|
176
170
|
);
|
177
171
|
},
|
178
172
|
(prev, next) =>
|
@@ -203,7 +197,9 @@ ThreadPrimitiveMessageByIndex.displayName = "ThreadPrimitive.MessageByIndex";
|
|
203
197
|
export const ThreadPrimitiveMessagesImpl: FC<ThreadPrimitiveMessages.Props> = ({
|
204
198
|
components,
|
205
199
|
}) => {
|
206
|
-
const messagesLength =
|
200
|
+
const messagesLength = useAssistantState(
|
201
|
+
({ thread }) => thread.messages.length,
|
202
|
+
);
|
207
203
|
|
208
204
|
const messageElements = useMemo(() => {
|
209
205
|
if (messagesLength === 0) return null;
|