@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,6 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
|
-
import {
|
4
|
-
useMessageRuntime,
|
5
|
-
useMessageUtilsStore,
|
6
|
-
} from "../../context/react/MessageContext";
|
7
|
-
import { useThreadRuntime } from "../../context/react/ThreadContext";
|
8
|
-
import { useCombinedStore } from "../../utils/combined/useCombinedStore";
|
3
|
+
import { useAssistantState } from "../../context";
|
9
4
|
|
10
5
|
export enum HideAndFloatStatus {
|
11
6
|
Hidden = "hidden",
|
@@ -24,32 +19,25 @@ export const useActionBarFloatStatus = ({
|
|
24
19
|
autohide,
|
25
20
|
autohideFloat,
|
26
21
|
}: UseActionBarFloatStatusProps) => {
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
(autohideFloat === "single-branch" && m.branchCount <= 1)
|
49
|
-
)
|
50
|
-
return HideAndFloatStatus.Floating;
|
51
|
-
|
52
|
-
return HideAndFloatStatus.Normal;
|
53
|
-
},
|
54
|
-
);
|
22
|
+
return useAssistantState(({ thread, message }) => {
|
23
|
+
if (hideWhenRunning && thread.isRunning) return HideAndFloatStatus.Hidden;
|
24
|
+
|
25
|
+
const autohideEnabled =
|
26
|
+
autohide === "always" || (autohide === "not-last" && !message.isLast);
|
27
|
+
|
28
|
+
// normal status
|
29
|
+
if (!autohideEnabled) return HideAndFloatStatus.Normal;
|
30
|
+
|
31
|
+
// hidden status
|
32
|
+
if (!message.isHovering) return HideAndFloatStatus.Hidden;
|
33
|
+
|
34
|
+
// floating status
|
35
|
+
if (
|
36
|
+
autohideFloat === "always" ||
|
37
|
+
(autohideFloat === "single-branch" && message.branchCount <= 1)
|
38
|
+
)
|
39
|
+
return HideAndFloatStatus.Floating;
|
40
|
+
|
41
|
+
return HideAndFloatStatus.Normal;
|
42
|
+
});
|
55
43
|
};
|
@@ -3,7 +3,7 @@
|
|
3
3
|
import { FC, useEffect, useState } from "react";
|
4
4
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
5
5
|
import { ScopedProps, usePopoverScope } from "./scope";
|
6
|
-
import {
|
6
|
+
import { useAssistantApi } from "../../context";
|
7
7
|
|
8
8
|
export namespace AssistantModalPrimitiveRoot {
|
9
9
|
export type Props = PopoverPrimitive.PopoverProps & {
|
@@ -21,14 +21,14 @@ const useAssistantModalOpenState = ({
|
|
21
21
|
const state = useState(defaultOpen);
|
22
22
|
|
23
23
|
const [, setOpen] = state;
|
24
|
-
const
|
24
|
+
const api = useAssistantApi();
|
25
25
|
useEffect(() => {
|
26
26
|
if (!unstable_openOnRunStart) return undefined;
|
27
27
|
|
28
|
-
return
|
28
|
+
return api.on("thread.run-start", () => {
|
29
29
|
setOpen(true);
|
30
30
|
});
|
31
|
-
}, [unstable_openOnRunStart, setOpen,
|
31
|
+
}, [unstable_openOnRunStart, setOpen, api]);
|
32
32
|
|
33
33
|
return state;
|
34
34
|
};
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import type { FC } from "react";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
|
6
6
|
export namespace AttachmentPrimitiveName {
|
7
7
|
export type Props = Record<string, never>;
|
@@ -10,7 +10,7 @@ export namespace AttachmentPrimitiveName {
|
|
10
10
|
export const AttachmentPrimitiveName: FC<
|
11
11
|
AttachmentPrimitiveName.Props
|
12
12
|
> = () => {
|
13
|
-
const name =
|
13
|
+
const name = useAssistantState(({ attachment }) => attachment.name);
|
14
14
|
return <>{name}</>;
|
15
15
|
};
|
16
16
|
|
@@ -6,14 +6,14 @@ import {
|
|
6
6
|
createActionButton,
|
7
7
|
} from "../../utils/createActionButton";
|
8
8
|
import { useCallback } from "react";
|
9
|
-
import {
|
9
|
+
import { useAssistantApi } from "../../context";
|
10
10
|
|
11
11
|
const useAttachmentRemove = () => {
|
12
|
-
const
|
12
|
+
const api = useAssistantApi();
|
13
13
|
|
14
14
|
const handleRemoveAttachment = useCallback(() => {
|
15
|
-
|
16
|
-
}, [
|
15
|
+
api.attachment().remove();
|
16
|
+
}, [api]);
|
17
17
|
|
18
18
|
return handleRemoveAttachment;
|
19
19
|
};
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { ComponentPropsWithoutRef, forwardRef, type ComponentRef } from "react";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
import { Primitive } from "@radix-ui/react-primitive";
|
6
6
|
|
7
7
|
type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
|
@@ -15,7 +15,10 @@ export const AttachmentPrimitiveThumb = forwardRef<
|
|
15
15
|
AttachmentPrimitiveThumb.Element,
|
16
16
|
AttachmentPrimitiveThumb.Props
|
17
17
|
>((props, ref) => {
|
18
|
-
const ext =
|
18
|
+
const ext = useAssistantState(({ attachment }) => {
|
19
|
+
const parts = attachment.name.split(".");
|
20
|
+
return parts.length > 1 ? parts.pop()! : "";
|
21
|
+
});
|
19
22
|
return (
|
20
23
|
<Primitive.div {...props} ref={ref}>
|
21
24
|
.{ext}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import type { FC } from "react";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
|
6
6
|
const useBranchPickerCount = () => {
|
7
|
-
const branchCount =
|
7
|
+
const branchCount = useAssistantState(({ message }) => message.branchCount);
|
8
8
|
return branchCount;
|
9
9
|
};
|
10
10
|
|
@@ -6,18 +6,17 @@ import {
|
|
6
6
|
createActionButton,
|
7
7
|
} from "../../utils/createActionButton";
|
8
8
|
import { useCallback } from "react";
|
9
|
-
import {
|
10
|
-
useMessage,
|
11
|
-
useMessageRuntime,
|
12
|
-
} from "../../context/react/MessageContext";
|
9
|
+
import { useAssistantState, useAssistantApi } from "../../context";
|
13
10
|
|
14
11
|
const useBranchPickerNext = () => {
|
15
|
-
const
|
16
|
-
const disabled =
|
12
|
+
const api = useAssistantApi();
|
13
|
+
const disabled = useAssistantState(
|
14
|
+
({ message }) => message.branchNumber >= message.branchCount,
|
15
|
+
);
|
17
16
|
|
18
17
|
const callback = useCallback(() => {
|
19
|
-
|
20
|
-
}, [
|
18
|
+
api.message().switchToBranch({ position: "next" });
|
19
|
+
}, [api]);
|
21
20
|
|
22
21
|
if (disabled) return null;
|
23
22
|
return callback;
|
@@ -1,10 +1,10 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import type { FC } from "react";
|
4
|
-
import {
|
4
|
+
import { useAssistantState } from "../../context";
|
5
5
|
|
6
6
|
const useBranchPickerNumber = () => {
|
7
|
-
const branchNumber =
|
7
|
+
const branchNumber = useAssistantState(({ message }) => message.branchNumber);
|
8
8
|
return branchNumber;
|
9
9
|
};
|
10
10
|
|
@@ -6,10 +6,7 @@ import {
|
|
6
6
|
createActionButton,
|
7
7
|
} from "../../utils/createActionButton";
|
8
8
|
import { useCallback } from "react";
|
9
|
-
import {
|
10
|
-
useMessage,
|
11
|
-
useMessageRuntime,
|
12
|
-
} from "../../context/react/MessageContext";
|
9
|
+
import { useAssistantState, useAssistantApi } from "../../context";
|
13
10
|
|
14
11
|
/**
|
15
12
|
* Hook that provides navigation to the previous branch functionality.
|
@@ -33,12 +30,14 @@ import {
|
|
33
30
|
* ```
|
34
31
|
*/
|
35
32
|
const useBranchPickerPrevious = () => {
|
36
|
-
const
|
37
|
-
const disabled =
|
33
|
+
const api = useAssistantApi();
|
34
|
+
const disabled = useAssistantState(
|
35
|
+
({ message }) => message.branchNumber <= 1,
|
36
|
+
);
|
38
37
|
|
39
38
|
const callback = useCallback(() => {
|
40
|
-
|
41
|
-
}, [
|
39
|
+
api.message().switchToBranch({ position: "previous" });
|
40
|
+
}, [api]);
|
42
41
|
|
43
42
|
if (disabled) return null;
|
44
43
|
return callback;
|
@@ -6,7 +6,7 @@ import {
|
|
6
6
|
createActionButton,
|
7
7
|
} from "../../utils/createActionButton";
|
8
8
|
import { useCallback } from "react";
|
9
|
-
import {
|
9
|
+
import { useAssistantState, useAssistantApi } from "../../context";
|
10
10
|
|
11
11
|
const useComposerAddAttachment = ({
|
12
12
|
multiple = true,
|
@@ -14,16 +14,16 @@ const useComposerAddAttachment = ({
|
|
14
14
|
/** allow selecting multiple files */
|
15
15
|
multiple?: boolean | undefined;
|
16
16
|
} = {}) => {
|
17
|
-
const disabled =
|
17
|
+
const disabled = useAssistantState(({ composer }) => !composer.isEditing);
|
18
|
+
const api = useAssistantApi();
|
18
19
|
|
19
|
-
const composerRuntime = useComposerRuntime();
|
20
20
|
const callback = useCallback(() => {
|
21
21
|
const input = document.createElement("input");
|
22
22
|
input.type = "file";
|
23
23
|
input.multiple = multiple;
|
24
24
|
input.hidden = true;
|
25
25
|
|
26
|
-
const attachmentAccept =
|
26
|
+
const attachmentAccept = api.composer().getState().attachmentAccept;
|
27
27
|
if (attachmentAccept !== "*") {
|
28
28
|
input.accept = attachmentAccept;
|
29
29
|
}
|
@@ -34,7 +34,7 @@ const useComposerAddAttachment = ({
|
|
34
34
|
const fileList = (e.target as HTMLInputElement).files;
|
35
35
|
if (!fileList) return;
|
36
36
|
for (const file of fileList) {
|
37
|
-
|
37
|
+
api.composer().addAttachment(file);
|
38
38
|
}
|
39
39
|
|
40
40
|
document.body.removeChild(input);
|
@@ -47,7 +47,7 @@ const useComposerAddAttachment = ({
|
|
47
47
|
};
|
48
48
|
|
49
49
|
input.click();
|
50
|
-
}, [
|
50
|
+
}, [api, multiple]);
|
51
51
|
|
52
52
|
if (disabled) return null;
|
53
53
|
return callback;
|
@@ -2,7 +2,7 @@ import { forwardRef, useCallback, useState } from "react";
|
|
2
2
|
|
3
3
|
import { Slot } from "@radix-ui/react-slot";
|
4
4
|
import React from "react";
|
5
|
-
import {
|
5
|
+
import { useAssistantApi } from "../../context";
|
6
6
|
|
7
7
|
export namespace ComposerAttachmentDropzonePrimitive {
|
8
8
|
export type Element = HTMLDivElement;
|
@@ -17,7 +17,7 @@ export const ComposerAttachmentDropzone = forwardRef<
|
|
17
17
|
ComposerAttachmentDropzonePrimitive.Props
|
18
18
|
>(({ disabled, asChild = false, children, ...rest }, ref) => {
|
19
19
|
const [isDragging, setIsDragging] = useState(false);
|
20
|
-
const
|
20
|
+
const api = useAssistantApi();
|
21
21
|
|
22
22
|
const handleDrag = useCallback(
|
23
23
|
(e: React.DragEvent) => {
|
@@ -37,13 +37,13 @@ export const ComposerAttachmentDropzone = forwardRef<
|
|
37
37
|
setIsDragging(false);
|
38
38
|
for (const file of e.dataTransfer.files) {
|
39
39
|
try {
|
40
|
-
await
|
40
|
+
await api.composer().addAttachment(file);
|
41
41
|
} catch (error) {
|
42
42
|
console.error("Failed to add attachment:", error);
|
43
43
|
}
|
44
44
|
}
|
45
45
|
},
|
46
|
-
[disabled,
|
46
|
+
[disabled, api],
|
47
47
|
);
|
48
48
|
|
49
49
|
const dragProps = {
|
@@ -2,9 +2,10 @@
|
|
2
2
|
|
3
3
|
import { ComponentType, type FC, memo, useMemo } from "react";
|
4
4
|
import { Attachment } from "../../types";
|
5
|
-
import {
|
6
|
-
|
7
|
-
|
5
|
+
import {
|
6
|
+
useAssistantState,
|
7
|
+
ComposerAttachmentByIndexProvider,
|
8
|
+
} from "../../context";
|
8
9
|
|
9
10
|
export namespace ComposerPrimitiveAttachments {
|
10
11
|
export type Props = {
|
@@ -40,10 +41,10 @@ const getComponent = (
|
|
40
41
|
const AttachmentComponent: FC<{
|
41
42
|
components: ComposerPrimitiveAttachments.Props["components"];
|
42
43
|
}> = ({ components }) => {
|
43
|
-
const
|
44
|
-
|
45
|
-
);
|
44
|
+
const attachment = useAssistantState(({ attachment }) => attachment);
|
45
|
+
if (!attachment) return null;
|
46
46
|
|
47
|
+
const Component = getComponent(components, attachment);
|
47
48
|
if (!Component) return null;
|
48
49
|
return <Component />;
|
49
50
|
};
|
@@ -75,16 +76,10 @@ export namespace ComposerPrimitiveAttachmentByIndex {
|
|
75
76
|
export const ComposerPrimitiveAttachmentByIndex: FC<ComposerPrimitiveAttachmentByIndex.Props> =
|
76
77
|
memo(
|
77
78
|
({ index, components }) => {
|
78
|
-
const composerRuntime = useComposerRuntime();
|
79
|
-
const runtime = useMemo(
|
80
|
-
() => composerRuntime.getAttachmentByIndex(index),
|
81
|
-
[composerRuntime, index],
|
82
|
-
);
|
83
|
-
|
84
79
|
return (
|
85
|
-
<
|
80
|
+
<ComposerAttachmentByIndexProvider index={index}>
|
86
81
|
<AttachmentComponent components={components} />
|
87
|
-
</
|
82
|
+
</ComposerAttachmentByIndexProvider>
|
88
83
|
);
|
89
84
|
},
|
90
85
|
(prev, next) =>
|
@@ -101,7 +96,9 @@ ComposerPrimitiveAttachmentByIndex.displayName =
|
|
101
96
|
export const ComposerPrimitiveAttachments: FC<
|
102
97
|
ComposerPrimitiveAttachments.Props
|
103
98
|
> = ({ components }) => {
|
104
|
-
const attachmentsCount =
|
99
|
+
const attachmentsCount = useAssistantState(
|
100
|
+
(s) => s.composer.attachments.length,
|
101
|
+
);
|
105
102
|
|
106
103
|
const attachmentElements = useMemo(() => {
|
107
104
|
return Array.from({ length: attachmentsCount }, (_, index) => (
|
@@ -6,15 +6,15 @@ import {
|
|
6
6
|
createActionButton,
|
7
7
|
} from "../../utils/createActionButton";
|
8
8
|
import { useCallback } from "react";
|
9
|
-
import {
|
9
|
+
import { useAssistantState, useAssistantApi } from "../../context";
|
10
10
|
|
11
11
|
const useComposerCancel = () => {
|
12
|
-
const
|
13
|
-
const disabled =
|
12
|
+
const api = useAssistantApi();
|
13
|
+
const disabled = useAssistantState(({ composer }) => !composer.canCancel);
|
14
14
|
|
15
15
|
const callback = useCallback(() => {
|
16
|
-
|
17
|
-
}, [
|
16
|
+
api.composer().cancel();
|
17
|
+
}, [api]);
|
18
18
|
|
19
19
|
if (disabled) return null;
|
20
20
|
return callback;
|
@@ -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 ComposerIfFilters = {
|
@@ -11,7 +11,7 @@ type ComposerIfFilters = {
|
|
11
11
|
export type UseComposerIfProps = RequireAtLeastOne<ComposerIfFilters>;
|
12
12
|
|
13
13
|
const useComposerIf = (props: UseComposerIfProps) => {
|
14
|
-
return
|
14
|
+
return useAssistantState(({ composer }) => {
|
15
15
|
if (props.editing === true && !composer.isEditing) return false;
|
16
16
|
if (props.editing === false && composer.isEditing) return false;
|
17
17
|
|
@@ -14,14 +14,9 @@ import {
|
|
14
14
|
import TextareaAutosize, {
|
15
15
|
type TextareaAutosizeProps,
|
16
16
|
} from "react-textarea-autosize";
|
17
|
-
import {
|
18
|
-
useComposer,
|
19
|
-
useComposerRuntime,
|
20
|
-
} from "../../context/react/ComposerContext";
|
21
|
-
import { useThread, useThreadRuntime } from "../../context/react/ThreadContext";
|
22
17
|
import { useEscapeKeydown } from "@radix-ui/react-use-escape-keydown";
|
23
18
|
import { useOnScrollToBottom } from "../../utils/hooks/useOnScrollToBottom";
|
24
|
-
import {
|
19
|
+
import { useAssistantState, useAssistantApi } from "../../context";
|
25
20
|
|
26
21
|
export namespace ComposerPrimitiveInput {
|
27
22
|
export type Element = HTMLTextAreaElement;
|
@@ -102,26 +97,26 @@ export const ComposerPrimitiveInput = forwardRef<
|
|
102
97
|
},
|
103
98
|
forwardedRef,
|
104
99
|
) => {
|
105
|
-
const
|
106
|
-
const threadRuntime = useThreadRuntime();
|
107
|
-
const composerRuntime = useComposerRuntime();
|
100
|
+
const api = useAssistantApi();
|
108
101
|
|
109
|
-
const value =
|
110
|
-
if (!
|
111
|
-
return
|
102
|
+
const value = useAssistantState(({ composer }) => {
|
103
|
+
if (!composer.isEditing) return "";
|
104
|
+
return composer.text;
|
112
105
|
});
|
113
106
|
|
114
107
|
const Component = asChild ? Slot : TextareaAutosize;
|
115
108
|
|
116
|
-
const isDisabled =
|
109
|
+
const isDisabled =
|
110
|
+
useAssistantState(({ thread }) => thread.isDisabled) || disabledProp;
|
117
111
|
const textareaRef = useRef<HTMLTextAreaElement>(null);
|
118
112
|
const ref = useComposedRefs(forwardedRef, textareaRef);
|
119
113
|
|
120
114
|
useEscapeKeydown((e) => {
|
121
115
|
if (!cancelOnEscape) return;
|
122
116
|
|
123
|
-
|
124
|
-
|
117
|
+
const composer = api.composer();
|
118
|
+
if (composer.getState().canCancel) {
|
119
|
+
composer.cancel();
|
125
120
|
e.preventDefault();
|
126
121
|
}
|
127
122
|
});
|
@@ -133,7 +128,7 @@ export const ComposerPrimitiveInput = forwardRef<
|
|
133
128
|
if (e.nativeEvent.isComposing) return;
|
134
129
|
|
135
130
|
if (e.key === "Enter" && e.shiftKey === false) {
|
136
|
-
const
|
131
|
+
const isRunning = api.thread().getState().isRunning;
|
137
132
|
|
138
133
|
if (!isRunning) {
|
139
134
|
e.preventDefault();
|
@@ -145,14 +140,14 @@ export const ComposerPrimitiveInput = forwardRef<
|
|
145
140
|
|
146
141
|
const handlePaste = async (e: ClipboardEvent<HTMLTextAreaElement>) => {
|
147
142
|
if (!addAttachmentOnPaste) return;
|
148
|
-
const threadCapabilities =
|
143
|
+
const threadCapabilities = api.thread().getState().capabilities;
|
149
144
|
const files = Array.from(e.clipboardData?.files || []);
|
150
145
|
|
151
146
|
if (threadCapabilities.attachments && files.length > 0) {
|
152
147
|
try {
|
153
148
|
e.preventDefault();
|
154
149
|
await Promise.all(
|
155
|
-
files.map((file) =>
|
150
|
+
files.map((file) => api.composer().addAttachment(file)),
|
156
151
|
);
|
157
152
|
} catch (error) {
|
158
153
|
console.error("Error adding attachment:", error);
|
@@ -172,29 +167,33 @@ export const ComposerPrimitiveInput = forwardRef<
|
|
172
167
|
useEffect(() => focus(), [focus]);
|
173
168
|
|
174
169
|
useOnScrollToBottom(() => {
|
175
|
-
if (
|
170
|
+
if (
|
171
|
+
api.composer().getState().type === "thread" &&
|
172
|
+
unstable_focusOnScrollToBottom
|
173
|
+
) {
|
176
174
|
focus();
|
177
175
|
}
|
178
176
|
});
|
179
177
|
|
180
178
|
useEffect(() => {
|
181
|
-
if (
|
179
|
+
if (
|
180
|
+
api.composer().getState().type !== "thread" ||
|
181
|
+
!unstable_focusOnRunStart
|
182
|
+
)
|
182
183
|
return undefined;
|
183
184
|
|
184
|
-
return
|
185
|
-
}, [unstable_focusOnRunStart, focus,
|
185
|
+
return api.on("thread.run-start", focus);
|
186
|
+
}, [unstable_focusOnRunStart, focus, api]);
|
186
187
|
|
187
188
|
useEffect(() => {
|
188
|
-
if (
|
189
|
+
if (
|
190
|
+
api.composer().getState().type !== "thread" ||
|
191
|
+
!unstable_focusOnThreadSwitched
|
192
|
+
)
|
189
193
|
return undefined;
|
190
194
|
|
191
|
-
return
|
192
|
-
}, [
|
193
|
-
unstable_focusOnThreadSwitched,
|
194
|
-
focus,
|
195
|
-
composerRuntime,
|
196
|
-
threadListItemRuntime,
|
197
|
-
]);
|
195
|
+
return api.on("thread-list-item.switched-to", focus);
|
196
|
+
}, [unstable_focusOnThreadSwitched, focus, api]);
|
198
197
|
|
199
198
|
return (
|
200
199
|
<Component
|
@@ -204,8 +203,9 @@ export const ComposerPrimitiveInput = forwardRef<
|
|
204
203
|
ref={ref as React.ForwardedRef<HTMLTextAreaElement>}
|
205
204
|
disabled={isDisabled}
|
206
205
|
onChange={composeEventHandlers(onChange, (e) => {
|
207
|
-
if (!
|
208
|
-
|
206
|
+
if (!api.composer().getState().isEditing) return;
|
207
|
+
api.composer().setText(e.target.value);
|
208
|
+
api.flushSync();
|
209
209
|
})}
|
210
210
|
onKeyDown={composeEventHandlers(onKeyDown, handleKeyPress)}
|
211
211
|
onPaste={composeEventHandlers(onPaste, handlePaste)}
|
@@ -6,22 +6,18 @@ import {
|
|
6
6
|
createActionButton,
|
7
7
|
} from "../../utils/createActionButton";
|
8
8
|
import { useCallback } from "react";
|
9
|
-
import {
|
10
|
-
import { useThreadRuntime } from "../../context/react/ThreadContext";
|
11
|
-
import { useComposerRuntime } from "../../context";
|
9
|
+
import { useAssistantState, useAssistantApi } from "../../context";
|
12
10
|
|
13
11
|
export const useComposerSend = () => {
|
14
|
-
const
|
15
|
-
const threadRuntime = useThreadRuntime();
|
12
|
+
const api = useAssistantApi();
|
16
13
|
|
17
|
-
const disabled =
|
18
|
-
|
19
|
-
(t, c) => t.isRunning || !c.isEditing || c.isEmpty,
|
14
|
+
const disabled = useAssistantState(
|
15
|
+
(s) => s.thread.isRunning || !s.composer.isEditing || s.composer.isEmpty,
|
20
16
|
);
|
21
17
|
|
22
18
|
const callback = useCallback(() => {
|
23
|
-
|
24
|
-
}, [
|
19
|
+
api.composer().send();
|
20
|
+
}, [api]);
|
25
21
|
|
26
22
|
if (disabled) return null;
|
27
23
|
return callback;
|
@@ -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
|
export namespace ErrorPrimitiveMessage {
|
8
8
|
export type Element = ComponentRef<typeof Primitive.span>;
|
@@ -13,9 +13,10 @@ export const ErrorPrimitiveMessage = forwardRef<
|
|
13
13
|
ErrorPrimitiveMessage.Element,
|
14
14
|
ErrorPrimitiveMessage.Props
|
15
15
|
>(({ children, ...props }, forwardRef) => {
|
16
|
-
const error =
|
17
|
-
return
|
18
|
-
|
16
|
+
const error = useAssistantState(({ message }) => {
|
17
|
+
return message.status?.type === "incomplete" &&
|
18
|
+
message.status.reason === "error"
|
19
|
+
? message.status.error
|
19
20
|
: undefined;
|
20
21
|
});
|
21
22
|
|
@@ -1,9 +1,10 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
3
|
import { ComponentType, type FC, memo, useMemo } from "react";
|
4
|
-
import {
|
5
|
-
|
6
|
-
|
4
|
+
import {
|
5
|
+
useAssistantState,
|
6
|
+
MessageAttachmentByIndexProvider,
|
7
|
+
} from "../../context";
|
7
8
|
import { CompleteAttachment } from "../../types";
|
8
9
|
|
9
10
|
export namespace MessagePrimitiveAttachments {
|
@@ -40,8 +41,10 @@ const getComponent = (
|
|
40
41
|
const AttachmentComponent: FC<{
|
41
42
|
components: MessagePrimitiveAttachments.Props["components"];
|
42
43
|
}> = ({ components }) => {
|
43
|
-
const
|
44
|
+
const attachment = useAssistantState(({ attachment }) => attachment);
|
45
|
+
if (!attachment) return null;
|
44
46
|
|
47
|
+
const Component = getComponent(components, attachment as CompleteAttachment);
|
45
48
|
if (!Component) return null;
|
46
49
|
return <Component />;
|
47
50
|
};
|
@@ -73,16 +76,10 @@ export namespace MessagePrimitiveAttachmentByIndex {
|
|
73
76
|
export const MessagePrimitiveAttachmentByIndex: FC<MessagePrimitiveAttachmentByIndex.Props> =
|
74
77
|
memo(
|
75
78
|
({ index, components }) => {
|
76
|
-
const messageRuntime = useMessageRuntime();
|
77
|
-
const runtime = useMemo(
|
78
|
-
() => messageRuntime.getAttachmentByIndex(index),
|
79
|
-
[messageRuntime, index],
|
80
|
-
);
|
81
|
-
|
82
79
|
return (
|
83
|
-
<
|
80
|
+
<MessageAttachmentByIndexProvider index={index}>
|
84
81
|
<AttachmentComponent components={components} />
|
85
|
-
</
|
82
|
+
</MessageAttachmentByIndexProvider>
|
86
83
|
);
|
87
84
|
},
|
88
85
|
(prev, next) =>
|
@@ -99,7 +96,7 @@ MessagePrimitiveAttachmentByIndex.displayName =
|
|
99
96
|
export const MessagePrimitiveAttachments: FC<
|
100
97
|
MessagePrimitiveAttachments.Props
|
101
98
|
> = ({ components }) => {
|
102
|
-
const attachmentsCount =
|
99
|
+
const attachmentsCount = useAssistantState(({ message }) => {
|
103
100
|
if (message.role !== "user") return 0;
|
104
101
|
return message.attachments.length;
|
105
102
|
});
|