@assistant-ui/react 0.10.23 → 0.10.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/{ContentPartRuntime.d.ts → MessagePartRuntime.d.ts} +14 -14
- package/dist/api/{ContentPartRuntime.d.ts.map → MessagePartRuntime.d.ts.map} +1 -1
- package/dist/api/{ContentPartRuntime.js → MessagePartRuntime.js} +6 -6
- package/dist/api/{ContentPartRuntime.js.map → MessagePartRuntime.js.map} +1 -1
- package/dist/api/MessageRuntime.d.ts +8 -8
- package/dist/api/MessageRuntime.js +17 -17
- package/dist/api/MessageRuntime.js.map +1 -1
- package/dist/api/RuntimePathTypes.d.ts +2 -2
- package/dist/api/ThreadListRuntime.d.ts +3 -0
- package/dist/api/ThreadListRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListRuntime.js +5 -1
- package/dist/api/ThreadListRuntime.js.map +1 -1
- package/dist/api/ThreadRuntime.d.ts +5 -0
- package/dist/api/ThreadRuntime.d.ts.map +1 -1
- package/dist/api/ThreadRuntime.js +1 -0
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/api/index.d.ts +2 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts +1 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/cloud/auiV0.d.ts +3 -3
- package/dist/cloud/auiV0.d.ts.map +1 -1
- package/dist/cloud/auiV0.js +1 -1
- package/dist/cloud/auiV0.js.map +1 -1
- package/dist/cloud/index.d.ts +1 -1
- package/dist/cloud/index.d.ts.map +1 -1
- package/dist/cloud/index.js +1 -1
- package/dist/cloud/index.js.map +1 -1
- package/dist/cloud/useCloudThreadListRuntime.d.ts +1 -1
- package/dist/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
- package/dist/cloud/useCloudThreadListRuntime.js.map +1 -1
- package/dist/context/providers/MessagePartRuntimeProvider.d.ts +9 -0
- package/dist/context/providers/{ContentPartRuntimeProvider.d.ts.map → MessagePartRuntimeProvider.d.ts.map} +1 -1
- package/dist/context/providers/{ContentPartRuntimeProvider.js → MessagePartRuntimeProvider.js} +9 -9
- package/dist/context/providers/MessagePartRuntimeProvider.js.map +1 -0
- package/dist/context/providers/{TextContentPartProvider.d.ts → TextMessagePartProvider.d.ts} +3 -3
- package/dist/context/providers/{TextContentPartProvider.d.ts.map → TextMessagePartProvider.d.ts.map} +1 -1
- package/dist/context/providers/{TextContentPartProvider.js → TextMessagePartProvider.js} +19 -19
- package/dist/context/providers/{TextContentPartProvider.js.map → TextMessagePartProvider.js.map} +1 -1
- package/dist/context/providers/index.d.ts +2 -1
- package/dist/context/providers/index.d.ts.map +1 -1
- package/dist/context/providers/index.js +4 -2
- package/dist/context/providers/index.js.map +1 -1
- package/dist/context/react/AssistantContext.d.ts +23 -0
- package/dist/context/react/AssistantContext.d.ts.map +1 -1
- package/dist/context/react/AssistantContext.js.map +1 -1
- package/dist/context/react/AttachmentContext.d.ts +72 -72
- package/dist/context/react/ComposerContext.d.ts +64 -0
- package/dist/context/react/ComposerContext.d.ts.map +1 -1
- package/dist/context/react/ComposerContext.js.map +1 -1
- package/dist/context/react/MessageContext.d.ts +56 -0
- package/dist/context/react/MessageContext.d.ts.map +1 -1
- package/dist/context/react/MessageContext.js.map +1 -1
- package/dist/context/react/MessagePartContext.d.ts +41 -0
- package/dist/context/react/{ContentPartContext.d.ts.map → MessagePartContext.d.ts.map} +1 -1
- package/dist/context/react/MessagePartContext.js +25 -0
- package/dist/context/react/MessagePartContext.js.map +1 -0
- package/dist/context/react/ThreadContext.d.ts +42 -0
- package/dist/context/react/ThreadContext.d.ts.map +1 -1
- package/dist/context/react/ThreadContext.js.map +1 -1
- package/dist/context/react/index.d.ts +1 -1
- package/dist/context/react/index.js +3 -3
- package/dist/context/react/index.js.map +1 -1
- package/dist/context/stores/AssistantToolUIs.d.ts +3 -3
- package/dist/context/stores/AssistantToolUIs.js.map +1 -1
- package/dist/model-context/useAssistantTool.d.ts +2 -2
- package/dist/model-context/useAssistantTool.js.map +1 -1
- package/dist/model-context/useAssistantToolUI.d.ts +2 -2
- package/dist/model-context/useAssistantToolUI.js.map +1 -1
- package/dist/model-context/useInlineRender.d.ts +2 -2
- package/dist/model-context/useInlineRender.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts +42 -0
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts +38 -0
- package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts +39 -0
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.d.ts +56 -0
- package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts +2 -0
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js +2 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.d.ts +18 -0
- package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts +17 -0
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts +17 -0
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +38 -0
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +27 -0
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.js +11 -8
- package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.d.ts +17 -0
- package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerCancel.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts +72 -0
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerRoot.d.ts +19 -0
- package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts +18 -0
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerSend.js.map +1 -1
- package/dist/primitives/index.d.ts +12 -6
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +23 -11
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
- package/dist/primitives/message/MessageAttachments.js +11 -8
- package/dist/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/primitives/message/MessageParts.d.ts +116 -0
- package/dist/primitives/message/MessageParts.d.ts.map +1 -0
- package/dist/primitives/message/MessageParts.js +208 -0
- package/dist/primitives/message/MessageParts.js.map +1 -0
- package/dist/primitives/message/MessageRoot.d.ts +22 -0
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/message/index.d.ts +2 -1
- package/dist/primitives/message/index.d.ts.map +1 -1
- package/dist/primitives/message/index.js +4 -2
- package/dist/primitives/message/index.js.map +1 -1
- package/dist/primitives/messagePart/MessagePartImage.d.ts +29 -0
- package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -0
- package/dist/primitives/messagePart/MessagePartImage.js +16 -0
- package/dist/primitives/messagePart/MessagePartImage.js.map +1 -0
- package/dist/primitives/messagePart/MessagePartInProgress.d.ts +6 -0
- package/dist/primitives/{contentPart/ContentPartInProgress.d.ts.map → messagePart/MessagePartInProgress.d.ts.map} +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.js +13 -0
- package/dist/primitives/messagePart/MessagePartInProgress.js.map +1 -0
- package/dist/primitives/messagePart/MessagePartText.d.ts +50 -0
- package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -0
- package/dist/primitives/messagePart/MessagePartText.js +18 -0
- package/dist/primitives/messagePart/MessagePartText.js.map +1 -0
- package/dist/primitives/messagePart/index.d.ts +4 -0
- package/dist/primitives/{contentPart → messagePart}/index.d.ts.map +1 -1
- package/dist/primitives/messagePart/index.js +10 -0
- package/dist/primitives/messagePart/index.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartFile.d.ts +5 -0
- package/dist/primitives/messagePart/useMessagePartFile.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartFile.js +18 -0
- package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartImage.d.ts +5 -0
- package/dist/primitives/messagePart/useMessagePartImage.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartImage.js +18 -0
- package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.d.ts +5 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.js +18 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartSource.d.ts +5 -0
- package/dist/primitives/messagePart/useMessagePartSource.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartSource.js +18 -0
- package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartText.d.ts +7 -0
- package/dist/primitives/messagePart/useMessagePartText.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartText.js +18 -0
- package/dist/primitives/messagePart/useMessagePartText.js.map +1 -0
- package/dist/primitives/thread/ThreadMessages.d.ts +44 -0
- package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js +5 -2
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/ThreadRoot.d.ts +19 -0
- package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadRoot.js.map +1 -1
- package/dist/primitives/thread/ThreadViewport.d.ts +24 -0
- package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadViewport.js.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.js +12 -9
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/runtimes/adapters/attachment/AttachmentAdapter.d.ts +54 -0
- package/dist/runtimes/adapters/attachment/AttachmentAdapter.d.ts.map +1 -1
- package/dist/runtimes/adapters/feedback/FeedbackAdapter.d.ts +33 -0
- package/dist/runtimes/adapters/feedback/FeedbackAdapter.d.ts.map +1 -1
- package/dist/runtimes/adapters/speech/SpeechAdapterTypes.d.ts +47 -0
- package/dist/runtimes/adapters/speech/SpeechAdapterTypes.d.ts.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +1 -0
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +1 -0
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts +1 -0
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +2 -0
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +1 -0
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +3 -0
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +1 -0
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +3 -0
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.d.ts +3 -3
- package/dist/runtimes/external-store/ThreadMessageLike.js +3 -3
- package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
- package/dist/runtimes/external-store/createMessageConverter.js +3 -3
- package/dist/runtimes/external-store/createMessageConverter.js.map +1 -1
- package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
- package/dist/runtimes/local/ChatModelAdapter.d.ts +4 -4
- package/dist/runtimes/local/LocalRuntimeOptions.d.ts +2 -2
- package/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +1 -0
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +3 -0
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +2 -0
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +12 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +1 -0
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +2 -0
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +3 -0
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +3 -0
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.js +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.js.map +1 -1
- package/dist/runtimes/utils/MessageRepository.js +1 -1
- package/dist/runtimes/utils/MessageRepository.js.map +1 -1
- package/dist/tests/setup.js +8 -8
- package/dist/tests/setup.js.map +1 -1
- package/dist/types/AssistantTypes.d.ts +15 -15
- package/dist/types/AttachmentTypes.d.ts +3 -3
- package/dist/types/MessagePartComponentTypes.d.ts +25 -0
- package/dist/types/{ContentPartComponentTypes.d.ts.map → MessagePartComponentTypes.d.ts.map} +1 -1
- package/dist/types/MessagePartComponentTypes.js +1 -0
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/getThreadMessageText.js.map +1 -1
- package/dist/utils/smooth/SmoothContext.js +3 -3
- package/dist/utils/smooth/SmoothContext.js.map +1 -1
- package/dist/utils/smooth/useSmooth.d.ts +3 -3
- package/dist/utils/smooth/useSmooth.js.map +1 -1
- package/dist/utils/useToolArgsFieldStatus.js +3 -3
- package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
- package/package.json +9 -8
- package/src/api/{ContentPartRuntime.ts → MessagePartRuntime.ts} +20 -20
- package/src/api/MessageRuntime.ts +32 -32
- package/src/api/RuntimePathTypes.ts +2 -2
- package/src/api/ThreadListRuntime.ts +8 -0
- package/src/api/ThreadRuntime.ts +6 -0
- package/src/api/index.ts +11 -3
- package/src/cloud/AssistantCloudThreadHistoryAdapter.tsx +1 -1
- package/src/cloud/auiV0.ts +4 -4
- package/src/cloud/index.ts +1 -1
- package/src/cloud/useCloudThreadListRuntime.tsx +1 -1
- package/src/context/providers/MessagePartRuntimeProvider.tsx +42 -0
- package/src/context/providers/{TextContentPartProvider.tsx → TextMessagePartProvider.tsx} +27 -27
- package/src/context/providers/index.ts +4 -1
- package/src/context/react/AssistantContext.ts +23 -0
- package/src/context/react/ComposerContext.ts +64 -0
- package/src/context/react/MessageContext.ts +56 -0
- package/src/context/react/MessagePartContext.ts +37 -0
- package/src/context/react/ThreadContext.ts +42 -0
- package/src/context/react/index.ts +1 -1
- package/src/context/stores/AssistantToolUIs.ts +4 -4
- package/src/model-context/useAssistantTool.tsx +2 -2
- package/src/model-context/useAssistantToolUI.tsx +2 -2
- package/src/model-context/useInlineRender.tsx +3 -3
- package/src/primitives/actionBar/ActionBarCopy.tsx +42 -0
- package/src/primitives/actionBar/ActionBarEdit.tsx +38 -0
- package/src/primitives/actionBar/ActionBarReload.tsx +39 -0
- package/src/primitives/actionBar/ActionBarRoot.tsx +38 -0
- package/src/primitives/assistantModal/AssistantModalContent.tsx +5 -1
- package/src/primitives/attachment/AttachmentRoot.tsx +18 -0
- package/src/primitives/branchPicker/BranchPickerCount.tsx +17 -0
- package/src/primitives/branchPicker/BranchPickerNext.tsx +17 -0
- package/src/primitives/branchPicker/BranchPickerPrevious.tsx +38 -0
- package/src/primitives/branchPicker/BranchPickerRoot.tsx +22 -0
- package/src/primitives/composer/ComposerAttachments.tsx +11 -7
- package/src/primitives/composer/ComposerCancel.tsx +17 -0
- package/src/primitives/composer/ComposerInput.tsx +44 -0
- package/src/primitives/composer/ComposerRoot.tsx +19 -0
- package/src/primitives/composer/ComposerSend.tsx +18 -0
- package/src/primitives/index.ts +14 -6
- package/src/primitives/message/MessageAttachments.tsx +11 -7
- package/src/primitives/message/MessageParts.tsx +423 -0
- package/src/primitives/message/MessageRoot.tsx +22 -0
- package/src/primitives/message/index.ts +2 -1
- package/src/primitives/messagePart/MessagePartImage.tsx +39 -0
- package/src/primitives/messagePart/MessagePartInProgress.tsx +19 -0
- package/src/primitives/messagePart/MessagePartText.tsx +62 -0
- package/src/primitives/messagePart/index.ts +3 -0
- package/src/primitives/messagePart/useMessagePartFile.tsx +18 -0
- package/src/primitives/messagePart/useMessagePartImage.tsx +18 -0
- package/src/primitives/messagePart/useMessagePartReasoning.tsx +18 -0
- package/src/primitives/messagePart/useMessagePartSource.tsx +18 -0
- package/src/primitives/messagePart/useMessagePartText.tsx +18 -0
- package/src/primitives/thread/ThreadMessages.tsx +52 -4
- package/src/primitives/thread/ThreadRoot.tsx +19 -0
- package/src/primitives/thread/ThreadViewport.tsx +19 -0
- package/src/primitives/threadList/ThreadListItems.tsx +12 -8
- package/src/runtimes/adapters/attachment/AttachmentAdapter.ts +56 -0
- package/src/runtimes/adapters/feedback/FeedbackAdapter.ts +33 -0
- package/src/runtimes/adapters/speech/SpeechAdapterTypes.ts +47 -0
- package/src/runtimes/core/BaseThreadRuntimeCore.tsx +1 -0
- package/src/runtimes/core/ThreadListRuntimeCore.tsx +1 -0
- package/src/runtimes/core/ThreadRuntimeCore.tsx +1 -0
- package/src/runtimes/external-store/ExternalStoreAdapter.tsx +2 -0
- package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +4 -0
- package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +3 -0
- package/src/runtimes/external-store/ThreadMessageLike.tsx +20 -20
- package/src/runtimes/external-store/createMessageConverter.tsx +3 -3
- package/src/runtimes/external-store/external-message-converter.tsx +2 -2
- package/src/runtimes/local/ChatModelAdapter.tsx +13 -13
- package/src/runtimes/local/LocalRuntimeOptions.tsx +1 -1
- package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +4 -0
- package/src/runtimes/local/LocalThreadRuntimeCore.tsx +30 -15
- package/src/runtimes/remote-thread-list/EMPTY_THREAD_CORE.tsx +1 -0
- package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +4 -0
- package/src/runtimes/remote-thread-list/adapter/cloud.tsx +1 -1
- package/src/runtimes/utils/MessageRepository.tsx +1 -1
- package/src/tests/MessageRepository.test.ts +6 -6
- package/src/types/AssistantTypes.ts +24 -24
- package/src/types/AttachmentTypes.ts +3 -3
- package/src/types/MessagePartComponentTypes.tsx +52 -0
- package/src/types/index.ts +69 -28
- package/src/utils/getThreadMessageText.tsx +2 -2
- package/src/utils/smooth/SmoothContext.tsx +7 -7
- package/src/utils/smooth/useSmooth.tsx +7 -7
- package/src/utils/useToolArgsFieldStatus.tsx +3 -3
- package/dist/cloud/AssistantCloud.d.ts +0 -15
- package/dist/cloud/AssistantCloud.d.ts.map +0 -1
- package/dist/cloud/AssistantCloud.js +0 -25
- package/dist/cloud/AssistantCloud.js.map +0 -1
- package/dist/cloud/AssistantCloudAPI.d.ts +0 -28
- package/dist/cloud/AssistantCloudAPI.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudAPI.js +0 -87
- package/dist/cloud/AssistantCloudAPI.js.map +0 -1
- package/dist/cloud/AssistantCloudAuthStrategy.d.ts +0 -30
- package/dist/cloud/AssistantCloudAuthStrategy.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudAuthStrategy.js +0 -139
- package/dist/cloud/AssistantCloudAuthStrategy.js.map +0 -1
- package/dist/cloud/AssistantCloudAuthTokens.d.ts +0 -11
- package/dist/cloud/AssistantCloudAuthTokens.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudAuthTokens.js +0 -13
- package/dist/cloud/AssistantCloudAuthTokens.js.map +0 -1
- package/dist/cloud/AssistantCloudFiles.d.ts +0 -27
- package/dist/cloud/AssistantCloudFiles.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudFiles.js +0 -25
- package/dist/cloud/AssistantCloudFiles.js.map +0 -1
- package/dist/cloud/AssistantCloudRuns.d.ts +0 -26
- package/dist/cloud/AssistantCloudRuns.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudRuns.js +0 -39
- package/dist/cloud/AssistantCloudRuns.js.map +0 -1
- package/dist/cloud/AssistantCloudThreadMessages.d.ts +0 -30
- package/dist/cloud/AssistantCloudThreadMessages.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudThreadMessages.js +0 -21
- package/dist/cloud/AssistantCloudThreadMessages.js.map +0 -1
- package/dist/cloud/AssistantCloudThreads.d.ts +0 -48
- package/dist/cloud/AssistantCloudThreads.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudThreads.js +0 -30
- package/dist/cloud/AssistantCloudThreads.js.map +0 -1
- package/dist/context/providers/ContentPartRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/ContentPartRuntimeProvider.js.map +0 -1
- package/dist/context/react/ContentPartContext.d.ts +0 -41
- package/dist/context/react/ContentPartContext.js +0 -25
- package/dist/context/react/ContentPartContext.js.map +0 -1
- package/dist/primitives/contentPart/ContentPartImage.d.ts +0 -10
- package/dist/primitives/contentPart/ContentPartImage.d.ts.map +0 -1
- package/dist/primitives/contentPart/ContentPartImage.js +0 -16
- package/dist/primitives/contentPart/ContentPartImage.js.map +0 -1
- package/dist/primitives/contentPart/ContentPartInProgress.d.ts +0 -6
- package/dist/primitives/contentPart/ContentPartInProgress.js +0 -13
- package/dist/primitives/contentPart/ContentPartInProgress.js.map +0 -1
- package/dist/primitives/contentPart/ContentPartText.d.ts +0 -16
- package/dist/primitives/contentPart/ContentPartText.d.ts.map +0 -1
- package/dist/primitives/contentPart/ContentPartText.js +0 -18
- package/dist/primitives/contentPart/ContentPartText.js.map +0 -1
- package/dist/primitives/contentPart/index.d.ts +0 -4
- package/dist/primitives/contentPart/index.js +0 -10
- package/dist/primitives/contentPart/index.js.map +0 -1
- package/dist/primitives/contentPart/useContentPartFile.d.ts +0 -5
- package/dist/primitives/contentPart/useContentPartFile.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartFile.js +0 -18
- package/dist/primitives/contentPart/useContentPartFile.js.map +0 -1
- package/dist/primitives/contentPart/useContentPartImage.d.ts +0 -5
- package/dist/primitives/contentPart/useContentPartImage.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartImage.js +0 -18
- package/dist/primitives/contentPart/useContentPartImage.js.map +0 -1
- package/dist/primitives/contentPart/useContentPartReasoning.d.ts +0 -5
- package/dist/primitives/contentPart/useContentPartReasoning.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartReasoning.js +0 -18
- package/dist/primitives/contentPart/useContentPartReasoning.js.map +0 -1
- package/dist/primitives/contentPart/useContentPartSource.d.ts +0 -5
- package/dist/primitives/contentPart/useContentPartSource.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartSource.js +0 -18
- package/dist/primitives/contentPart/useContentPartSource.js.map +0 -1
- package/dist/primitives/contentPart/useContentPartText.d.ts +0 -7
- package/dist/primitives/contentPart/useContentPartText.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartText.js +0 -18
- package/dist/primitives/contentPart/useContentPartText.js.map +0 -1
- package/dist/primitives/message/MessageContent.d.ts +0 -23
- package/dist/primitives/message/MessageContent.d.ts.map +0 -1
- package/dist/primitives/message/MessageContent.js +0 -138
- package/dist/primitives/message/MessageContent.js.map +0 -1
- package/dist/types/ContentPartComponentTypes.d.ts +0 -25
- package/dist/types/ContentPartComponentTypes.js +0 -1
- package/src/cloud/AssistantCloud.tsx +0 -22
- package/src/cloud/AssistantCloudAPI.tsx +0 -121
- package/src/cloud/AssistantCloudAuthStrategy.tsx +0 -193
- package/src/cloud/AssistantCloudAuthTokens.tsx +0 -13
- package/src/cloud/AssistantCloudFiles.tsx +0 -48
- package/src/cloud/AssistantCloudRuns.tsx +0 -45
- package/src/cloud/AssistantCloudThreadMessages.tsx +0 -48
- package/src/cloud/AssistantCloudThreads.tsx +0 -79
- package/src/context/providers/ContentPartRuntimeProvider.tsx +0 -42
- package/src/context/react/ContentPartContext.ts +0 -37
- package/src/primitives/contentPart/ContentPartImage.tsx +0 -20
- package/src/primitives/contentPart/ContentPartInProgress.tsx +0 -19
- package/src/primitives/contentPart/ContentPartText.tsx +0 -37
- package/src/primitives/contentPart/index.ts +0 -3
- package/src/primitives/contentPart/useContentPartFile.tsx +0 -18
- package/src/primitives/contentPart/useContentPartImage.tsx +0 -18
- package/src/primitives/contentPart/useContentPartReasoning.tsx +0 -18
- package/src/primitives/contentPart/useContentPartSource.tsx +0 -18
- package/src/primitives/contentPart/useContentPartText.tsx +0 -18
- package/src/primitives/message/MessageContent.tsx +0 -241
- package/src/tests/AssistantCloudFiles.test.ts +0 -564
- package/src/types/ContentPartComponentTypes.tsx +0 -52
- /package/dist/types/{ContentPartComponentTypes.js.map → MessagePartComponentTypes.js.map} +0 -0
@@ -33,6 +33,11 @@ export class LocalThreadRuntimeCore
|
|
33
33
|
|
34
34
|
public readonly isDisabled = false;
|
35
35
|
|
36
|
+
private _isLoading = false;
|
37
|
+
public get isLoading() {
|
38
|
+
return this._isLoading;
|
39
|
+
}
|
40
|
+
|
36
41
|
private _suggestions: readonly ThreadSuggestion[] = [];
|
37
42
|
private _suggestionsController: AbortController | null = null;
|
38
43
|
public get suggestions(): readonly ThreadSuggestion[] {
|
@@ -93,23 +98,33 @@ export class LocalThreadRuntimeCore
|
|
93
98
|
|
94
99
|
const promise = this.adapters.history?.load() ?? Promise.resolve(null);
|
95
100
|
|
96
|
-
this.
|
97
|
-
|
98
|
-
this.repository.import(repo);
|
99
|
-
this._notifySubscribers();
|
101
|
+
this._isLoading = true;
|
102
|
+
this._notifySubscribers();
|
100
103
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
resume,
|
104
|
+
this._loadPromise = promise
|
105
|
+
.then((repo) => {
|
106
|
+
if (!repo) return;
|
107
|
+
this.repository.import(repo);
|
108
|
+
this._notifySubscribers();
|
109
|
+
|
110
|
+
const resume = this.adapters.history?.resume?.bind(
|
111
|
+
this.adapters.history,
|
110
112
|
);
|
111
|
-
|
112
|
-
|
113
|
+
if (repo.unstable_resume && resume) {
|
114
|
+
this.startRun(
|
115
|
+
{
|
116
|
+
parentId: this.repository.headId,
|
117
|
+
sourceId: this.repository.headId,
|
118
|
+
runConfig: this._lastRunConfig,
|
119
|
+
},
|
120
|
+
resume,
|
121
|
+
);
|
122
|
+
}
|
123
|
+
})
|
124
|
+
.finally(() => {
|
125
|
+
this._isLoading = false;
|
126
|
+
this._notifySubscribers();
|
127
|
+
});
|
113
128
|
|
114
129
|
return this._loadPromise;
|
115
130
|
}
|
@@ -264,6 +264,10 @@ export class RemoteThreadListThreadListRuntimeCore
|
|
264
264
|
this.getLoadThreadsPromise(); // begin loading on initial bind
|
265
265
|
}
|
266
266
|
|
267
|
+
public get isLoading() {
|
268
|
+
return this._state.value.isLoading;
|
269
|
+
}
|
270
|
+
|
267
271
|
public get threadIds() {
|
268
272
|
return this._state.value.threadIds;
|
269
273
|
}
|
@@ -6,7 +6,7 @@ import {
|
|
6
6
|
useMemo,
|
7
7
|
useRef,
|
8
8
|
} from "react";
|
9
|
-
import { AssistantCloud } from "
|
9
|
+
import { AssistantCloud } from "assistant-cloud";
|
10
10
|
import { RemoteThreadListAdapter } from "../types";
|
11
11
|
import { useAssistantCloudThreadHistoryAdapter } from "../../../cloud/AssistantCloudThreadHistoryAdapter";
|
12
12
|
import { RuntimeAdapterProvider } from "../../adapters/RuntimeAdapterProvider";
|
@@ -330,7 +330,7 @@ export class MessageRepository {
|
|
330
330
|
|
331
331
|
if (!message)
|
332
332
|
throw new Error(
|
333
|
-
"MessageRepository(deleteMessage):
|
333
|
+
"MessageRepository(deleteMessage): Message not found. This is likely an internal bug in assistant-ui.",
|
334
334
|
);
|
335
335
|
|
336
336
|
const replacement =
|
@@ -3,7 +3,7 @@ import {
|
|
3
3
|
MessageRepository,
|
4
4
|
ExportedMessageRepository,
|
5
5
|
} from "../runtimes/utils/MessageRepository";
|
6
|
-
import type { ThreadMessage,
|
6
|
+
import type { ThreadMessage, TextMessagePart } from "../types/AssistantTypes";
|
7
7
|
import { ThreadMessageLike } from "../runtimes";
|
8
8
|
|
9
9
|
// Mock generateId and generateOptimisticId to make tests deterministic
|
@@ -501,13 +501,13 @@ describe("MessageRepository", () => {
|
|
501
501
|
role: "user" as const,
|
502
502
|
content: [
|
503
503
|
{ type: "text" as const, text: "Hello" },
|
504
|
-
] as
|
504
|
+
] as TextMessagePart[],
|
505
505
|
},
|
506
506
|
{
|
507
507
|
role: "assistant" as const,
|
508
508
|
content: [
|
509
509
|
{ type: "text" as const, text: "Hi there" },
|
510
|
-
] as
|
510
|
+
] as TextMessagePart[],
|
511
511
|
},
|
512
512
|
];
|
513
513
|
|
@@ -680,9 +680,9 @@ describe("MessageRepository", () => {
|
|
680
680
|
]);
|
681
681
|
|
682
682
|
// Verify content was updated
|
683
|
-
const
|
684
|
-
expect(
|
685
|
-
expect((
|
683
|
+
const MessagePart = messages[1]!.content[0];
|
684
|
+
expect(MessagePart.type).toBe("text");
|
685
|
+
expect((MessagePart as TextMessagePart).text).toBe("Updated content");
|
686
686
|
});
|
687
687
|
});
|
688
688
|
});
|
@@ -3,17 +3,17 @@ import { ReadonlyJSONObject, ReadonlyJSONValue } from "assistant-stream/utils";
|
|
3
3
|
|
4
4
|
export type MessageRole = ThreadMessage["role"];
|
5
5
|
|
6
|
-
export type
|
6
|
+
export type TextMessagePart = {
|
7
7
|
readonly type: "text";
|
8
8
|
readonly text: string;
|
9
9
|
};
|
10
10
|
|
11
|
-
export type
|
11
|
+
export type ReasoningMessagePart = {
|
12
12
|
readonly type: "reasoning";
|
13
13
|
readonly text: string;
|
14
14
|
};
|
15
15
|
|
16
|
-
export type
|
16
|
+
export type SourceMessagePart = {
|
17
17
|
readonly type: "source";
|
18
18
|
readonly sourceType: "url";
|
19
19
|
readonly id: string;
|
@@ -21,18 +21,18 @@ export type SourceContentPart = {
|
|
21
21
|
readonly title?: string;
|
22
22
|
};
|
23
23
|
|
24
|
-
export type
|
24
|
+
export type ImageMessagePart = {
|
25
25
|
readonly type: "image";
|
26
26
|
readonly image: string;
|
27
27
|
};
|
28
28
|
|
29
|
-
export type
|
29
|
+
export type FileMessagePart = {
|
30
30
|
readonly type: "file";
|
31
31
|
readonly data: string;
|
32
32
|
readonly mimeType: string;
|
33
33
|
};
|
34
34
|
|
35
|
-
export type
|
35
|
+
export type Unstable_AudioMessagePart = {
|
36
36
|
readonly type: "audio";
|
37
37
|
readonly audio: {
|
38
38
|
readonly data: string;
|
@@ -40,7 +40,7 @@ export type Unstable_AudioContentPart = {
|
|
40
40
|
};
|
41
41
|
};
|
42
42
|
|
43
|
-
export type
|
43
|
+
export type ToolCallMessagePart<
|
44
44
|
TArgs = ReadonlyJSONObject,
|
45
45
|
TResult = unknown,
|
46
46
|
> = {
|
@@ -54,18 +54,18 @@ export type ToolCallContentPart<
|
|
54
54
|
readonly artifact?: unknown;
|
55
55
|
};
|
56
56
|
|
57
|
-
export type
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
export type ThreadUserMessagePart =
|
58
|
+
| TextMessagePart
|
59
|
+
| ImageMessagePart
|
60
|
+
| FileMessagePart
|
61
|
+
| Unstable_AudioMessagePart;
|
62
62
|
|
63
|
-
export type
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
export type ThreadAssistantMessagePart =
|
64
|
+
| TextMessagePart
|
65
|
+
| ReasoningMessagePart
|
66
|
+
| ToolCallMessagePart
|
67
|
+
| SourceMessagePart
|
68
|
+
| FileMessagePart;
|
69
69
|
|
70
70
|
type MessageCommonProps = {
|
71
71
|
readonly id: string;
|
@@ -82,7 +82,7 @@ export type ThreadStep = {
|
|
82
82
|
| undefined;
|
83
83
|
};
|
84
84
|
|
85
|
-
export type
|
85
|
+
export type MessagePartStatus =
|
86
86
|
| {
|
87
87
|
readonly type: "running";
|
88
88
|
}
|
@@ -100,12 +100,12 @@ export type ContentPartStatus =
|
|
100
100
|
readonly error?: unknown;
|
101
101
|
};
|
102
102
|
|
103
|
-
export type
|
103
|
+
export type ToolCallMessagePartStatus =
|
104
104
|
| {
|
105
105
|
readonly type: "requires-action";
|
106
106
|
readonly reason: "tool-calls";
|
107
107
|
}
|
108
|
-
|
|
108
|
+
| MessagePartStatus;
|
109
109
|
|
110
110
|
export type MessageStatus =
|
111
111
|
| {
|
@@ -133,7 +133,7 @@ export type MessageStatus =
|
|
133
133
|
|
134
134
|
export type ThreadSystemMessage = MessageCommonProps & {
|
135
135
|
readonly role: "system";
|
136
|
-
readonly content: readonly [
|
136
|
+
readonly content: readonly [TextMessagePart];
|
137
137
|
readonly metadata: {
|
138
138
|
readonly custom: Record<string, unknown>;
|
139
139
|
};
|
@@ -141,7 +141,7 @@ export type ThreadSystemMessage = MessageCommonProps & {
|
|
141
141
|
|
142
142
|
export type ThreadUserMessage = MessageCommonProps & {
|
143
143
|
readonly role: "user";
|
144
|
-
readonly content: readonly
|
144
|
+
readonly content: readonly ThreadUserMessagePart[];
|
145
145
|
readonly attachments: readonly CompleteAttachment[];
|
146
146
|
readonly metadata: {
|
147
147
|
readonly custom: Record<string, unknown>;
|
@@ -150,7 +150,7 @@ export type ThreadUserMessage = MessageCommonProps & {
|
|
150
150
|
|
151
151
|
export type ThreadAssistantMessage = MessageCommonProps & {
|
152
152
|
readonly role: "assistant";
|
153
|
-
readonly content: readonly
|
153
|
+
readonly content: readonly ThreadAssistantMessagePart[];
|
154
154
|
readonly status: MessageStatus;
|
155
155
|
readonly metadata: {
|
156
156
|
readonly unstable_state: ReadonlyJSONValue;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { ThreadUserMessagePart } from "./AssistantTypes";
|
2
2
|
|
3
3
|
export type PendingAttachmentStatus =
|
4
4
|
| {
|
@@ -29,7 +29,7 @@ type BaseAttachment = {
|
|
29
29
|
name: string;
|
30
30
|
contentType: string;
|
31
31
|
file?: File;
|
32
|
-
content?:
|
32
|
+
content?: ThreadUserMessagePart[];
|
33
33
|
};
|
34
34
|
|
35
35
|
export type PendingAttachment = BaseAttachment & {
|
@@ -39,7 +39,7 @@ export type PendingAttachment = BaseAttachment & {
|
|
39
39
|
|
40
40
|
export type CompleteAttachment = BaseAttachment & {
|
41
41
|
status: CompleteAttachmentStatus;
|
42
|
-
content:
|
42
|
+
content: ThreadUserMessagePart[];
|
43
43
|
};
|
44
44
|
|
45
45
|
export type Attachment = PendingAttachment | CompleteAttachment;
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import type { ComponentType } from "react";
|
2
|
+
import type {
|
3
|
+
MessagePartStatus,
|
4
|
+
FileMessagePart,
|
5
|
+
ImageMessagePart,
|
6
|
+
ReasoningMessagePart,
|
7
|
+
SourceMessagePart,
|
8
|
+
TextMessagePart,
|
9
|
+
ToolCallMessagePart,
|
10
|
+
Unstable_AudioMessagePart,
|
11
|
+
} from "./AssistantTypes";
|
12
|
+
import { MessagePartState } from "../api/MessagePartRuntime";
|
13
|
+
import { ToolResponse } from "assistant-stream";
|
14
|
+
|
15
|
+
export type EmptyMessagePartProps = {
|
16
|
+
status: MessagePartStatus;
|
17
|
+
};
|
18
|
+
export type EmptyMessagePartComponent = ComponentType<EmptyMessagePartProps>;
|
19
|
+
|
20
|
+
export type TextMessagePartProps = MessagePartState & TextMessagePart;
|
21
|
+
export type TextMessagePartComponent = ComponentType<TextMessagePartProps>;
|
22
|
+
|
23
|
+
export type ReasoningMessagePartProps = MessagePartState & ReasoningMessagePart;
|
24
|
+
export type ReasoningMessagePartComponent =
|
25
|
+
ComponentType<ReasoningMessagePartProps>;
|
26
|
+
|
27
|
+
export type SourceMessagePartProps = MessagePartState & SourceMessagePart;
|
28
|
+
export type SourceMessagePartComponent = ComponentType<SourceMessagePartProps>;
|
29
|
+
|
30
|
+
export type ImageMessagePartProps = MessagePartState & ImageMessagePart;
|
31
|
+
export type ImageMessagePartComponent = ComponentType<ImageMessagePartProps>;
|
32
|
+
|
33
|
+
export type FileMessagePartProps = MessagePartState & FileMessagePart;
|
34
|
+
export type FileMessagePartComponent = ComponentType<FileMessagePartProps>;
|
35
|
+
|
36
|
+
export type Unstable_AudioMessagePartProps = MessagePartState &
|
37
|
+
Unstable_AudioMessagePart;
|
38
|
+
export type Unstable_AudioMessagePartComponent =
|
39
|
+
ComponentType<Unstable_AudioMessagePartProps>;
|
40
|
+
|
41
|
+
export type ToolCallMessagePartProps<
|
42
|
+
TArgs = any,
|
43
|
+
TResult = unknown,
|
44
|
+
> = MessagePartState &
|
45
|
+
ToolCallMessagePart<TArgs, TResult> & {
|
46
|
+
addResult: (result: TResult | ToolResponse<TResult>) => void;
|
47
|
+
};
|
48
|
+
|
49
|
+
export type ToolCallMessagePartComponent<
|
50
|
+
TArgs = any,
|
51
|
+
TResult = any,
|
52
|
+
> = ComponentType<ToolCallMessagePartProps<TArgs, TResult>>;
|
package/src/types/index.ts
CHANGED
@@ -7,43 +7,84 @@ export type {
|
|
7
7
|
|
8
8
|
export type {
|
9
9
|
AppendMessage,
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
10
|
+
TextMessagePart,
|
11
|
+
ReasoningMessagePart,
|
12
|
+
SourceMessagePart,
|
13
|
+
ImageMessagePart,
|
14
|
+
FileMessagePart,
|
15
|
+
Unstable_AudioMessagePart,
|
16
|
+
ToolCallMessagePart,
|
17
17
|
MessageStatus,
|
18
|
-
|
19
|
-
|
18
|
+
MessagePartStatus,
|
19
|
+
ToolCallMessagePartStatus,
|
20
20
|
|
21
21
|
// thread message types
|
22
|
-
|
23
|
-
|
22
|
+
ThreadUserMessagePart,
|
23
|
+
ThreadAssistantMessagePart,
|
24
24
|
ThreadSystemMessage,
|
25
25
|
ThreadAssistantMessage,
|
26
26
|
ThreadUserMessage,
|
27
27
|
ThreadMessage,
|
28
28
|
} from "./AssistantTypes";
|
29
29
|
|
30
|
+
// TODO remove in v0.11
|
30
31
|
export type {
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
32
|
+
TextMessagePart as TextContentPart,
|
33
|
+
ReasoningMessagePart as ReasoningContentPart,
|
34
|
+
SourceMessagePart as SourceContentPart,
|
35
|
+
ImageMessagePart as ImageContentPart,
|
36
|
+
FileMessagePart as FileContentPart,
|
37
|
+
Unstable_AudioMessagePart as AudioContentPart,
|
38
|
+
ToolCallMessagePart as ToolCallContentPart,
|
39
|
+
MessagePartStatus as ContentPartStatus,
|
40
|
+
ToolCallMessagePartStatus as ToolCallContentPartStatus,
|
41
|
+
|
42
|
+
// thread message types
|
43
|
+
ThreadUserMessagePart as ThreadUserContentPart,
|
44
|
+
ThreadAssistantMessagePart as ThreadAssistantContentPart,
|
45
|
+
ThreadSystemMessage as ThreadSystemContentPart,
|
46
|
+
ThreadAssistantMessage as ThreadAssistantContent,
|
47
|
+
ThreadUserMessage as ThreadUserContent,
|
48
|
+
ThreadMessage as ThreadContent,
|
49
|
+
} from "./AssistantTypes";
|
50
|
+
|
51
|
+
export type {
|
52
|
+
EmptyMessagePartComponent,
|
53
|
+
EmptyMessagePartProps,
|
54
|
+
TextMessagePartComponent,
|
55
|
+
TextMessagePartProps,
|
56
|
+
ReasoningMessagePartComponent,
|
57
|
+
ReasoningMessagePartProps,
|
58
|
+
SourceMessagePartComponent,
|
59
|
+
SourceMessagePartProps,
|
60
|
+
ImageMessagePartComponent,
|
61
|
+
ImageMessagePartProps,
|
62
|
+
FileMessagePartComponent,
|
63
|
+
FileMessagePartProps,
|
64
|
+
Unstable_AudioMessagePartComponent,
|
65
|
+
Unstable_AudioMessagePartProps,
|
66
|
+
ToolCallMessagePartComponent,
|
67
|
+
ToolCallMessagePartProps,
|
68
|
+
} from "./MessagePartComponentTypes";
|
69
|
+
|
70
|
+
// TODO remove in v0.11
|
71
|
+
export type {
|
72
|
+
EmptyMessagePartComponent as EmptyContentPartComponent,
|
73
|
+
EmptyMessagePartProps as EmptyContentPartProps,
|
74
|
+
TextMessagePartComponent as TextContentPartComponent,
|
75
|
+
TextMessagePartProps as TextContentPartProps,
|
76
|
+
ReasoningMessagePartComponent as ReasoningContentPartComponent,
|
77
|
+
ReasoningMessagePartProps as ReasoningContentPartProps,
|
78
|
+
SourceMessagePartComponent as SourceContentPartComponent,
|
79
|
+
SourceMessagePartProps as SourceContentPartProps,
|
80
|
+
ImageMessagePartComponent as ImageContentPartComponent,
|
81
|
+
ImageMessagePartProps as ImageContentPartProps,
|
82
|
+
FileMessagePartComponent as FileContentPartComponent,
|
83
|
+
FileMessagePartProps as FileContentPartProps,
|
84
|
+
Unstable_AudioMessagePartComponent as AudioContentPartComponent,
|
85
|
+
Unstable_AudioMessagePartProps as AudioContentPartProps,
|
86
|
+
ToolCallMessagePartComponent as ToolCallContentPartComponent,
|
87
|
+
ToolCallMessagePartProps as ToolCallContentPartProps,
|
88
|
+
} from "./MessagePartComponentTypes";
|
48
89
|
|
49
90
|
export type { Unsubscribe } from "./Unsubscribe";
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type {
|
2
2
|
AppendMessage,
|
3
|
-
|
3
|
+
TextMessagePart,
|
4
4
|
ThreadMessage,
|
5
5
|
} from "../types/AssistantTypes";
|
6
6
|
|
@@ -9,7 +9,7 @@ export const getThreadMessageText = (
|
|
9
9
|
) => {
|
10
10
|
const textParts = message.content.filter(
|
11
11
|
(part) => part.type === "text",
|
12
|
-
) as
|
12
|
+
) as TextMessagePart[];
|
13
13
|
|
14
14
|
return textParts.map((part) => part.text).join("\n\n");
|
15
15
|
};
|
@@ -12,22 +12,22 @@ import {
|
|
12
12
|
import { ReadonlyStore } from "../../context/ReadonlyStore";
|
13
13
|
import { create, UseBoundStore } from "zustand";
|
14
14
|
import {
|
15
|
-
|
16
|
-
|
15
|
+
MessagePartStatus,
|
16
|
+
ToolCallMessagePartStatus,
|
17
17
|
} from "../../types/AssistantTypes";
|
18
|
-
import {
|
18
|
+
import { useMessagePartRuntime } from "../../context/react/MessagePartContext";
|
19
19
|
import { createContextStoreHook } from "../../context/react/utils/createContextStoreHook";
|
20
20
|
|
21
21
|
type SmoothContextValue = {
|
22
22
|
useSmoothStatus: UseBoundStore<
|
23
|
-
ReadonlyStore<
|
23
|
+
ReadonlyStore<MessagePartStatus | ToolCallMessagePartStatus>
|
24
24
|
>;
|
25
25
|
};
|
26
26
|
|
27
27
|
const SmoothContext = createContext<SmoothContextValue | null>(null);
|
28
28
|
|
29
29
|
const makeSmoothContext = (
|
30
|
-
initialState:
|
30
|
+
initialState: MessagePartStatus | ToolCallMessagePartStatus,
|
31
31
|
) => {
|
32
32
|
const useSmoothStatus = create(() => initialState);
|
33
33
|
return { useSmoothStatus };
|
@@ -35,10 +35,10 @@ const makeSmoothContext = (
|
|
35
35
|
|
36
36
|
export const SmoothContextProvider: FC<PropsWithChildren> = ({ children }) => {
|
37
37
|
const outer = useSmoothContext({ optional: true });
|
38
|
-
const
|
38
|
+
const MessagePartRuntime = useMessagePartRuntime();
|
39
39
|
|
40
40
|
const [context] = useState(() =>
|
41
|
-
makeSmoothContext(
|
41
|
+
makeSmoothContext(MessagePartRuntime.getState().status),
|
42
42
|
);
|
43
43
|
|
44
44
|
// do not wrap if there is an outer SmoothContextProvider
|
@@ -3,14 +3,14 @@
|
|
3
3
|
import { useEffect, useMemo, useRef, useState } from "react";
|
4
4
|
import { useMessage } from "../../context";
|
5
5
|
import {
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
MessagePartStatus,
|
7
|
+
ReasoningMessagePart,
|
8
|
+
TextMessagePart,
|
9
9
|
} from "../../types/AssistantTypes";
|
10
10
|
import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
|
11
11
|
import { useSmoothStatusStore } from "./SmoothContext";
|
12
12
|
import { writableStore } from "../../context/ReadonlyStore";
|
13
|
-
import {
|
13
|
+
import { MessagePartState } from "../../api/MessagePartRuntime";
|
14
14
|
|
15
15
|
class TextStreamAnimator {
|
16
16
|
private animationFrameId: number | null = null;
|
@@ -66,14 +66,14 @@ class TextStreamAnimator {
|
|
66
66
|
};
|
67
67
|
}
|
68
68
|
|
69
|
-
const SMOOTH_STATUS:
|
69
|
+
const SMOOTH_STATUS: MessagePartStatus = Object.freeze({
|
70
70
|
type: "running",
|
71
71
|
});
|
72
72
|
|
73
73
|
export const useSmooth = (
|
74
|
-
state:
|
74
|
+
state: MessagePartState & (TextMessagePart | ReasoningMessagePart),
|
75
75
|
smooth: boolean = false,
|
76
|
-
):
|
76
|
+
): MessagePartState & (TextMessagePart | ReasoningMessagePart) => {
|
77
77
|
const { text } = state;
|
78
78
|
const id = useMessage({
|
79
79
|
optional: true,
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import { getPartialJsonObjectFieldState } from "assistant-stream/utils";
|
2
|
-
import {
|
2
|
+
import { useMessagePart } from "../context";
|
3
3
|
|
4
4
|
const COMPLETE_STATUS = { type: "complete" };
|
5
5
|
|
6
6
|
export const useToolArgsFieldStatus = (fieldPath: (string | number)[]) => {
|
7
|
-
return
|
7
|
+
return useMessagePart((t) => {
|
8
8
|
if (t.type !== "tool-call")
|
9
9
|
throw new Error(
|
10
|
-
"useToolArgsFieldStatus can only be used inside tool-call
|
10
|
+
"useToolArgsFieldStatus can only be used inside tool-call message parts",
|
11
11
|
);
|
12
12
|
|
13
13
|
const state = getPartialJsonObjectFieldState(t.args, fieldPath);
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import { AssistantCloudConfig } from "./AssistantCloudAPI";
|
2
|
-
import { AssistantCloudAuthTokens } from "./AssistantCloudAuthTokens";
|
3
|
-
import { AssistantCloudRuns } from "./AssistantCloudRuns";
|
4
|
-
import { AssistantCloudThreads } from "./AssistantCloudThreads";
|
5
|
-
import { AssistantCloudFiles } from "./AssistantCloudFiles";
|
6
|
-
export declare class AssistantCloud {
|
7
|
-
readonly threads: AssistantCloudThreads;
|
8
|
-
readonly auth: {
|
9
|
-
tokens: AssistantCloudAuthTokens;
|
10
|
-
};
|
11
|
-
readonly runs: AssistantCloudRuns;
|
12
|
-
readonly files: AssistantCloudFiles;
|
13
|
-
constructor(config: AssistantCloudConfig);
|
14
|
-
}
|
15
|
-
//# sourceMappingURL=AssistantCloud.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"AssistantCloud.d.ts","sourceRoot":"","sources":["../../src/cloud/AssistantCloud.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,cAAc;IACzB,SAAgB,OAAO,wBAAC;IACxB,SAAgB,IAAI;;MAAC;IACrB,SAAgB,IAAI,qBAAC;IACrB,SAAgB,KAAK,sBAAC;gBAEV,MAAM,EAAE,oBAAoB;CASzC"}
|
@@ -1,25 +0,0 @@
|
|
1
|
-
// src/cloud/AssistantCloud.tsx
|
2
|
-
import { AssistantCloudAPI } from "./AssistantCloudAPI.js";
|
3
|
-
import { AssistantCloudAuthTokens } from "./AssistantCloudAuthTokens.js";
|
4
|
-
import { AssistantCloudRuns } from "./AssistantCloudRuns.js";
|
5
|
-
import { AssistantCloudThreads } from "./AssistantCloudThreads.js";
|
6
|
-
import { AssistantCloudFiles } from "./AssistantCloudFiles.js";
|
7
|
-
var AssistantCloud = class {
|
8
|
-
threads;
|
9
|
-
auth;
|
10
|
-
runs;
|
11
|
-
files;
|
12
|
-
constructor(config) {
|
13
|
-
const api = new AssistantCloudAPI(config);
|
14
|
-
this.threads = new AssistantCloudThreads(api);
|
15
|
-
this.auth = {
|
16
|
-
tokens: new AssistantCloudAuthTokens(api)
|
17
|
-
};
|
18
|
-
this.runs = new AssistantCloudRuns(api);
|
19
|
-
this.files = new AssistantCloudFiles(api);
|
20
|
-
}
|
21
|
-
};
|
22
|
-
export {
|
23
|
-
AssistantCloud
|
24
|
-
};
|
25
|
-
//# sourceMappingURL=AssistantCloud.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../src/cloud/AssistantCloud.tsx"],"sourcesContent":["import { AssistantCloudAPI, AssistantCloudConfig } from \"./AssistantCloudAPI\";\nimport { AssistantCloudAuthTokens } from \"./AssistantCloudAuthTokens\";\nimport { AssistantCloudRuns } from \"./AssistantCloudRuns\";\nimport { AssistantCloudThreads } from \"./AssistantCloudThreads\";\nimport { AssistantCloudFiles } from \"./AssistantCloudFiles\";\n\nexport class AssistantCloud {\n public readonly threads;\n public readonly auth;\n public readonly runs;\n public readonly files;\n\n constructor(config: AssistantCloudConfig) {\n const api = new AssistantCloudAPI(config);\n this.threads = new AssistantCloudThreads(api);\n this.auth = {\n tokens: new AssistantCloudAuthTokens(api),\n };\n this.runs = new AssistantCloudRuns(api);\n this.files = new AssistantCloudFiles(api);\n }\n}\n"],"mappings":";AAAA,SAAS,yBAA+C;AACxD,SAAS,gCAAgC;AACzC,SAAS,0BAA0B;AACnC,SAAS,6BAA6B;AACtC,SAAS,2BAA2B;AAE7B,IAAM,iBAAN,MAAqB;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEhB,YAAY,QAA8B;AACxC,UAAM,MAAM,IAAI,kBAAkB,MAAM;AACxC,SAAK,UAAU,IAAI,sBAAsB,GAAG;AAC5C,SAAK,OAAO;AAAA,MACV,QAAQ,IAAI,yBAAyB,GAAG;AAAA,IAC1C;AACA,SAAK,OAAO,IAAI,mBAAmB,GAAG;AACtC,SAAK,QAAQ,IAAI,oBAAoB,GAAG;AAAA,EAC1C;AACF;","names":[]}
|
@@ -1,28 +0,0 @@
|
|
1
|
-
import { AssistantCloudAuthStrategy } from "./AssistantCloudAuthStrategy";
|
2
|
-
export type AssistantCloudConfig = {
|
3
|
-
baseUrl: string;
|
4
|
-
authToken: () => Promise<string | null>;
|
5
|
-
} | {
|
6
|
-
apiKey: string;
|
7
|
-
userId: string;
|
8
|
-
workspaceId: string;
|
9
|
-
} | {
|
10
|
-
baseUrl: string;
|
11
|
-
anonymous: true;
|
12
|
-
};
|
13
|
-
type MakeRequestOptions = {
|
14
|
-
method?: "POST" | "PUT" | "DELETE" | undefined;
|
15
|
-
headers?: Record<string, string> | undefined;
|
16
|
-
query?: Record<string, string | number | boolean> | undefined;
|
17
|
-
body?: object | undefined;
|
18
|
-
};
|
19
|
-
export declare class AssistantCloudAPI {
|
20
|
-
_auth: AssistantCloudAuthStrategy;
|
21
|
-
_baseUrl: string;
|
22
|
-
constructor(config: AssistantCloudConfig);
|
23
|
-
initializeAuth(): Promise<boolean>;
|
24
|
-
makeRawRequest(endpoint: string, options?: MakeRequestOptions): Promise<Response>;
|
25
|
-
makeRequest(endpoint: string, options?: MakeRequestOptions): Promise<any>;
|
26
|
-
}
|
27
|
-
export {};
|
28
|
-
//# sourceMappingURL=AssistantCloudAPI.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"AssistantCloudAPI.d.ts","sourceRoot":"","sources":["../../src/cloud/AssistantCloudAPI.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAI3B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,oBAAoB,GAC5B;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACzC,GACD;IACE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,GACD;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AASN,KAAK,kBAAkB,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,CAAC;IAC9D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,qBAAa,iBAAiB;IACrB,KAAK,EAAE,0BAA0B,CAAC;IAClC,QAAQ,SAAC;gBAEJ,MAAM,EAAE,oBAAoB;IAqB3B,cAAc;IAId,cAAc,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,kBAAuB;IAiDrB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;CAI5E"}
|