@assistant-ui/react 0.10.49 → 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/RuntimeAdapterProvider.d.ts +2 -0
- package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts.map +1 -1
- package/dist/runtimes/adapters/RuntimeAdapterProvider.js.map +1 -1
- package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.d.ts +15 -0
- package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.d.ts.map +1 -0
- package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.js +83 -0
- package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.js.map +1 -0
- package/dist/runtimes/adapters/attachment/index.d.ts +1 -0
- package/dist/runtimes/adapters/attachment/index.d.ts.map +1 -1
- package/dist/runtimes/adapters/attachment/index.js +2 -0
- 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/runtimes/remote-thread-list/adapter/cloud.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.js +14 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.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/RuntimeAdapterProvider.tsx +2 -0
- package/src/runtimes/adapters/attachment/CloudFileAttachmentAdapter.ts +101 -0
- package/src/runtimes/adapters/attachment/index.ts +1 -0
- 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/runtimes/remote-thread-list/adapter/cloud.tsx +16 -1
- 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;
|