@assistant-ui/react 0.11.57 → 0.12.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/client/ModelContextClient.d.ts +2 -6
- package/dist/client/ModelContextClient.d.ts.map +1 -1
- package/dist/client/ModelContextClient.js +13 -10
- package/dist/client/ModelContextClient.js.map +1 -1
- package/dist/client/NoOpComposerClient.d.ts +4 -6
- package/dist/client/NoOpComposerClient.d.ts.map +1 -1
- package/dist/client/NoOpComposerClient.js +42 -40
- package/dist/client/NoOpComposerClient.js.map +1 -1
- package/dist/client/ThreadMessageClient.d.ts +2 -6
- package/dist/client/ThreadMessageClient.d.ts.map +1 -1
- package/dist/client/ThreadMessageClient.js +87 -81
- package/dist/client/ThreadMessageClient.js.map +1 -1
- package/dist/client/Tools.d.ts +4 -6
- package/dist/client/Tools.d.ts.map +1 -1
- package/dist/client/Tools.js +33 -31
- package/dist/client/Tools.js.map +1 -1
- package/dist/context/providers/AttachmentByIndexProvider.d.ts.map +1 -1
- package/dist/context/providers/AttachmentByIndexProvider.js +9 -12
- package/dist/context/providers/AttachmentByIndexProvider.js.map +1 -1
- package/dist/context/providers/MessageByIndexProvider.d.ts.map +1 -1
- package/dist/context/providers/MessageByIndexProvider.js +7 -22
- package/dist/context/providers/MessageByIndexProvider.js.map +1 -1
- package/dist/context/providers/MessageProvider.d.ts.map +1 -1
- package/dist/context/providers/MessageProvider.js +4 -13
- package/dist/context/providers/MessageProvider.js.map +1 -1
- package/dist/context/providers/PartByIndexProvider.d.ts.map +1 -1
- package/dist/context/providers/PartByIndexProvider.js +5 -7
- package/dist/context/providers/PartByIndexProvider.js.map +1 -1
- package/dist/context/providers/TextMessagePartProvider.d.ts.map +1 -1
- package/dist/context/providers/TextMessagePartProvider.js +16 -22
- package/dist/context/providers/TextMessagePartProvider.js.map +1 -1
- package/dist/context/providers/ThreadListItemProvider.d.ts.map +1 -1
- package/dist/context/providers/ThreadListItemProvider.js +9 -35
- package/dist/context/providers/ThreadListItemProvider.js.map +1 -1
- package/dist/context/react/index.d.ts +0 -4
- package/dist/context/react/index.d.ts.map +1 -1
- package/dist/context/react/index.js +0 -6
- package/dist/context/react/index.js.map +1 -1
- package/dist/devtools/DevToolsHooks.d.ts +3 -3
- package/dist/devtools/DevToolsHooks.d.ts.map +1 -1
- package/dist/devtools/DevToolsHooks.js +5 -5
- package/dist/devtools/DevToolsHooks.js.map +1 -1
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -1
- package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/legacy-runtime/AssistantRuntimeProvider.js +3 -3
- package/dist/legacy-runtime/AssistantRuntimeProvider.js.map +1 -1
- package/dist/legacy-runtime/RuntimeAdapter.d.ts +1 -5
- package/dist/legacy-runtime/RuntimeAdapter.d.ts.map +1 -1
- package/dist/legacy-runtime/RuntimeAdapter.js +25 -4
- package/dist/legacy-runtime/RuntimeAdapter.js.map +1 -1
- package/dist/legacy-runtime/client/AttachmentRuntimeClient.d.ts +4 -6
- package/dist/legacy-runtime/client/AttachmentRuntimeClient.d.ts.map +1 -1
- package/dist/legacy-runtime/client/AttachmentRuntimeClient.js +8 -8
- package/dist/legacy-runtime/client/AttachmentRuntimeClient.js.map +1 -1
- package/dist/legacy-runtime/client/ComposerRuntimeClient.d.ts +6 -6
- package/dist/legacy-runtime/client/ComposerRuntimeClient.d.ts.map +1 -1
- package/dist/legacy-runtime/client/ComposerRuntimeClient.js +38 -37
- package/dist/legacy-runtime/client/ComposerRuntimeClient.js.map +1 -1
- package/dist/legacy-runtime/client/MessagePartRuntimeClient.d.ts +4 -6
- package/dist/legacy-runtime/client/MessagePartRuntimeClient.d.ts.map +1 -1
- package/dist/legacy-runtime/client/MessagePartRuntimeClient.js +9 -12
- package/dist/legacy-runtime/client/MessagePartRuntimeClient.js.map +1 -1
- package/dist/legacy-runtime/client/MessageRuntimeClient.d.ts +5 -6
- package/dist/legacy-runtime/client/MessageRuntimeClient.d.ts.map +1 -1
- package/dist/legacy-runtime/client/MessageRuntimeClient.js +38 -44
- package/dist/legacy-runtime/client/MessageRuntimeClient.js.map +1 -1
- package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.d.ts +4 -6
- package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.d.ts.map +1 -1
- package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.js +23 -23
- package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.js.map +1 -1
- package/dist/legacy-runtime/client/ThreadListRuntimeClient.d.ts +5 -6
- package/dist/legacy-runtime/client/ThreadListRuntimeClient.d.ts.map +1 -1
- package/dist/legacy-runtime/client/ThreadListRuntimeClient.js +30 -31
- package/dist/legacy-runtime/client/ThreadListRuntimeClient.js.map +1 -1
- package/dist/legacy-runtime/client/ThreadRuntimeClient.d.ts +4 -6
- package/dist/legacy-runtime/client/ThreadRuntimeClient.d.ts.map +1 -1
- package/dist/legacy-runtime/client/ThreadRuntimeClient.js +40 -42
- package/dist/legacy-runtime/client/ThreadRuntimeClient.js.map +1 -1
- package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
- package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.js +13 -13
- package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/legacy-runtime/cloud/auiV0.d.ts +8 -0
- package/dist/legacy-runtime/cloud/auiV0.d.ts.map +1 -1
- package/dist/legacy-runtime/cloud/auiV0.js +14 -0
- package/dist/legacy-runtime/cloud/auiV0.js.map +1 -1
- package/dist/legacy-runtime/hooks/AssistantContext.d.ts +4 -4
- package/dist/legacy-runtime/hooks/AssistantContext.js +4 -4
- package/dist/legacy-runtime/hooks/AssistantContext.js.map +1 -1
- package/dist/legacy-runtime/hooks/AttachmentContext.d.ts +14 -14
- package/dist/legacy-runtime/hooks/AttachmentContext.js +5 -5
- package/dist/legacy-runtime/hooks/AttachmentContext.js.map +1 -1
- package/dist/legacy-runtime/hooks/ComposerContext.d.ts +10 -10
- package/dist/legacy-runtime/hooks/ComposerContext.js +8 -8
- package/dist/legacy-runtime/hooks/ComposerContext.js.map +1 -1
- package/dist/legacy-runtime/hooks/MessageContext.d.ts +9 -9
- package/dist/legacy-runtime/hooks/MessageContext.js +9 -9
- package/dist/legacy-runtime/hooks/MessageContext.js.map +1 -1
- package/dist/legacy-runtime/hooks/MessagePartContext.d.ts +2 -2
- package/dist/legacy-runtime/hooks/MessagePartContext.js +4 -4
- package/dist/legacy-runtime/hooks/MessagePartContext.js.map +1 -1
- package/dist/legacy-runtime/hooks/ThreadContext.d.ts +8 -8
- package/dist/legacy-runtime/hooks/ThreadContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/ThreadContext.js +8 -8
- package/dist/legacy-runtime/hooks/ThreadContext.js.map +1 -1
- package/dist/legacy-runtime/hooks/ThreadListItemContext.d.ts +2 -2
- package/dist/legacy-runtime/hooks/ThreadListItemContext.js +5 -5
- package/dist/legacy-runtime/hooks/ThreadListItemContext.js.map +1 -1
- package/dist/legacy-runtime/runtime/ThreadListItemRuntime.d.ts +1 -1
- package/dist/legacy-runtime/runtime/ThreadListItemRuntime.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime/ThreadListItemRuntime.js +3 -3
- package/dist/legacy-runtime/runtime/ThreadListItemRuntime.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js +5 -5
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js +15 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.js +1 -1
- package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.js +1 -1
- package/dist/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.d.ts +1 -1
- package/dist/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.d.ts +1 -1
- package/dist/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.js +2 -2
- package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.js +2 -5
- package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.js +5 -5
- package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.js +1 -1
- package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.js +7 -2
- package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.js +5 -5
- package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.js +9 -8
- package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.js +3 -3
- package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
- 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.js +6 -6
- package/dist/model-context/useAssistantTool.js.map +1 -1
- package/dist/model-context/useAssistantToolUI.js +4 -4
- package/dist/model-context/useAssistantToolUI.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js +10 -10
- 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/ActionBarExportMarkdown.js +5 -5
- package/dist/primitives/actionBar/ActionBarExportMarkdown.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +5 -5
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +5 -5
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.js +5 -5
- package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.js +5 -5
- package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js +5 -5
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.js +2 -2
- 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.js +2 -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.js +5 -5
- 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.js +5 -5
- 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 +4 -3
- 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/ComposerDictate.js +5 -5
- package/dist/primitives/composer/ComposerDictate.js.map +1 -1
- package/dist/primitives/composer/ComposerDictationTranscript.js +2 -2
- package/dist/primitives/composer/ComposerDictationTranscript.js.map +1 -1
- package/dist/primitives/composer/ComposerIf.d.ts +1 -1
- package/dist/primitives/composer/ComposerIf.js +3 -3
- package/dist/primitives/composer/ComposerIf.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +19 -19
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerSend.js +5 -5
- package/dist/primitives/composer/ComposerSend.js.map +1 -1
- package/dist/primitives/composer/ComposerStopDictation.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerStopDictation.js +6 -5
- package/dist/primitives/composer/ComposerStopDictation.js.map +1 -1
- package/dist/primitives/error/ErrorMessage.js +2 -2
- package/dist/primitives/error/ErrorMessage.js.map +1 -1
- package/dist/primitives/index.d.ts +0 -1
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +0 -1
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
- package/dist/primitives/message/MessageAttachments.js +4 -3
- package/dist/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/primitives/message/MessageError.js +2 -2
- package/dist/primitives/message/MessageError.js.map +1 -1
- package/dist/primitives/message/MessageIf.d.ts +1 -1
- package/dist/primitives/message/MessageIf.js +3 -3
- 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 +10 -9
- 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 +10 -9
- package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
- package/dist/primitives/message/MessageRoot.js +4 -4
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.js +2 -2
- package/dist/primitives/messagePart/MessagePartInProgress.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartData.js +2 -2
- package/dist/primitives/messagePart/useMessagePartData.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartFile.js +2 -2
- package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartImage.js +2 -2
- package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartReasoning.js +2 -2
- package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartSource.js +2 -2
- package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartText.js +2 -2
- 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.d.ts +1 -1
- package/dist/primitives/thread/ThreadIf.js +3 -3
- 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 +5 -4
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.js +10 -10
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
- package/dist/primitives/thread/ThreadViewportSlack.js +2 -2
- package/dist/primitives/thread/ThreadViewportSlack.js.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.js +4 -4
- 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 +3 -2
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.js +4 -4
- 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.js +4 -4
- package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +2 -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.js +4 -4
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +4 -4
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/scopes/attachment.d.ts +22 -0
- package/dist/types/scopes/attachment.d.ts.map +1 -0
- package/dist/types/scopes/attachment.js +2 -0
- package/dist/types/scopes/attachment.js.map +1 -0
- package/dist/{client/types/Composer.d.ts → types/scopes/composer.d.ts} +29 -9
- package/dist/types/scopes/composer.d.ts.map +1 -0
- package/dist/types/scopes/composer.js +2 -0
- package/dist/types/scopes/composer.js.map +1 -0
- package/dist/types/scopes/index.d.ts +10 -0
- package/dist/types/scopes/index.d.ts.map +1 -0
- package/dist/types/scopes/index.js +2 -0
- package/dist/types/scopes/index.js.map +1 -0
- package/dist/{client/types/Message.d.ts → types/scopes/message.d.ts} +35 -27
- package/dist/types/scopes/message.d.ts.map +1 -0
- package/dist/types/scopes/message.js +2 -0
- package/dist/types/scopes/message.js.map +1 -0
- package/dist/types/scopes/modelContext.d.ts +12 -0
- package/dist/types/scopes/modelContext.d.ts.map +1 -0
- package/dist/types/scopes/modelContext.js +2 -0
- package/dist/types/scopes/modelContext.js.map +1 -0
- package/dist/types/scopes/part.d.ts +37 -0
- package/dist/types/scopes/part.d.ts.map +1 -0
- package/dist/types/scopes/part.js +2 -0
- package/dist/types/scopes/part.js.map +1 -0
- package/dist/{client/types/Thread.d.ts → types/scopes/thread.d.ts} +45 -25
- package/dist/types/scopes/thread.d.ts.map +1 -0
- package/dist/types/scopes/thread.js +2 -0
- package/dist/types/scopes/thread.js.map +1 -0
- package/dist/types/scopes/threadListItem.d.ts +50 -0
- package/dist/types/scopes/threadListItem.d.ts.map +1 -0
- package/dist/types/scopes/threadListItem.js +2 -0
- package/dist/types/scopes/threadListItem.js.map +1 -0
- package/dist/types/scopes/threads.d.ts +28 -0
- package/dist/types/scopes/threads.d.ts.map +1 -0
- package/dist/types/scopes/threads.js +2 -0
- package/dist/types/scopes/threads.js.map +1 -0
- package/dist/types/scopes/tools.d.ts +14 -0
- package/dist/types/scopes/tools.d.ts.map +1 -0
- package/dist/types/scopes/tools.js +2 -0
- package/dist/types/scopes/tools.js.map +1 -0
- package/dist/types/store-augmentation.d.ts +24 -0
- package/dist/types/store-augmentation.d.ts.map +1 -0
- package/dist/types/store-augmentation.js +2 -0
- package/dist/types/store-augmentation.js.map +1 -0
- package/dist/utils/smooth/SmoothContext.js +3 -3
- package/dist/utils/smooth/SmoothContext.js.map +1 -1
- package/dist/utils/smooth/useSmooth.js +2 -2
- package/dist/utils/smooth/useSmooth.js.map +1 -1
- package/dist/utils/useToolArgsFieldStatus.js +2 -2
- package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
- package/package.json +9 -8
- package/src/client/ModelContextClient.ts +19 -12
- package/src/client/NoOpComposerClient.tsx +45 -42
- package/src/client/ThreadMessageClient.tsx +99 -86
- package/src/client/Tools.ts +73 -62
- package/src/context/providers/AttachmentByIndexProvider.tsx +9 -17
- package/src/context/providers/MessageByIndexProvider.tsx +7 -32
- package/src/context/providers/MessageProvider.tsx +4 -16
- package/src/context/providers/PartByIndexProvider.tsx +5 -11
- package/src/context/providers/TextMessagePartProvider.tsx +24 -32
- package/src/context/providers/ThreadListItemProvider.tsx +9 -45
- package/src/context/react/index.ts +0 -13
- package/src/devtools/DevToolsHooks.ts +7 -7
- package/src/index.ts +42 -0
- package/src/legacy-runtime/AssistantRuntimeProvider.tsx +4 -7
- package/src/legacy-runtime/RuntimeAdapter.ts +32 -4
- package/src/legacy-runtime/client/AttachmentRuntimeClient.ts +7 -9
- package/src/legacy-runtime/client/ComposerRuntimeClient.ts +54 -50
- package/src/legacy-runtime/client/MessagePartRuntimeClient.ts +12 -17
- package/src/legacy-runtime/client/MessageRuntimeClient.ts +40 -34
- package/src/legacy-runtime/client/ThreadListItemRuntimeClient.ts +17 -17
- package/src/legacy-runtime/client/ThreadListRuntimeClient.ts +47 -42
- package/src/legacy-runtime/client/ThreadRuntimeClient.ts +52 -49
- package/src/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.tsx +13 -16
- package/src/legacy-runtime/cloud/auiV0.ts +27 -1
- package/src/legacy-runtime/hooks/AssistantContext.ts +7 -7
- package/src/legacy-runtime/hooks/AttachmentContext.ts +7 -7
- package/src/legacy-runtime/hooks/ComposerContext.ts +15 -15
- package/src/legacy-runtime/hooks/MessageContext.ts +14 -14
- package/src/legacy-runtime/hooks/MessagePartContext.ts +6 -6
- package/src/legacy-runtime/hooks/ThreadContext.ts +13 -17
- package/src/legacy-runtime/hooks/ThreadListItemContext.ts +7 -7
- package/src/legacy-runtime/runtime/ThreadListItemRuntime.ts +4 -4
- package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.tsx +5 -7
- package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.ts +17 -1
- package/src/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.tsx +1 -1
- package/src/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.tsx +1 -1
- package/src/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.tsx +1 -1
- package/src/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.tsx +3 -3
- package/src/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.tsx +2 -2
- package/src/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.tsx +4 -6
- package/src/legacy-runtime/runtime-cores/external-store/createMessageConverter.tsx +5 -5
- package/src/legacy-runtime/runtime-cores/external-store/external-message-converter.tsx +1 -1
- package/src/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.tsx +6 -2
- package/src/legacy-runtime/runtime-cores/local/useLocalRuntime.tsx +11 -14
- package/src/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +9 -8
- package/src/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.tsx +3 -3
- package/src/model-context/makeAssistantVisible.tsx +4 -4
- package/src/model-context/useAssistantInstructions.tsx +4 -4
- package/src/model-context/useAssistantTool.tsx +6 -6
- package/src/model-context/useAssistantToolUI.tsx +4 -4
- package/src/primitives/actionBar/ActionBarCopy.tsx +10 -10
- package/src/primitives/actionBar/ActionBarEdit.tsx +5 -5
- package/src/primitives/actionBar/ActionBarExportMarkdown.tsx +5 -5
- package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +5 -5
- package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +5 -5
- package/src/primitives/actionBar/ActionBarReload.tsx +5 -5
- package/src/primitives/actionBar/ActionBarSpeak.tsx +5 -5
- package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +5 -5
- package/src/primitives/actionBar/useActionBarFloatStatus.tsx +2 -2
- 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 +2 -2
- package/src/primitives/branchPicker/BranchPickerCount.tsx +2 -2
- package/src/primitives/branchPicker/BranchPickerNext.tsx +5 -5
- package/src/primitives/branchPicker/BranchPickerNumber.tsx +2 -2
- package/src/primitives/branchPicker/BranchPickerPrevious.tsx +5 -5
- package/src/primitives/composer/ComposerAddAttachment.tsx +6 -6
- package/src/primitives/composer/ComposerAttachmentDropzone.tsx +4 -4
- package/src/primitives/composer/ComposerAttachments.tsx +4 -8
- package/src/primitives/composer/ComposerCancel.tsx +5 -5
- package/src/primitives/composer/ComposerDictate.tsx +5 -5
- package/src/primitives/composer/ComposerDictationTranscript.tsx +2 -2
- package/src/primitives/composer/ComposerIf.tsx +3 -3
- package/src/primitives/composer/ComposerInput.tsx +19 -19
- package/src/primitives/composer/ComposerSend.tsx +5 -5
- package/src/primitives/composer/ComposerStopDictation.tsx +6 -7
- package/src/primitives/error/ErrorMessage.tsx +2 -2
- package/src/primitives/index.ts +0 -2
- package/src/primitives/message/MessageAttachments.tsx +4 -6
- package/src/primitives/message/MessageError.tsx +2 -2
- package/src/primitives/message/MessageIf.tsx +3 -3
- package/src/primitives/message/MessageParts.tsx +10 -13
- package/src/primitives/message/MessagePartsGrouped.tsx +10 -13
- package/src/primitives/message/MessageRoot.tsx +4 -4
- package/src/primitives/messagePart/MessagePartInProgress.tsx +2 -2
- package/src/primitives/messagePart/useMessagePartData.tsx +2 -2
- package/src/primitives/messagePart/useMessagePartFile.tsx +2 -2
- package/src/primitives/messagePart/useMessagePartImage.tsx +2 -2
- package/src/primitives/messagePart/useMessagePartReasoning.tsx +2 -2
- package/src/primitives/messagePart/useMessagePartSource.tsx +2 -2
- package/src/primitives/messagePart/useMessagePartText.tsx +2 -2
- package/src/primitives/thread/ThreadEmpty.tsx +2 -2
- package/src/primitives/thread/ThreadIf.tsx +3 -3
- package/src/primitives/thread/ThreadMessages.tsx +5 -8
- package/src/primitives/thread/ThreadSuggestion.tsx +10 -10
- package/src/primitives/thread/ThreadViewportSlack.tsx +2 -2
- package/src/primitives/thread/useThreadViewportAutoScroll.tsx +4 -4
- package/src/primitives/threadList/ThreadListItems.tsx +3 -5
- package/src/primitives/threadList/ThreadListNew.tsx +4 -4
- package/src/primitives/threadListItem/ThreadListItemArchive.ts +4 -4
- package/src/primitives/threadListItem/ThreadListItemDelete.ts +4 -4
- package/src/primitives/threadListItem/ThreadListItemRoot.tsx +2 -2
- package/src/primitives/threadListItem/ThreadListItemTitle.tsx +2 -2
- package/src/primitives/threadListItem/ThreadListItemTrigger.ts +4 -4
- package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +4 -4
- package/src/types/index.ts +0 -8
- package/src/types/scopes/attachment.ts +22 -0
- package/src/{client/types/Composer.ts → types/scopes/composer.ts} +26 -9
- package/src/types/scopes/index.ts +50 -0
- package/src/{client/types/Message.ts → types/scopes/message.ts} +30 -38
- package/src/types/scopes/modelContext.ts +14 -0
- package/src/{client/types/Part.ts → types/scopes/part.ts} +21 -14
- package/src/{client/types/Thread.ts → types/scopes/thread.ts} +44 -53
- package/src/types/scopes/threadListItem.ts +44 -0
- package/src/{client/types/ThreadList.ts → types/scopes/threads.ts} +17 -17
- package/src/types/scopes/tools.ts +19 -0
- package/src/types/store-augmentation.ts +25 -0
- package/src/utils/smooth/SmoothContext.tsx +3 -3
- package/src/utils/smooth/useSmooth.tsx +2 -2
- package/src/utils/useToolArgsFieldStatus.tsx +2 -2
- package/dist/client/AssistantClient.d.ts +0 -21
- package/dist/client/AssistantClient.d.ts.map +0 -1
- package/dist/client/AssistantClient.js +0 -96
- package/dist/client/AssistantClient.js.map +0 -1
- package/dist/client/EventContext.d.ts +0 -4
- package/dist/client/EventContext.d.ts.map +0 -1
- package/dist/client/EventContext.js +0 -12
- package/dist/client/EventContext.js.map +0 -1
- package/dist/client/ModelContext.d.ts +0 -8
- package/dist/client/ModelContext.d.ts.map +0 -1
- package/dist/client/ModelContext.js +0 -12
- package/dist/client/ModelContext.js.map +0 -1
- package/dist/client/types/Attachment.d.ts +0 -7
- package/dist/client/types/Attachment.d.ts.map +0 -1
- package/dist/client/types/Attachment.js +0 -2
- package/dist/client/types/Attachment.js.map +0 -1
- package/dist/client/types/Composer.d.ts.map +0 -1
- package/dist/client/types/Composer.js +0 -2
- package/dist/client/types/Composer.js.map +0 -1
- package/dist/client/types/Message.d.ts.map +0 -1
- package/dist/client/types/Message.js +0 -2
- package/dist/client/types/Message.js.map +0 -1
- package/dist/client/types/ModelContext.d.ts +0 -12
- package/dist/client/types/ModelContext.d.ts.map +0 -1
- package/dist/client/types/ModelContext.js +0 -2
- package/dist/client/types/ModelContext.js.map +0 -1
- package/dist/client/types/Part.d.ts +0 -22
- package/dist/client/types/Part.d.ts.map +0 -1
- package/dist/client/types/Part.js +0 -2
- package/dist/client/types/Part.js.map +0 -1
- package/dist/client/types/Thread.d.ts.map +0 -1
- package/dist/client/types/Thread.js +0 -2
- package/dist/client/types/Thread.js.map +0 -1
- package/dist/client/types/ThreadList.d.ts +0 -24
- package/dist/client/types/ThreadList.d.ts.map +0 -1
- package/dist/client/types/ThreadList.js +0 -2
- package/dist/client/types/ThreadList.js.map +0 -1
- package/dist/client/types/ThreadListItem.d.ts +0 -23
- package/dist/client/types/ThreadListItem.d.ts.map +0 -1
- package/dist/client/types/ThreadListItem.js +0 -2
- package/dist/client/types/ThreadListItem.js.map +0 -1
- package/dist/client/types/Tools.d.ts +0 -13
- package/dist/client/types/Tools.d.ts.map +0 -1
- package/dist/client/types/Tools.js +0 -2
- package/dist/client/types/Tools.js.map +0 -1
- package/dist/client/util-hooks/tapLookupResources.d.ts +0 -15
- package/dist/client/util-hooks/tapLookupResources.d.ts.map +0 -1
- package/dist/client/util-hooks/tapLookupResources.js +0 -26
- package/dist/client/util-hooks/tapLookupResources.js.map +0 -1
- package/dist/context/react/AssistantApiContext.d.ts +0 -138
- package/dist/context/react/AssistantApiContext.d.ts.map +0 -1
- package/dist/context/react/AssistantApiContext.js +0 -158
- package/dist/context/react/AssistantApiContext.js.map +0 -1
- package/dist/context/react/hooks/useAssistantEvent.d.ts +0 -3
- package/dist/context/react/hooks/useAssistantEvent.d.ts.map +0 -1
- package/dist/context/react/hooks/useAssistantEvent.js +0 -13
- package/dist/context/react/hooks/useAssistantEvent.js.map +0 -1
- package/dist/context/react/hooks/useAssistantState.d.ts +0 -3
- package/dist/context/react/hooks/useAssistantState.d.ts.map +0 -1
- package/dist/context/react/hooks/useAssistantState.js +0 -42
- package/dist/context/react/hooks/useAssistantState.js.map +0 -1
- package/dist/legacy-runtime/client/EventManagerRuntimeClient.d.ts +0 -11
- package/dist/legacy-runtime/client/EventManagerRuntimeClient.d.ts.map +0 -1
- package/dist/legacy-runtime/client/EventManagerRuntimeClient.js +0 -44
- package/dist/legacy-runtime/client/EventManagerRuntimeClient.js.map +0 -1
- package/dist/primitives/assistant/AssistantIf.d.ts +0 -12
- package/dist/primitives/assistant/AssistantIf.d.ts.map +0 -1
- package/dist/primitives/assistant/AssistantIf.js +0 -11
- package/dist/primitives/assistant/AssistantIf.js.map +0 -1
- package/dist/types/EventTypes.d.ts +0 -57
- package/dist/types/EventTypes.d.ts.map +0 -1
- package/dist/types/EventTypes.js +0 -17
- package/dist/types/EventTypes.js.map +0 -1
- package/dist/utils/tap-store/derived-scopes.d.ts +0 -75
- package/dist/utils/tap-store/derived-scopes.d.ts.map +0 -1
- package/dist/utils/tap-store/derived-scopes.js +0 -56
- package/dist/utils/tap-store/derived-scopes.js.map +0 -1
- package/dist/utils/tap-store/index.d.ts +0 -4
- package/dist/utils/tap-store/index.d.ts.map +0 -1
- package/dist/utils/tap-store/index.js +0 -4
- package/dist/utils/tap-store/index.js.map +0 -1
- package/dist/utils/tap-store/store.d.ts +0 -14
- package/dist/utils/tap-store/store.d.ts.map +0 -1
- package/dist/utils/tap-store/store.js +0 -9
- package/dist/utils/tap-store/store.js.map +0 -1
- package/dist/utils/tap-store/tap-api.d.ts +0 -13
- package/dist/utils/tap-store/tap-api.d.ts.map +0 -1
- package/dist/utils/tap-store/tap-api.js +0 -49
- package/dist/utils/tap-store/tap-api.js.map +0 -1
- package/src/client/AssistantClient.ts +0 -175
- package/src/client/EventContext.ts +0 -22
- package/src/client/ModelContext.ts +0 -28
- package/src/client/types/Attachment.ts +0 -13
- package/src/client/types/ModelContext.ts +0 -14
- package/src/client/types/ThreadListItem.ts +0 -26
- package/src/client/types/Tools.ts +0 -19
- package/src/client/util-hooks/tapLookupResources.ts +0 -45
- package/src/context/react/AssistantApiContext.tsx +0 -340
- package/src/context/react/hooks/useAssistantEvent.ts +0 -25
- package/src/context/react/hooks/useAssistantState.tsx +0 -65
- package/src/legacy-runtime/client/EventManagerRuntimeClient.ts +0 -81
- package/src/primitives/assistant/AssistantIf.tsx +0 -25
- package/src/types/EventTypes.ts +0 -103
- package/src/utils/tap-store/derived-scopes.ts +0 -175
- package/src/utils/tap-store/index.ts +0 -10
- package/src/utils/tap-store/store.ts +0 -35
- package/src/utils/tap-store/tap-api.ts +0 -70
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assistant-ui/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "TypeScript/React library for AI Chat",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"radix-ui",
|
|
@@ -49,8 +49,9 @@
|
|
|
49
49
|
],
|
|
50
50
|
"sideEffects": false,
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"assistant-cloud": "^0.1.
|
|
53
|
-
"@assistant-ui/tap": "^0.
|
|
52
|
+
"assistant-cloud": "^0.1.13",
|
|
53
|
+
"@assistant-ui/tap": "^0.4.0",
|
|
54
|
+
"@assistant-ui/store": "^0.1.0",
|
|
54
55
|
"@radix-ui/primitive": "^1.1.3",
|
|
55
56
|
"@radix-ui/react-compose-refs": "^1.1.2",
|
|
56
57
|
"@radix-ui/react-context": "^1.1.3",
|
|
@@ -60,11 +61,11 @@
|
|
|
60
61
|
"@radix-ui/react-slot": "^1.2.4",
|
|
61
62
|
"@radix-ui/react-use-callback-ref": "^1.1.1",
|
|
62
63
|
"@radix-ui/react-use-escape-keydown": "^1.1.1",
|
|
63
|
-
"assistant-stream": "^0.2.
|
|
64
|
+
"assistant-stream": "^0.2.47",
|
|
64
65
|
"nanoid": "^5.1.6",
|
|
65
66
|
"react-textarea-autosize": "^8.5.9",
|
|
66
67
|
"zod": "^4.3.5",
|
|
67
|
-
"zustand": "^5.0.
|
|
68
|
+
"zustand": "^5.0.10"
|
|
68
69
|
},
|
|
69
70
|
"peerDependencies": {
|
|
70
71
|
"@types/react": "*",
|
|
@@ -82,12 +83,12 @@
|
|
|
82
83
|
},
|
|
83
84
|
"devDependencies": {
|
|
84
85
|
"@types/json-schema": "^7.0.15",
|
|
85
|
-
"@types/node": "^25.0.
|
|
86
|
-
"@types/react": "^19.2.
|
|
86
|
+
"@types/node": "^25.0.9",
|
|
87
|
+
"@types/react": "^19.2.9",
|
|
87
88
|
"@types/react-dom": "^19.2.3",
|
|
88
89
|
"react": "^19.2.3",
|
|
89
90
|
"react-dom": "^19.2.3",
|
|
90
|
-
"vitest": "^4.0.
|
|
91
|
+
"vitest": "^4.0.17",
|
|
91
92
|
"@assistant-ui/x-buildutils": "0.0.1"
|
|
92
93
|
},
|
|
93
94
|
"publishConfig": {
|
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
import { resource, tapState } from "@assistant-ui/tap";
|
|
2
|
-
import {
|
|
1
|
+
import { resource, tapMemo, tapState } from "@assistant-ui/tap";
|
|
2
|
+
import { type ClientOutput } from "@assistant-ui/store";
|
|
3
3
|
import { CompositeContextProvider } from "../utils/CompositeContextProvider";
|
|
4
|
-
import type { ModelContextState
|
|
4
|
+
import type { ModelContextState } from "../types/scopes";
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
const [state] = tapState<ModelContextState>(() => ({}));
|
|
8
|
-
const composite = new CompositeContextProvider();
|
|
6
|
+
const version = 1;
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
export const ModelContext = resource((): ClientOutput<"modelContext"> => {
|
|
9
|
+
const [state] = tapState<ModelContextState>(
|
|
10
|
+
() => ({ version: version + 1 }) as unknown as ModelContextState,
|
|
11
|
+
);
|
|
12
|
+
const composite = tapMemo(() => new CompositeContextProvider(), []);
|
|
13
|
+
|
|
14
|
+
return {
|
|
15
|
+
state,
|
|
16
|
+
methods: {
|
|
17
|
+
getState: () => state,
|
|
18
|
+
getModelContext: () => composite.getModelContext(),
|
|
19
|
+
subscribe: (callback) => composite.subscribe(callback),
|
|
20
|
+
register: (provider) => composite.registerModelContextProvider(provider),
|
|
21
|
+
},
|
|
22
|
+
};
|
|
16
23
|
});
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { resource, tapMemo } from "@assistant-ui/tap";
|
|
3
|
-
import type {
|
|
4
|
-
import {
|
|
3
|
+
import type { ClientOutput } from "@assistant-ui/store";
|
|
4
|
+
import type { ComposerState } from "../types/scopes";
|
|
5
5
|
|
|
6
6
|
export const NoOpComposerClient = resource(
|
|
7
|
-
({ type }: { type: "edit" | "thread" }) => {
|
|
8
|
-
const state = tapMemo<
|
|
7
|
+
({ type }: { type: "edit" | "thread" }): ClientOutput<"composer"> => {
|
|
8
|
+
const state = tapMemo<ComposerState>(() => {
|
|
9
9
|
return {
|
|
10
10
|
isEditing: false,
|
|
11
11
|
isEmpty: true,
|
|
@@ -20,44 +20,47 @@ export const NoOpComposerClient = resource(
|
|
|
20
20
|
};
|
|
21
21
|
}, [type]);
|
|
22
22
|
|
|
23
|
-
return
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
return {
|
|
24
|
+
state,
|
|
25
|
+
methods: {
|
|
26
|
+
getState: () => state,
|
|
27
|
+
setText: () => {
|
|
28
|
+
throw new Error("Not supported");
|
|
29
|
+
},
|
|
30
|
+
setRole: () => {
|
|
31
|
+
throw new Error("Not supported");
|
|
32
|
+
},
|
|
33
|
+
setRunConfig: () => {
|
|
34
|
+
throw new Error("Not supported");
|
|
35
|
+
},
|
|
36
|
+
addAttachment: () => {
|
|
37
|
+
throw new Error("Not supported");
|
|
38
|
+
},
|
|
39
|
+
clearAttachments: () => {
|
|
40
|
+
throw new Error("Not supported");
|
|
41
|
+
},
|
|
42
|
+
attachment: () => {
|
|
43
|
+
throw new Error("Not supported");
|
|
44
|
+
},
|
|
45
|
+
reset: () => {
|
|
46
|
+
throw new Error("Not supported");
|
|
47
|
+
},
|
|
48
|
+
send: () => {
|
|
49
|
+
throw new Error("Not supported");
|
|
50
|
+
},
|
|
51
|
+
cancel: () => {
|
|
52
|
+
throw new Error("Not supported");
|
|
53
|
+
},
|
|
54
|
+
startDictation: () => {
|
|
55
|
+
throw new Error("Not supported");
|
|
56
|
+
},
|
|
57
|
+
stopDictation: () => {
|
|
58
|
+
throw new Error("Not supported");
|
|
59
|
+
},
|
|
60
|
+
beginEdit: () => {
|
|
61
|
+
throw new Error("Not supported");
|
|
62
|
+
},
|
|
27
63
|
},
|
|
28
|
-
|
|
29
|
-
throw new Error("Not supported");
|
|
30
|
-
},
|
|
31
|
-
setRunConfig: () => {
|
|
32
|
-
throw new Error("Not supported");
|
|
33
|
-
},
|
|
34
|
-
addAttachment: () => {
|
|
35
|
-
throw new Error("Not supported");
|
|
36
|
-
},
|
|
37
|
-
clearAttachments: () => {
|
|
38
|
-
throw new Error("Not supported");
|
|
39
|
-
},
|
|
40
|
-
attachment: () => {
|
|
41
|
-
throw new Error("Not supported");
|
|
42
|
-
},
|
|
43
|
-
reset: () => {
|
|
44
|
-
throw new Error("Not supported");
|
|
45
|
-
},
|
|
46
|
-
send: () => {
|
|
47
|
-
throw new Error("Not supported");
|
|
48
|
-
},
|
|
49
|
-
cancel: () => {
|
|
50
|
-
throw new Error("Not supported");
|
|
51
|
-
},
|
|
52
|
-
beginEdit: () => {
|
|
53
|
-
throw new Error("Not supported");
|
|
54
|
-
},
|
|
55
|
-
startDictation: () => {
|
|
56
|
-
throw new Error("Not supported");
|
|
57
|
-
},
|
|
58
|
-
stopDictation: () => {
|
|
59
|
-
throw new Error("Not supported");
|
|
60
|
-
},
|
|
61
|
-
});
|
|
64
|
+
};
|
|
62
65
|
},
|
|
63
66
|
);
|
|
@@ -4,12 +4,10 @@ import {
|
|
|
4
4
|
tapMemo,
|
|
5
5
|
tapState,
|
|
6
6
|
tapInlineResource,
|
|
7
|
+
withKey,
|
|
7
8
|
} from "@assistant-ui/tap";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { MessagePartClientState, MessagePartClientApi } from "./types/Part";
|
|
11
|
-
import { tapLookupResources } from "./util-hooks/tapLookupResources";
|
|
12
|
-
import { tapApi } from "../utils/tap-store";
|
|
9
|
+
import { type ClientOutput, tapClientLookup } from "@assistant-ui/store";
|
|
10
|
+
import { MessageState, PartState } from "../types/scopes";
|
|
13
11
|
import {
|
|
14
12
|
ThreadAssistantMessagePart,
|
|
15
13
|
ThreadUserMessagePart,
|
|
@@ -19,16 +17,21 @@ import {
|
|
|
19
17
|
import { NoOpComposerClient } from "./NoOpComposerClient";
|
|
20
18
|
|
|
21
19
|
const ThreadMessagePartClient = resource(
|
|
22
|
-
({
|
|
23
|
-
|
|
20
|
+
({
|
|
21
|
+
part,
|
|
22
|
+
}: {
|
|
23
|
+
part: ThreadAssistantMessagePart | ThreadUserMessagePart;
|
|
24
|
+
}): ClientOutput<"part"> => {
|
|
25
|
+
const state = tapMemo<PartState>(() => {
|
|
24
26
|
return {
|
|
25
27
|
...part,
|
|
26
28
|
status: { type: "complete" },
|
|
27
29
|
};
|
|
28
30
|
}, [part]);
|
|
29
31
|
|
|
30
|
-
return
|
|
31
|
-
|
|
32
|
+
return {
|
|
33
|
+
state,
|
|
34
|
+
methods: {
|
|
32
35
|
getState: () => state,
|
|
33
36
|
addToolResult: () => {
|
|
34
37
|
throw new Error("Not supported");
|
|
@@ -37,28 +40,21 @@ const ThreadMessagePartClient = resource(
|
|
|
37
40
|
throw new Error("Not supported");
|
|
38
41
|
},
|
|
39
42
|
},
|
|
40
|
-
|
|
41
|
-
key:
|
|
42
|
-
state.type === "tool-call"
|
|
43
|
-
? `toolCallId-${state.toolCallId}`
|
|
44
|
-
: undefined,
|
|
45
|
-
},
|
|
46
|
-
);
|
|
43
|
+
};
|
|
47
44
|
},
|
|
48
45
|
);
|
|
46
|
+
|
|
49
47
|
const ThreadMessageAttachmentClient = resource(
|
|
50
|
-
({ attachment }: { attachment: Attachment }) => {
|
|
51
|
-
return
|
|
52
|
-
|
|
48
|
+
({ attachment }: { attachment: Attachment }): ClientOutput<"attachment"> => {
|
|
49
|
+
return {
|
|
50
|
+
state: attachment,
|
|
51
|
+
methods: {
|
|
53
52
|
getState: () => attachment,
|
|
54
53
|
remove: () => {
|
|
55
54
|
throw new Error("Not supported");
|
|
56
55
|
},
|
|
57
56
|
},
|
|
58
|
-
|
|
59
|
-
key: attachment.id,
|
|
60
|
-
},
|
|
61
|
-
);
|
|
57
|
+
};
|
|
62
58
|
},
|
|
63
59
|
);
|
|
64
60
|
export type ThreadMessageClientProps = {
|
|
@@ -68,6 +64,7 @@ export type ThreadMessageClientProps = {
|
|
|
68
64
|
branchNumber?: number;
|
|
69
65
|
branchCount?: number;
|
|
70
66
|
};
|
|
67
|
+
|
|
71
68
|
export const ThreadMessageClient = resource(
|
|
72
69
|
({
|
|
73
70
|
message,
|
|
@@ -75,35 +72,38 @@ export const ThreadMessageClient = resource(
|
|
|
75
72
|
isLast = true,
|
|
76
73
|
branchNumber = 1,
|
|
77
74
|
branchCount = 1,
|
|
78
|
-
}: ThreadMessageClientProps) => {
|
|
75
|
+
}: ThreadMessageClientProps): ClientOutput<"message"> => {
|
|
79
76
|
const [isCopiedState, setIsCopied] = tapState(false);
|
|
80
77
|
const [isHoveringState, setIsHovering] = tapState(false);
|
|
81
78
|
|
|
82
|
-
const parts =
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
79
|
+
const parts = tapClientLookup(
|
|
80
|
+
() =>
|
|
81
|
+
message.content.map((part, idx) =>
|
|
82
|
+
withKey(
|
|
83
|
+
"toolCallId" in part && part.toolCallId != null
|
|
84
|
+
? `toolCallId-${part.toolCallId}`
|
|
85
|
+
: `index-${idx}`,
|
|
86
|
+
ThreadMessagePartClient({ part }),
|
|
87
|
+
),
|
|
88
|
+
),
|
|
89
|
+
[message.content],
|
|
89
90
|
);
|
|
90
91
|
|
|
91
|
-
const attachments =
|
|
92
|
-
|
|
93
|
-
attachment
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
const attachments = tapClientLookup(
|
|
93
|
+
() =>
|
|
94
|
+
(message.attachments ?? []).map((attachment) =>
|
|
95
|
+
withKey(attachment.id, ThreadMessageAttachmentClient({ attachment })),
|
|
96
|
+
),
|
|
97
|
+
[message.attachments],
|
|
96
98
|
);
|
|
97
99
|
|
|
98
|
-
const
|
|
99
|
-
NoOpComposerClient({ type: "edit" }),
|
|
100
|
-
);
|
|
100
|
+
const composer = tapInlineResource(NoOpComposerClient({ type: "edit" }));
|
|
101
101
|
|
|
102
|
-
const state = tapMemo<
|
|
102
|
+
const state = tapMemo<MessageState>(() => {
|
|
103
103
|
return {
|
|
104
104
|
...message,
|
|
105
105
|
parts: parts.state,
|
|
106
|
-
composer:
|
|
106
|
+
composer: composer.state,
|
|
107
107
|
parentId: null,
|
|
108
108
|
index,
|
|
109
109
|
isLast,
|
|
@@ -114,52 +114,65 @@ export const ThreadMessageClient = resource(
|
|
|
114
114
|
isCopied: isCopiedState,
|
|
115
115
|
isHovering: isHoveringState,
|
|
116
116
|
};
|
|
117
|
-
}, [
|
|
117
|
+
}, [
|
|
118
|
+
message,
|
|
119
|
+
index,
|
|
120
|
+
isCopiedState,
|
|
121
|
+
isHoveringState,
|
|
122
|
+
isLast,
|
|
123
|
+
parts.state,
|
|
124
|
+
composer.state,
|
|
125
|
+
branchNumber,
|
|
126
|
+
branchCount,
|
|
127
|
+
]);
|
|
118
128
|
|
|
119
|
-
return
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
129
|
+
return {
|
|
130
|
+
state,
|
|
131
|
+
methods: {
|
|
132
|
+
getState: () => state,
|
|
133
|
+
composer: composer.methods,
|
|
134
|
+
part: (selector) => {
|
|
135
|
+
if ("index" in selector) {
|
|
136
|
+
return parts.get({ index: selector.index });
|
|
137
|
+
} else {
|
|
138
|
+
return parts.get({ key: `toolCallId-${selector.toolCallId}` });
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
attachment: (selector) => {
|
|
142
|
+
if ("id" in selector) {
|
|
143
|
+
return attachments.get({ key: selector.id });
|
|
144
|
+
} else {
|
|
145
|
+
return attachments.get(selector);
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
reload: () => {
|
|
149
|
+
throw new Error("Not supported in ThreadMessageProvider");
|
|
150
|
+
},
|
|
151
|
+
speak: () => {
|
|
152
|
+
throw new Error("Not supported in ThreadMessageProvider");
|
|
153
|
+
},
|
|
154
|
+
stopSpeaking: () => {
|
|
155
|
+
throw new Error("Not supported in ThreadMessageProvider");
|
|
156
|
+
},
|
|
157
|
+
submitFeedback: () => {
|
|
158
|
+
throw new Error("Not supported in ThreadMessageProvider");
|
|
159
|
+
},
|
|
160
|
+
switchToBranch: () => {
|
|
161
|
+
throw new Error("Not supported in ThreadMessageProvider");
|
|
162
|
+
},
|
|
163
|
+
getCopyText: () => {
|
|
164
|
+
return message.content
|
|
165
|
+
.map((part) => {
|
|
166
|
+
if ("text" in part && typeof part.text === "string") {
|
|
167
|
+
return part.text;
|
|
168
|
+
}
|
|
169
|
+
return "";
|
|
170
|
+
})
|
|
171
|
+
.join("\n");
|
|
172
|
+
},
|
|
173
|
+
setIsCopied,
|
|
174
|
+
setIsHovering,
|
|
160
175
|
},
|
|
161
|
-
|
|
162
|
-
setIsHovering,
|
|
163
|
-
});
|
|
176
|
+
};
|
|
164
177
|
},
|
|
165
178
|
);
|
package/src/client/Tools.ts
CHANGED
|
@@ -1,77 +1,88 @@
|
|
|
1
|
-
import { resource, tapState, tapEffect } from "@assistant-ui/tap";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { ToolsState, ToolsApi } from "./types/Tools";
|
|
1
|
+
import { resource, tapState, tapEffect, tapCallback } from "@assistant-ui/tap";
|
|
2
|
+
import { tapAssistantClientRef, type ClientOutput } from "@assistant-ui/store";
|
|
3
|
+
import { ToolsState } from "../types/scopes";
|
|
5
4
|
import type { Tool } from "assistant-stream";
|
|
6
5
|
import { type Toolkit } from "../model-context/toolbox";
|
|
6
|
+
import { ToolCallMessagePartComponent } from "../types";
|
|
7
7
|
|
|
8
|
-
export const Tools = resource(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
export const Tools = resource(
|
|
9
|
+
({ toolkit }: { toolkit?: Toolkit }): ClientOutput<"tools"> => {
|
|
10
|
+
const [state, setState] = tapState<ToolsState>(() => ({
|
|
11
|
+
tools: {},
|
|
12
|
+
}));
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
const clientRef = tapAssistantClientRef();
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const setToolUI = tapCallback(
|
|
17
|
+
(toolName: string, render: ToolCallMessagePartComponent) => {
|
|
18
|
+
setState((prev) => {
|
|
19
|
+
return {
|
|
20
|
+
...prev,
|
|
21
|
+
tools: {
|
|
22
|
+
...prev.tools,
|
|
23
|
+
[toolName]: [...(prev.tools[toolName] ?? []), render],
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
});
|
|
18
27
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return acc;
|
|
28
|
+
return () => {
|
|
29
|
+
setState((prev) => {
|
|
30
|
+
return {
|
|
31
|
+
...prev,
|
|
32
|
+
tools: {
|
|
33
|
+
...prev.tools,
|
|
34
|
+
[toolName]:
|
|
35
|
+
prev.tools[toolName]?.filter((r) => r !== render) ?? [],
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
};
|
|
32
40
|
},
|
|
33
|
-
|
|
41
|
+
[],
|
|
34
42
|
);
|
|
35
43
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}),
|
|
40
|
-
};
|
|
44
|
+
tapEffect(() => {
|
|
45
|
+
if (!toolkit) return;
|
|
46
|
+
const unsubscribes: (() => void)[] = [];
|
|
41
47
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
// Register tool UIs (exclude symbols)
|
|
49
|
+
for (const [toolName, tool] of Object.entries(toolkit)) {
|
|
50
|
+
if (tool.render) {
|
|
51
|
+
unsubscribes.push(setToolUI(toolName, tool.render));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
48
54
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
[toolName]: [...(prev.tools[toolName] ?? []), render],
|
|
55
|
+
// Register tools with model context (exclude symbols)
|
|
56
|
+
const toolsWithoutRender = Object.entries(toolkit).reduce(
|
|
57
|
+
(acc, [name, tool]) => {
|
|
58
|
+
const { render, ...rest } = tool;
|
|
59
|
+
acc[name] = rest;
|
|
60
|
+
return acc;
|
|
56
61
|
},
|
|
62
|
+
{} as Record<string, Tool<any, any>>,
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
const modelContextProvider = {
|
|
66
|
+
getModelContext: () => ({
|
|
67
|
+
tools: toolsWithoutRender,
|
|
68
|
+
}),
|
|
57
69
|
};
|
|
58
|
-
});
|
|
59
70
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
...prev,
|
|
64
|
-
tools: {
|
|
65
|
-
...prev.tools,
|
|
66
|
-
[toolName]: prev.tools[toolName]?.filter((r) => r !== render) ?? [],
|
|
67
|
-
},
|
|
68
|
-
};
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
};
|
|
71
|
+
unsubscribes.push(
|
|
72
|
+
clientRef.current!.modelContext().register(modelContextProvider),
|
|
73
|
+
);
|
|
72
74
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
return () => {
|
|
76
|
+
unsubscribes.forEach((fn) => fn());
|
|
77
|
+
};
|
|
78
|
+
}, [toolkit, setToolUI, clientRef]);
|
|
79
|
+
|
|
80
|
+
return {
|
|
81
|
+
state,
|
|
82
|
+
methods: {
|
|
83
|
+
getState: () => state,
|
|
84
|
+
setToolUI,
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
},
|
|
88
|
+
);
|
|
@@ -1,29 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { type FC, type PropsWithChildren } from "react";
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
AssistantProvider,
|
|
7
|
-
useAssistantApi,
|
|
8
|
-
useExtendedAssistantApi,
|
|
9
|
-
} from "../react/AssistantApiContext";
|
|
10
|
-
import { DerivedScope } from "../../utils/tap-store/derived-scopes";
|
|
4
|
+
import { useAui, AuiProvider, Derived } from "@assistant-ui/store";
|
|
11
5
|
|
|
12
6
|
export const MessageAttachmentByIndexProvider: FC<
|
|
13
7
|
PropsWithChildren<{
|
|
14
8
|
index: number;
|
|
15
9
|
}>
|
|
16
10
|
> = ({ index, children }) => {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
attachment: DerivedScope({
|
|
11
|
+
const aui = useAui({
|
|
12
|
+
attachment: Derived({
|
|
20
13
|
source: "message",
|
|
21
14
|
query: { type: "index", index },
|
|
22
|
-
get: () =>
|
|
15
|
+
get: (aui) => aui.message().attachment({ index }),
|
|
23
16
|
}),
|
|
24
17
|
});
|
|
25
18
|
|
|
26
|
-
return <
|
|
19
|
+
return <AuiProvider value={aui}>{children}</AuiProvider>;
|
|
27
20
|
};
|
|
28
21
|
|
|
29
22
|
export const ComposerAttachmentByIndexProvider: FC<
|
|
@@ -31,14 +24,13 @@ export const ComposerAttachmentByIndexProvider: FC<
|
|
|
31
24
|
index: number;
|
|
32
25
|
}>
|
|
33
26
|
> = ({ index, children }) => {
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
attachment: DerivedScope({
|
|
27
|
+
const aui = useAui({
|
|
28
|
+
attachment: Derived({
|
|
37
29
|
source: "composer",
|
|
38
30
|
query: { type: "index", index },
|
|
39
|
-
get: () =>
|
|
31
|
+
get: (aui) => aui.composer().attachment({ index }),
|
|
40
32
|
}),
|
|
41
33
|
});
|
|
42
34
|
|
|
43
|
-
return <
|
|
35
|
+
return <AuiProvider value={aui}>{children}</AuiProvider>;
|
|
44
36
|
};
|