@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
@@ -6,8 +6,7 @@ import {
|
|
6
6
|
createActionButton,
|
7
7
|
} from "../../utils/createActionButton";
|
8
8
|
import { useCallback } from "react";
|
9
|
-
import {
|
10
|
-
import { useThreadRuntime } from "../../context/react/ThreadContext";
|
9
|
+
import { useAssistantState, useAssistantApi } from "../../context";
|
11
10
|
|
12
11
|
const useThreadSuggestion = ({
|
13
12
|
prompt,
|
@@ -17,16 +16,17 @@ const useThreadSuggestion = ({
|
|
17
16
|
method?: "replace";
|
18
17
|
autoSend?: boolean | undefined;
|
19
18
|
}) => {
|
20
|
-
const
|
19
|
+
const api = useAssistantApi();
|
20
|
+
const disabled = useAssistantState(({ thread }) => thread.isDisabled);
|
21
21
|
|
22
|
-
const disabled = useThread((t) => t.isDisabled);
|
23
22
|
const callback = useCallback(() => {
|
24
|
-
|
25
|
-
|
23
|
+
const isRunning = api.thread().getState().isRunning;
|
24
|
+
if (autoSend && !isRunning) {
|
25
|
+
api.thread().append(prompt);
|
26
26
|
} else {
|
27
|
-
|
27
|
+
api.composer().setText(prompt);
|
28
28
|
}
|
29
|
-
}, [
|
29
|
+
}, [api, autoSend, prompt]);
|
30
30
|
|
31
31
|
if (disabled) return null;
|
32
32
|
return callback;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
4
|
-
import { RefCallback, useCallback,
|
5
|
-
import {
|
4
|
+
import { RefCallback, useCallback, useRef } from "react";
|
5
|
+
import { useAssistantEvent } from "../../context";
|
6
6
|
import { useOnResizeContent } from "../../utils/hooks/useOnResizeContent";
|
7
7
|
import { useOnScrollToBottom } from "../../utils/hooks/useOnScrollToBottom";
|
8
8
|
import { useManagedRef } from "../../utils/hooks/useManagedRef";
|
@@ -87,10 +87,7 @@ export const useThreadViewportAutoScroll = <TElement extends HTMLElement>({
|
|
87
87
|
});
|
88
88
|
|
89
89
|
// autoscroll on run start
|
90
|
-
|
91
|
-
useEffect(() => {
|
92
|
-
return threadRuntime.unstable_on("run-start", () => scrollToBottom("auto"));
|
93
|
-
}, [scrollToBottom, threadRuntime]);
|
90
|
+
useAssistantEvent("thread.run-start", () => scrollToBottom("auto"));
|
94
91
|
|
95
92
|
const autoScrollRef = useComposedRefs<TElement>(resizeRef, scrollRef, divRef);
|
96
93
|
return autoScrollRef as RefCallback<TElement>;
|
@@ -1,8 +1,10 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { ComponentType, FC, memo, useMemo } from "react";
|
4
|
-
import {
|
5
|
-
|
4
|
+
import {
|
5
|
+
ThreadListItemByIndexProvider,
|
6
|
+
useAssistantState,
|
7
|
+
} from "../../context";
|
6
8
|
|
7
9
|
export namespace ThreadListPrimitiveItems {
|
8
10
|
export type Props = {
|
@@ -40,21 +42,12 @@ export namespace ThreadListPrimitiveItemByIndex {
|
|
40
42
|
export const ThreadListPrimitiveItemByIndex: FC<ThreadListPrimitiveItemByIndex.Props> =
|
41
43
|
memo(
|
42
44
|
({ index, archived = false, components }) => {
|
43
|
-
const assistantRuntime = useAssistantRuntime();
|
44
|
-
const runtime = useMemo(
|
45
|
-
() =>
|
46
|
-
archived
|
47
|
-
? assistantRuntime.threads.getArchivedItemByIndex(index)
|
48
|
-
: assistantRuntime.threads.getItemByIndex(index),
|
49
|
-
[assistantRuntime, index, archived],
|
50
|
-
);
|
51
|
-
|
52
45
|
const ThreadListItemComponent = components.ThreadListItem;
|
53
46
|
|
54
47
|
return (
|
55
|
-
<
|
48
|
+
<ThreadListItemByIndexProvider index={index} archived={archived}>
|
56
49
|
<ThreadListItemComponent />
|
57
|
-
</
|
50
|
+
</ThreadListItemByIndexProvider>
|
58
51
|
);
|
59
52
|
},
|
60
53
|
(prev, next) =>
|
@@ -69,8 +62,8 @@ export const ThreadListPrimitiveItems: FC<ThreadListPrimitiveItems.Props> = ({
|
|
69
62
|
archived = false,
|
70
63
|
components,
|
71
64
|
}) => {
|
72
|
-
const contentLength =
|
73
|
-
archived ?
|
65
|
+
const contentLength = useAssistantState(({ threads }) =>
|
66
|
+
archived ? threads.archivedThreadIds.length : threads.threadIds.length,
|
74
67
|
);
|
75
68
|
|
76
69
|
const listElements = useMemo(() => {
|
@@ -4,29 +4,25 @@ import {
|
|
4
4
|
ActionButtonElement,
|
5
5
|
ActionButtonProps,
|
6
6
|
} from "../../utils/createActionButton";
|
7
|
-
import { useAssistantRuntime, useThreadList } from "../../context";
|
8
7
|
import { forwardRef } from "react";
|
9
8
|
import { Primitive } from "@radix-ui/react-primitive";
|
10
9
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
11
|
-
|
12
|
-
const useThreadListNew = () => {
|
13
|
-
const runtime = useAssistantRuntime();
|
14
|
-
return () => {
|
15
|
-
runtime.switchToNewThread();
|
16
|
-
};
|
17
|
-
};
|
10
|
+
import { useAssistantState, useAssistantApi } from "../../context";
|
18
11
|
|
19
12
|
export namespace ThreadListPrimitiveNew {
|
20
13
|
export type Element = ActionButtonElement;
|
21
|
-
export type Props = ActionButtonProps<
|
14
|
+
export type Props = ActionButtonProps<() => void>;
|
22
15
|
}
|
23
16
|
|
24
17
|
export const ThreadListPrimitiveNew = forwardRef<
|
25
18
|
ThreadListPrimitiveNew.Element,
|
26
19
|
ThreadListPrimitiveNew.Props
|
27
20
|
>(({ onClick, disabled, ...props }, forwardedRef) => {
|
28
|
-
const isMain =
|
29
|
-
|
21
|
+
const isMain = useAssistantState(
|
22
|
+
({ threads }) => threads.newThreadId === threads.mainThreadId,
|
23
|
+
);
|
24
|
+
|
25
|
+
const api = useAssistantApi();
|
30
26
|
|
31
27
|
return (
|
32
28
|
<Primitive.button
|
@@ -34,9 +30,9 @@ export const ThreadListPrimitiveNew = forwardRef<
|
|
34
30
|
{...(isMain ? { "data-active": "true", "aria-current": "true" } : null)}
|
35
31
|
{...props}
|
36
32
|
ref={forwardedRef}
|
37
|
-
disabled={disabled
|
33
|
+
disabled={disabled}
|
38
34
|
onClick={composeEventHandlers(onClick, () => {
|
39
|
-
|
35
|
+
api.threads().switchToNewThread();
|
40
36
|
})}
|
41
37
|
/>
|
42
38
|
);
|
@@ -5,14 +5,14 @@ import {
|
|
5
5
|
ActionButtonProps,
|
6
6
|
createActionButton,
|
7
7
|
} from "../../utils/createActionButton";
|
8
|
-
import {
|
8
|
+
import { useAssistantApi } from "../../context";
|
9
9
|
import { useCallback } from "react";
|
10
10
|
|
11
11
|
const useThreadListItemArchive = () => {
|
12
|
-
const
|
12
|
+
const api = useAssistantApi();
|
13
13
|
return useCallback(() => {
|
14
|
-
|
15
|
-
}, [
|
14
|
+
api.threadListItem().archive();
|
15
|
+
}, [api]);
|
16
16
|
};
|
17
17
|
|
18
18
|
export namespace ThreadListItemPrimitiveArchive {
|
@@ -5,13 +5,14 @@ import {
|
|
5
5
|
ActionButtonProps,
|
6
6
|
createActionButton,
|
7
7
|
} from "../../utils/createActionButton";
|
8
|
-
import {
|
8
|
+
import { useAssistantApi } from "../../context";
|
9
|
+
import { useCallback } from "react";
|
9
10
|
|
10
11
|
const useThreadListItemDelete = () => {
|
11
|
-
const
|
12
|
-
return () => {
|
13
|
-
|
14
|
-
};
|
12
|
+
const api = useAssistantApi();
|
13
|
+
return useCallback(() => {
|
14
|
+
api.threadListItem().delete();
|
15
|
+
}, [api]);
|
15
16
|
};
|
16
17
|
|
17
18
|
export namespace ThreadListItemPrimitiveDelete {
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
import { Primitive } from "@radix-ui/react-primitive";
|
4
4
|
import { type ComponentRef, forwardRef, ComponentPropsWithoutRef } from "react";
|
5
|
-
import {
|
5
|
+
import { useAssistantState } from "../../context";
|
6
6
|
|
7
7
|
type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
|
8
8
|
|
@@ -15,7 +15,9 @@ export const ThreadListItemPrimitiveRoot = forwardRef<
|
|
15
15
|
ThreadListItemPrimitiveRoot.Element,
|
16
16
|
ThreadListItemPrimitiveRoot.Props
|
17
17
|
>((props, ref) => {
|
18
|
-
const isMain =
|
18
|
+
const isMain = useAssistantState(
|
19
|
+
({ threads, threadListItem }) => threads.mainThreadId === threadListItem.id,
|
20
|
+
);
|
19
21
|
|
20
22
|
return (
|
21
23
|
<Primitive.div
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import type { FC, ReactNode } from "react";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
|
6
6
|
export namespace ThreadListItemPrimitiveTitle {
|
7
7
|
export type Props = {
|
@@ -12,7 +12,7 @@ export namespace ThreadListItemPrimitiveTitle {
|
|
12
12
|
export const ThreadListItemPrimitiveTitle: FC<
|
13
13
|
ThreadListItemPrimitiveTitle.Props
|
14
14
|
> = ({ fallback }) => {
|
15
|
-
const title =
|
15
|
+
const title = useAssistantState(({ threadListItem }) => threadListItem.title);
|
16
16
|
return <>{title || fallback}</>;
|
17
17
|
};
|
18
18
|
|
@@ -5,13 +5,14 @@ import {
|
|
5
5
|
ActionButtonProps,
|
6
6
|
createActionButton,
|
7
7
|
} from "../../utils/createActionButton";
|
8
|
-
import {
|
8
|
+
import { useAssistantApi } from "../../context";
|
9
|
+
import { useCallback } from "react";
|
9
10
|
|
10
11
|
const useThreadListItemTrigger = () => {
|
11
|
-
const
|
12
|
-
return () => {
|
13
|
-
|
14
|
-
};
|
12
|
+
const api = useAssistantApi();
|
13
|
+
return useCallback(() => {
|
14
|
+
api.threadListItem().switchTo();
|
15
|
+
}, [api]);
|
15
16
|
};
|
16
17
|
|
17
18
|
export namespace ThreadListItemPrimitiveTrigger {
|
@@ -5,13 +5,14 @@ import {
|
|
5
5
|
ActionButtonProps,
|
6
6
|
createActionButton,
|
7
7
|
} from "../../utils/createActionButton";
|
8
|
-
import {
|
8
|
+
import { useAssistantApi } from "../../context";
|
9
|
+
import { useCallback } from "react";
|
9
10
|
|
10
11
|
const useThreadListItemUnarchive = () => {
|
11
|
-
const
|
12
|
-
return () => {
|
13
|
-
|
14
|
-
};
|
12
|
+
const api = useAssistantApi();
|
13
|
+
return useCallback(() => {
|
14
|
+
api.threadListItem().unarchive();
|
15
|
+
}, [api]);
|
15
16
|
};
|
16
17
|
|
17
18
|
export namespace ThreadListItemPrimitiveUnarchive {
|
@@ -2,4 +2,4 @@ export type { AttachmentAdapter } from "./AttachmentAdapter";
|
|
2
2
|
export { SimpleImageAttachmentAdapter } from "./SimpleImageAttachmentAdapter";
|
3
3
|
export { SimpleTextAttachmentAdapter } from "./SimpleTextAttachmentAdapter";
|
4
4
|
export { CompositeAttachmentAdapter } from "./CompositeAttachmentAdapter";
|
5
|
-
export { CloudFileAttachmentAdapter } from "./CloudFileAttachmentAdapter";
|
5
|
+
export { CloudFileAttachmentAdapter } from "./CloudFileAttachmentAdapter";
|
@@ -23,7 +23,7 @@ export abstract class BaseComposerRuntimeCore
|
|
23
23
|
|
24
24
|
protected abstract getAttachmentAdapter(): AttachmentAdapter | undefined;
|
25
25
|
|
26
|
-
public
|
26
|
+
public get attachmentAccept(): string {
|
27
27
|
return this.getAttachmentAdapter()?.accept ?? "*";
|
28
28
|
}
|
29
29
|
|
@@ -173,7 +173,7 @@ export abstract class BaseComposerRuntimeCore
|
|
173
173
|
];
|
174
174
|
else {
|
175
175
|
this._attachments = [...this._attachments, a];
|
176
|
-
this._notifyEventSubscribers("
|
176
|
+
this._notifyEventSubscribers("attachment-add");
|
177
177
|
}
|
178
178
|
|
179
179
|
this._notifySubscribers();
|
@@ -188,7 +188,7 @@ export abstract class BaseComposerRuntimeCore
|
|
188
188
|
upsertAttachment(await promiseOrGenerator);
|
189
189
|
}
|
190
190
|
|
191
|
-
this._notifyEventSubscribers("
|
191
|
+
this._notifyEventSubscribers("attachment-add");
|
192
192
|
this._notifySubscribers();
|
193
193
|
}
|
194
194
|
|
@@ -92,7 +92,11 @@ export abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore {
|
|
92
92
|
}
|
93
93
|
|
94
94
|
public getMessageById(messageId: string) {
|
95
|
-
|
95
|
+
try {
|
96
|
+
return this.repository.getMessage(messageId);
|
97
|
+
} catch {
|
98
|
+
return undefined;
|
99
|
+
}
|
96
100
|
}
|
97
101
|
|
98
102
|
public getBranches(messageId: string): string[] {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { Attachment, PendingAttachment, Unsubscribe } from "../../types";
|
2
2
|
import { MessageRole, RunConfig } from "../../types/AssistantTypes";
|
3
3
|
|
4
|
-
export type ComposerRuntimeEventType = "send" | "
|
4
|
+
export type ComposerRuntimeEventType = "send" | "attachment-add";
|
5
5
|
|
6
6
|
export type ComposerRuntimeCore = Readonly<{
|
7
7
|
isEditing: boolean;
|
@@ -10,8 +10,8 @@ export type ComposerRuntimeCore = Readonly<{
|
|
10
10
|
isEmpty: boolean;
|
11
11
|
|
12
12
|
attachments: readonly Attachment[];
|
13
|
+
attachmentAccept: string;
|
13
14
|
|
14
|
-
getAttachmentAccept(): string;
|
15
15
|
addAttachment: (file: File) => Promise<void>;
|
16
16
|
removeAttachment: (attachmentId: string) => Promise<void>;
|
17
17
|
|
@@ -2,10 +2,10 @@ import { Unsubscribe } from "../../types";
|
|
2
2
|
import { ThreadRuntimeCore } from "./ThreadRuntimeCore";
|
3
3
|
import type { ThreadListItemStatus } from "../../api/RuntimeBindings";
|
4
4
|
|
5
|
-
type ThreadListItemCoreState = {
|
6
|
-
readonly
|
7
|
-
readonly remoteId
|
8
|
-
readonly externalId
|
5
|
+
export type ThreadListItemCoreState = {
|
6
|
+
readonly id: string;
|
7
|
+
readonly remoteId: string | undefined;
|
8
|
+
readonly externalId: string | undefined;
|
9
9
|
|
10
10
|
readonly status: ThreadListItemStatus;
|
11
11
|
readonly title?: string | undefined;
|
@@ -21,6 +21,8 @@ export type ThreadListRuntimeCore = {
|
|
21
21
|
threadIds: readonly string[];
|
22
22
|
archivedThreadIds: readonly string[];
|
23
23
|
|
24
|
+
readonly threadData: Readonly<Record<string, ThreadListItemCoreState>>;
|
25
|
+
|
24
26
|
getMainThreadRuntimeCore(): ThreadRuntimeCore;
|
25
27
|
getThreadRuntimeCore(threadId: string): ThreadRuntimeCore;
|
26
28
|
|
@@ -12,7 +12,9 @@ import { ExportedMessageRepository } from "../utils/MessageRepository";
|
|
12
12
|
|
13
13
|
export type ExternalStoreThreadData<TState extends "regular" | "archived"> = {
|
14
14
|
status: TState;
|
15
|
-
|
15
|
+
id: string;
|
16
|
+
remoteId?: string | undefined;
|
17
|
+
externalId?: string | undefined;
|
16
18
|
title?: string | undefined;
|
17
19
|
};
|
18
20
|
|
@@ -59,7 +61,8 @@ type ExternalStoreAdapterBase<T> = {
|
|
59
61
|
suggestions?: readonly ThreadSuggestion[] | undefined;
|
60
62
|
extras?: unknown;
|
61
63
|
|
62
|
-
setMessages?: ((messages: T[]) => void) | undefined;
|
64
|
+
setMessages?: ((messages: readonly T[]) => void) | undefined;
|
65
|
+
onImport?: ((messages: readonly ThreadMessage[]) => void) | undefined;
|
63
66
|
onNew: (message: AppendMessage) => Promise<void>;
|
64
67
|
onEdit?: ((message: AppendMessage) => Promise<void>) | undefined;
|
65
68
|
onReload?: // TODO: remove parentId in 0.8.0
|
@@ -1,21 +1,26 @@
|
|
1
1
|
import type { Unsubscribe } from "../../types";
|
2
2
|
import { ExternalStoreThreadRuntimeCore } from "./ExternalStoreThreadRuntimeCore";
|
3
|
-
import { ThreadListRuntimeCore } from "../core/ThreadListRuntimeCore";
|
4
3
|
import {
|
5
|
-
|
6
|
-
|
7
|
-
} from "
|
4
|
+
ThreadListItemCoreState,
|
5
|
+
ThreadListRuntimeCore,
|
6
|
+
} from "../core/ThreadListRuntimeCore";
|
7
|
+
import { ExternalStoreThreadListAdapter } from "./ExternalStoreAdapter";
|
8
8
|
|
9
9
|
export type ExternalStoreThreadFactory = () => ExternalStoreThreadRuntimeCore;
|
10
10
|
|
11
11
|
const EMPTY_ARRAY = Object.freeze([]);
|
12
12
|
const DEFAULT_THREAD_ID = "DEFAULT_THREAD_ID";
|
13
13
|
const DEFAULT_THREADS = Object.freeze([DEFAULT_THREAD_ID]);
|
14
|
-
const DEFAULT_THREAD
|
15
|
-
|
14
|
+
const DEFAULT_THREAD = Object.freeze({
|
15
|
+
id: DEFAULT_THREAD_ID,
|
16
|
+
remoteId: undefined,
|
17
|
+
externalId: undefined,
|
16
18
|
status: "regular",
|
17
19
|
});
|
18
20
|
const RESOLVED_PROMISE = Promise.resolve();
|
21
|
+
const DEFAULT_THREAD_DATA = Object.freeze({
|
22
|
+
[DEFAULT_THREAD_ID]: DEFAULT_THREAD,
|
23
|
+
});
|
19
24
|
|
20
25
|
export class ExternalStoreThreadListRuntimeCore
|
21
26
|
implements ThreadListRuntimeCore
|
@@ -23,6 +28,8 @@ export class ExternalStoreThreadListRuntimeCore
|
|
23
28
|
private _mainThreadId: string = DEFAULT_THREAD_ID;
|
24
29
|
private _threads: readonly string[] = DEFAULT_THREADS;
|
25
30
|
private _archivedThreads: readonly string[] = EMPTY_ARRAY;
|
31
|
+
private _threadData: Readonly<Record<string, ThreadListItemCoreState>> =
|
32
|
+
DEFAULT_THREAD_DATA;
|
26
33
|
|
27
34
|
public get isLoading() {
|
28
35
|
return this.adapter.isLoading ?? false;
|
@@ -40,6 +47,10 @@ export class ExternalStoreThreadListRuntimeCore
|
|
40
47
|
return this._archivedThreads;
|
41
48
|
}
|
42
49
|
|
50
|
+
public get threadData() {
|
51
|
+
return this._threadData;
|
52
|
+
}
|
53
|
+
|
43
54
|
public getLoadThreadsPromise() {
|
44
55
|
return RESOLVED_PROMISE;
|
45
56
|
}
|
@@ -55,6 +66,7 @@ export class ExternalStoreThreadListRuntimeCore
|
|
55
66
|
private threadFactory: ExternalStoreThreadFactory,
|
56
67
|
) {
|
57
68
|
this._mainThread = this.threadFactory();
|
69
|
+
this.__internal_setAdapter(adapter, true);
|
58
70
|
}
|
59
71
|
|
60
72
|
public getMainThreadRuntimeCore() {
|
@@ -67,16 +79,19 @@ export class ExternalStoreThreadListRuntimeCore
|
|
67
79
|
|
68
80
|
public getItemById(threadId: string) {
|
69
81
|
for (const thread of this.adapter.threads ?? []) {
|
70
|
-
if (thread.
|
82
|
+
if (thread.id === threadId) return thread as any;
|
71
83
|
}
|
72
84
|
for (const thread of this.adapter.archivedThreads ?? []) {
|
73
|
-
if (thread.
|
85
|
+
if (thread.id === threadId) return thread as any;
|
74
86
|
}
|
75
87
|
if (threadId === DEFAULT_THREAD_ID) return DEFAULT_THREAD;
|
76
88
|
return undefined;
|
77
89
|
}
|
78
90
|
|
79
|
-
public __internal_setAdapter(
|
91
|
+
public __internal_setAdapter(
|
92
|
+
adapter: ExternalStoreThreadListAdapter,
|
93
|
+
initialLoad = false,
|
94
|
+
) {
|
80
95
|
const previousAdapter = this.adapter;
|
81
96
|
this.adapter = adapter;
|
82
97
|
|
@@ -90,6 +105,7 @@ export class ExternalStoreThreadListRuntimeCore
|
|
90
105
|
previousAdapter.archivedThreads ?? EMPTY_ARRAY;
|
91
106
|
|
92
107
|
if (
|
108
|
+
!initialLoad &&
|
93
109
|
previousThreadId === newThreadId &&
|
94
110
|
previousThreads === newThreads &&
|
95
111
|
previousArchivedThreads === newArchivedThreads
|
@@ -97,14 +113,39 @@ export class ExternalStoreThreadListRuntimeCore
|
|
97
113
|
return;
|
98
114
|
}
|
99
115
|
|
116
|
+
this._threadData = {
|
117
|
+
...DEFAULT_THREAD_DATA,
|
118
|
+
...Object.fromEntries(
|
119
|
+
adapter.threads?.map((t) => [
|
120
|
+
t.id,
|
121
|
+
{
|
122
|
+
...t,
|
123
|
+
remoteId: t.remoteId,
|
124
|
+
externalId: t.externalId,
|
125
|
+
status: "regular",
|
126
|
+
},
|
127
|
+
]) ?? [],
|
128
|
+
),
|
129
|
+
...Object.fromEntries(
|
130
|
+
adapter.archivedThreads?.map((t) => [
|
131
|
+
t.id,
|
132
|
+
{
|
133
|
+
...t,
|
134
|
+
remoteId: t.remoteId,
|
135
|
+
externalId: t.externalId,
|
136
|
+
status: "archived",
|
137
|
+
},
|
138
|
+
]) ?? [],
|
139
|
+
),
|
140
|
+
};
|
141
|
+
|
100
142
|
if (previousThreads !== newThreads) {
|
101
|
-
this._threads =
|
102
|
-
this.adapter.threads?.map((t) => t.threadId) ?? EMPTY_ARRAY;
|
143
|
+
this._threads = this.adapter.threads?.map((t) => t.id) ?? EMPTY_ARRAY;
|
103
144
|
}
|
104
145
|
|
105
146
|
if (previousArchivedThreads !== newArchivedThreads) {
|
106
147
|
this._archivedThreads =
|
107
|
-
this.adapter.archivedThreads?.map((t) => t.
|
148
|
+
this.adapter.archivedThreads?.map((t) => t.id) ?? EMPTY_ARRAY;
|
108
149
|
}
|
109
150
|
|
110
151
|
if (previousThreadId !== newThreadId) {
|
@@ -297,6 +297,10 @@ export class ExternalStoreThreadRuntimeCore
|
|
297
297
|
this._assistantOptimisticId = null;
|
298
298
|
|
299
299
|
super.import(data);
|
300
|
+
|
301
|
+
if (this._store.onImport) {
|
302
|
+
this._store.onImport(this.repository.getMessages());
|
303
|
+
}
|
300
304
|
}
|
301
305
|
|
302
306
|
private updateMessages = (messages: readonly ThreadMessage[]) => {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use client";
|
2
2
|
import { ThreadState } from "../../api";
|
3
|
-
import {
|
3
|
+
import { useAssistantApi, useAssistantState } from "../../context";
|
4
4
|
import { ThreadMessage } from "../../types";
|
5
5
|
import {
|
6
6
|
useExternalMessageConverter,
|
@@ -50,13 +50,17 @@ export const createMessageConverter = <T extends object>(
|
|
50
50
|
return first;
|
51
51
|
},
|
52
52
|
useOriginalMessages: () => {
|
53
|
-
const
|
54
|
-
|
55
|
-
|
53
|
+
const api = useAssistantApi();
|
54
|
+
const partMessages = useAssistantState((s) => {
|
55
|
+
if (api.part.source) return getExternalStoreMessages(s.part);
|
56
|
+
return undefined;
|
56
57
|
});
|
57
58
|
|
58
|
-
const messageMessages =
|
59
|
-
|
59
|
+
const messageMessages = useAssistantState<T[]>(({ message }) =>
|
60
|
+
getExternalStoreMessages(message),
|
61
|
+
);
|
62
|
+
|
63
|
+
const messages = partMessages ?? messageMessages;
|
60
64
|
if (messages.length === 0) throw new Error("No original messages found");
|
61
65
|
return messages;
|
62
66
|
},
|
@@ -5,6 +5,16 @@ import { LocalThreadRuntimeCore } from "./LocalThreadRuntimeCore";
|
|
5
5
|
export type LocalThreadFactory = () => LocalThreadRuntimeCore;
|
6
6
|
|
7
7
|
const EMPTY_ARRAY = Object.freeze([]);
|
8
|
+
const DEFAULT_THREAD_ID = "__DEFAULT_ID__";
|
9
|
+
const DEFAULT_THREAD_DATA = Object.freeze({
|
10
|
+
[DEFAULT_THREAD_ID]: {
|
11
|
+
id: DEFAULT_THREAD_ID,
|
12
|
+
remoteId: undefined,
|
13
|
+
externalId: undefined,
|
14
|
+
status: "regular" as const,
|
15
|
+
title: undefined,
|
16
|
+
},
|
17
|
+
});
|
8
18
|
export class LocalThreadListRuntimeCore
|
9
19
|
extends BaseSubscribable
|
10
20
|
implements ThreadListRuntimeCore
|
@@ -37,7 +47,11 @@ export class LocalThreadListRuntimeCore
|
|
37
47
|
}
|
38
48
|
|
39
49
|
public get mainThreadId(): string {
|
40
|
-
return
|
50
|
+
return DEFAULT_THREAD_ID;
|
51
|
+
}
|
52
|
+
|
53
|
+
public get threadData() {
|
54
|
+
return DEFAULT_THREAD_DATA;
|
41
55
|
}
|
42
56
|
|
43
57
|
public getThreadRuntimeCore(): never {
|
@@ -52,7 +66,7 @@ export class LocalThreadListRuntimeCore
|
|
52
66
|
if (threadId === this.mainThreadId) {
|
53
67
|
return {
|
54
68
|
status: "regular" as const,
|
55
|
-
|
69
|
+
id: this.mainThreadId,
|
56
70
|
remoteId: this.mainThreadId,
|
57
71
|
externalId: undefined,
|
58
72
|
title: undefined,
|
@@ -58,10 +58,7 @@ export const EMPTY_THREAD_CORE: ThreadRuntimeCore = {
|
|
58
58
|
|
59
59
|
composer: {
|
60
60
|
attachments: [],
|
61
|
-
|
62
|
-
getAttachmentAccept() {
|
63
|
-
return "*";
|
64
|
-
},
|
61
|
+
attachmentAccept: "*",
|
65
62
|
|
66
63
|
async addAttachment() {
|
67
64
|
throw EMPTY_THREAD_ERROR;
|
@@ -71,7 +68,7 @@ export const EMPTY_THREAD_CORE: ThreadRuntimeCore = {
|
|
71
68
|
throw EMPTY_THREAD_ERROR;
|
72
69
|
},
|
73
70
|
|
74
|
-
isEditing:
|
71
|
+
isEditing: true,
|
75
72
|
|
76
73
|
canCancel: false,
|
77
74
|
isEmpty: true,
|
@@ -140,7 +137,7 @@ export const EMPTY_THREAD_CORE: ThreadRuntimeCore = {
|
|
140
137
|
feedback: false,
|
141
138
|
},
|
142
139
|
|
143
|
-
isDisabled:
|
140
|
+
isDisabled: false,
|
144
141
|
isLoading: false,
|
145
142
|
|
146
143
|
messages: [],
|