@assistant-ui/react 0.12.8 → 0.12.10
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/ExternalThread.d.ts.map +1 -1
- package/dist/client/ExternalThread.js +10 -0
- package/dist/client/ExternalThread.js.map +1 -1
- package/dist/client/NoOpComposerClient.d.ts.map +1 -1
- package/dist/client/NoOpComposerClient.js +4 -0
- package/dist/client/NoOpComposerClient.js.map +1 -1
- package/dist/context/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -1
- package/dist/context/providers/ChainOfThoughtByIndicesProvider.js +1 -1
- package/dist/context/providers/ChainOfThoughtByIndicesProvider.js.map +1 -1
- package/dist/context/react/utils/ensureBinding.js +1 -1
- package/dist/context/react/utils/ensureBinding.js.map +1 -1
- package/dist/hooks/useMessageQuote.d.ts +17 -0
- package/dist/hooks/useMessageQuote.d.ts.map +1 -0
- package/dist/hooks/useMessageQuote.js +20 -0
- package/dist/hooks/useMessageQuote.js.map +1 -0
- package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/legacy-runtime/AssistantRuntimeProvider.js +1 -2
- package/dist/legacy-runtime/AssistantRuntimeProvider.js.map +1 -1
- package/dist/legacy-runtime/client/ComposerRuntimeClient.d.ts.map +1 -1
- package/dist/legacy-runtime/client/ComposerRuntimeClient.js +2 -0
- package/dist/legacy-runtime/client/ComposerRuntimeClient.js.map +1 -1
- package/dist/legacy-runtime/hooks/AssistantContext.d.ts +1 -1
- package/dist/legacy-runtime/hooks/AssistantContext.js +1 -1
- package/dist/legacy-runtime/hooks/AttachmentContext.d.ts +1 -1
- package/dist/legacy-runtime/hooks/AttachmentContext.js +1 -1
- package/dist/legacy-runtime/hooks/ComposerContext.d.ts +6 -6
- package/dist/legacy-runtime/hooks/ComposerContext.js +4 -4
- package/dist/legacy-runtime/hooks/MessageContext.d.ts +5 -5
- package/dist/legacy-runtime/hooks/MessageContext.js +5 -5
- package/dist/legacy-runtime/hooks/MessagePartContext.d.ts +1 -1
- package/dist/legacy-runtime/hooks/MessagePartContext.js +1 -1
- package/dist/legacy-runtime/hooks/ThreadContext.d.ts +5 -5
- package/dist/legacy-runtime/hooks/ThreadContext.js +4 -4
- package/dist/legacy-runtime/hooks/ThreadListItemContext.d.ts +1 -1
- package/dist/legacy-runtime/hooks/ThreadListItemContext.js +1 -1
- package/dist/legacy-runtime/runtime/ComposerRuntime.d.ts +12 -0
- package/dist/legacy-runtime/runtime/ComposerRuntime.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime/ComposerRuntime.js +9 -0
- package/dist/legacy-runtime/runtime/ComposerRuntime.js.map +1 -1
- package/dist/legacy-runtime/runtime/ThreadRuntime.d.ts +2 -0
- package/dist/legacy-runtime/runtime/ThreadRuntime.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts +5 -0
- package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/types.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 +36 -26
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js +7 -7
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.d.ts +4 -0
- package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.js +16 -2
- package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.d.ts +3 -0
- package/dist/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.js +1 -1
- package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.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 +1 -1
- package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.js +4 -0
- package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js +7 -6
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.js +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarExportMarkdown.js +4 -3
- package/dist/primitives/actionBar/ActionBarExportMarkdown.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.js +4 -3
- package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.js +5 -5
- package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
- package/dist/primitives/attachment/AttachmentName.js +1 -1
- package/dist/primitives/attachment/AttachmentName.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 +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.js +3 -3
- package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.js +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.js +3 -3
- package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js.map +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtParts.d.ts +3 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtParts.js +5 -7
- package/dist/primitives/chainOfThought/ChainOfThoughtParts.js.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.js +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.js +1 -1
- package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.js +1 -1
- package/dist/primitives/composer/ComposerCancel.js.map +1 -1
- package/dist/primitives/composer/ComposerDictate.js +3 -3
- package/dist/primitives/composer/ComposerDictate.js.map +1 -1
- package/dist/primitives/composer/ComposerDictationTranscript.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerDictationTranscript.js +1 -1
- package/dist/primitives/composer/ComposerDictationTranscript.js.map +1 -1
- package/dist/primitives/composer/ComposerIf.js +4 -4
- package/dist/primitives/composer/ComposerIf.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts +35 -45
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +25 -9
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerQuote.d.ts +52 -0
- package/dist/primitives/composer/ComposerQuote.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerQuote.js +57 -0
- package/dist/primitives/composer/ComposerQuote.js.map +1 -0
- package/dist/primitives/composer/ComposerStopDictation.js +1 -1
- package/dist/primitives/composer/ComposerStopDictation.js.map +1 -1
- package/dist/primitives/composer/index.d.ts +3 -0
- package/dist/primitives/composer/index.d.ts.map +1 -1
- package/dist/primitives/composer/index.js +3 -0
- package/dist/primitives/composer/index.js.map +1 -1
- package/dist/primitives/error/ErrorMessage.js +4 -4
- package/dist/primitives/error/ErrorMessage.js.map +1 -1
- package/dist/primitives/index.d.ts +2 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +2 -0
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/message/MessageAttachments.js +4 -4
- 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.js +3 -3
- package/dist/primitives/message/MessageIf.js.map +1 -1
- package/dist/primitives/message/MessageParts.d.ts +140 -133
- package/dist/primitives/message/MessageParts.d.ts.map +1 -1
- package/dist/primitives/message/MessageParts.js +7 -7
- package/dist/primitives/message/MessageParts.js.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.js +5 -5
- package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.js +6 -5
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.js +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartData.js +3 -3
- package/dist/primitives/messagePart/useMessagePartData.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartFile.js +3 -3
- package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartImage.js +3 -3
- package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartReasoning.js +3 -3
- package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartSource.js +3 -3
- package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartText.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartText.js +3 -3
- package/dist/primitives/messagePart/useMessagePartText.js.map +1 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.d.ts +24 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.d.ts.map +1 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js +37 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js.map +1 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.d.ts +31 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.d.ts.map +1 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js +85 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js.map +1 -0
- package/dist/primitives/selectionToolbar/index.d.ts +3 -0
- package/dist/primitives/selectionToolbar/index.d.ts.map +1 -0
- package/dist/primitives/selectionToolbar/index.js +3 -0
- package/dist/primitives/selectionToolbar/index.js.map +1 -0
- package/dist/primitives/suggestion/SuggestionDescription.js +1 -1
- package/dist/primitives/suggestion/SuggestionDescription.js.map +1 -1
- package/dist/primitives/suggestion/SuggestionTitle.js +1 -1
- package/dist/primitives/suggestion/SuggestionTitle.js.map +1 -1
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
- package/dist/primitives/suggestion/SuggestionTrigger.js +6 -3
- package/dist/primitives/suggestion/SuggestionTrigger.js.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.js +1 -1
- package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
- package/dist/primitives/thread/ThreadIf.js +7 -7
- package/dist/primitives/thread/ThreadIf.js.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js +3 -3
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.js +5 -2
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
- package/dist/primitives/thread/ThreadSuggestions.js +1 -1
- package/dist/primitives/thread/ThreadSuggestions.js.map +1 -1
- package/dist/primitives/thread/ThreadViewportSlack.js +4 -4
- package/dist/primitives/thread/ThreadViewportSlack.js.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.js +1 -1
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.js +1 -1
- package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTitle.js +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
- package/dist/types/QuoteTypes.d.ts +5 -0
- package/dist/types/QuoteTypes.d.ts.map +1 -0
- package/dist/types/QuoteTypes.js +2 -0
- package/dist/types/QuoteTypes.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/scopes/composer.d.ts +10 -0
- package/dist/types/scopes/composer.d.ts.map +1 -1
- package/dist/utils/getSelectionMessageId.d.ts +2 -0
- package/dist/utils/getSelectionMessageId.d.ts.map +1 -0
- package/dist/utils/getSelectionMessageId.js +21 -0
- package/dist/utils/getSelectionMessageId.js.map +1 -0
- package/dist/utils/smooth/useSmooth.js +1 -1
- package/dist/utils/smooth/useSmooth.js.map +1 -1
- package/dist/utils/useToolArgsFieldStatus.js +5 -5
- package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
- package/package.json +7 -7
- package/src/client/ExternalThread.ts +12 -0
- package/src/client/NoOpComposerClient.tsx +4 -0
- package/src/context/providers/ChainOfThoughtByIndicesProvider.tsx +3 -2
- package/src/context/react/utils/ensureBinding.ts +1 -1
- package/src/hooks/useMessageQuote.ts +27 -0
- package/src/legacy-runtime/AssistantRuntimeProvider.tsx +1 -4
- package/src/legacy-runtime/client/ComposerRuntimeClient.ts +2 -0
- package/src/legacy-runtime/hooks/AssistantContext.ts +1 -1
- package/src/legacy-runtime/hooks/AttachmentContext.ts +1 -1
- package/src/legacy-runtime/hooks/ComposerContext.ts +6 -6
- package/src/legacy-runtime/hooks/MessageContext.ts +5 -5
- package/src/legacy-runtime/hooks/MessagePartContext.ts +1 -1
- package/src/legacy-runtime/hooks/ThreadContext.ts +5 -5
- package/src/legacy-runtime/hooks/ThreadListItemContext.ts +1 -1
- package/src/legacy-runtime/runtime/ComposerRuntime.ts +22 -0
- package/src/legacy-runtime/runtime-cores/assistant-transport/types.ts +5 -0
- package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.tsx +41 -31
- package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.ts +8 -8
- package/src/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.tsx +21 -2
- package/src/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.tsx +4 -0
- package/src/legacy-runtime/runtime-cores/external-store/createMessageConverter.tsx +2 -2
- package/src/legacy-runtime/runtime-cores/local/useLocalRuntime.tsx +1 -3
- package/src/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.tsx +6 -0
- package/src/primitives/actionBar/ActionBarCopy.tsx +7 -6
- package/src/primitives/actionBar/ActionBarEdit.tsx +1 -1
- package/src/primitives/actionBar/ActionBarExportMarkdown.tsx +4 -3
- package/src/primitives/actionBar/ActionBarSpeak.tsx +4 -3
- package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +1 -1
- package/src/primitives/actionBar/useActionBarFloatStatus.tsx +5 -5
- package/src/primitives/attachment/AttachmentName.tsx +1 -1
- package/src/primitives/attachment/AttachmentThumb.tsx +2 -2
- package/src/primitives/branchPicker/BranchPickerCount.tsx +1 -1
- package/src/primitives/branchPicker/BranchPickerNext.tsx +3 -3
- package/src/primitives/branchPicker/BranchPickerNumber.tsx +1 -1
- package/src/primitives/branchPicker/BranchPickerPrevious.tsx +3 -3
- package/src/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.tsx +1 -3
- package/src/primitives/chainOfThought/ChainOfThoughtParts.tsx +19 -11
- package/src/primitives/composer/ComposerAddAttachment.tsx +1 -1
- package/src/primitives/composer/ComposerAttachments.tsx +1 -1
- package/src/primitives/composer/ComposerCancel.tsx +1 -1
- package/src/primitives/composer/ComposerDictate.tsx +4 -4
- package/src/primitives/composer/ComposerDictationTranscript.tsx +1 -3
- package/src/primitives/composer/ComposerIf.tsx +4 -4
- package/src/primitives/composer/ComposerInput.tsx +57 -17
- package/src/primitives/composer/ComposerQuote.tsx +109 -0
- package/src/primitives/composer/ComposerStopDictation.tsx +1 -1
- package/src/primitives/composer/index.ts +3 -0
- package/src/primitives/error/ErrorMessage.tsx +4 -4
- package/src/primitives/index.ts +2 -0
- package/src/primitives/message/MessageAttachments.tsx +4 -4
- package/src/primitives/message/MessageError.tsx +3 -3
- package/src/primitives/message/MessageIf.tsx +3 -3
- package/src/primitives/message/MessageParts.tsx +156 -148
- package/src/primitives/message/MessagePartsGrouped.tsx +5 -5
- package/src/primitives/message/MessageRoot.tsx +6 -5
- package/src/primitives/messagePart/MessagePartInProgress.tsx +1 -3
- package/src/primitives/messagePart/useMessagePartData.tsx +3 -3
- package/src/primitives/messagePart/useMessagePartFile.tsx +3 -3
- package/src/primitives/messagePart/useMessagePartImage.tsx +3 -3
- package/src/primitives/messagePart/useMessagePartReasoning.tsx +3 -3
- package/src/primitives/messagePart/useMessagePartSource.tsx +3 -3
- package/src/primitives/messagePart/useMessagePartText.tsx +4 -3
- package/src/primitives/selectionToolbar/SelectionToolbarQuote.tsx +62 -0
- package/src/primitives/selectionToolbar/SelectionToolbarRoot.tsx +131 -0
- package/src/primitives/selectionToolbar/index.ts +8 -0
- package/src/primitives/suggestion/SuggestionDescription.tsx +1 -1
- package/src/primitives/suggestion/SuggestionTitle.tsx +1 -1
- package/src/primitives/suggestion/SuggestionTrigger.tsx +6 -3
- package/src/primitives/thread/ThreadEmpty.tsx +1 -1
- package/src/primitives/thread/ThreadIf.tsx +8 -8
- package/src/primitives/thread/ThreadMessages.tsx +3 -3
- package/src/primitives/thread/ThreadSuggestion.tsx +5 -2
- package/src/primitives/thread/ThreadSuggestions.tsx +1 -1
- package/src/primitives/thread/ThreadViewportSlack.tsx +5 -5
- package/src/primitives/threadList/ThreadListItems.tsx +2 -2
- package/src/primitives/threadList/ThreadListNew.tsx +1 -1
- package/src/primitives/threadListItem/ThreadListItemRoot.tsx +1 -1
- package/src/primitives/threadListItem/ThreadListItemTitle.tsx +1 -1
- package/src/types/QuoteTypes.ts +4 -0
- package/src/types/index.ts +2 -0
- package/src/types/scopes/composer.ts +12 -0
- package/src/utils/getSelectionMessageId.ts +20 -0
- package/src/utils/smooth/useSmooth.tsx +1 -1
- package/src/utils/useToolArgsFieldStatus.tsx +5 -5
- package/src/primitives/chainOfThought/CHAIN_OF_THOUGHT.spec.md +0 -68
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useAuiState } from "@assistant-ui/store";
|
|
4
4
|
export const ThreadListItemPrimitiveTitle = ({ fallback }) => {
|
|
5
|
-
const title = useAuiState((
|
|
5
|
+
const title = useAuiState((s) => s.threadListItem.title);
|
|
6
6
|
return _jsx(_Fragment, { children: title || fallback });
|
|
7
7
|
};
|
|
8
8
|
ThreadListItemPrimitiveTitle.displayName = "ThreadListItemPrimitive.Title";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemTitle.js","sourceRoot":"","sources":["../../../src/primitives/threadListItem/ThreadListItemTitle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQlD,MAAM,CAAC,MAAM,4BAA4B,GAErC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ThreadListItemTitle.js","sourceRoot":"","sources":["../../../src/primitives/threadListItem/ThreadListItemTitle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQlD,MAAM,CAAC,MAAM,4BAA4B,GAErC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO,4BAAG,KAAK,IAAI,QAAQ,GAAI,CAAC;AAClC,CAAC,CAAC;AAEF,4BAA4B,CAAC,WAAW,GAAG,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuoteTypes.d.ts","sourceRoot":"","sources":["../../src/types/QuoteTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuoteTypes.js","sourceRoot":"","sources":["../../src/types/QuoteTypes.ts"],"names":[],"mappings":""}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3,4 +3,5 @@ export type { AppendMessage, TextMessagePart, ReasoningMessagePart, SourceMessag
|
|
|
3
3
|
export type { EmptyMessagePartComponent, EmptyMessagePartProps, TextMessagePartComponent, TextMessagePartProps, ReasoningMessagePartComponent, ReasoningMessagePartProps, SourceMessagePartComponent, SourceMessagePartProps, ImageMessagePartComponent, ImageMessagePartProps, FileMessagePartComponent, FileMessagePartProps, Unstable_AudioMessagePartComponent, Unstable_AudioMessagePartProps, ToolCallMessagePartComponent, ToolCallMessagePartProps, ReasoningGroupProps, ReasoningGroupComponent, } from "./MessagePartComponentTypes.js";
|
|
4
4
|
export type { ThreadListItemStatus } from "../legacy-runtime/runtime/ThreadListItemRuntime.js";
|
|
5
5
|
export type { Unsubscribe } from "./Unsubscribe.js";
|
|
6
|
+
export type { QuoteInfo } from "./QuoteTypes.js";
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACjB,6BAA0B;AAE3B,YAAY,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EAEzB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,GACd,4BAAyB;AAE1B,YAAY,EACV,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,kCAAkC,EAClC,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,GACxB,uCAAoC;AAGrC,YAAY,EAAE,oBAAoB,EAAE,2DAAwD;AAE5F,YAAY,EAAE,WAAW,EAAE,yBAAsB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACjB,6BAA0B;AAE3B,YAAY,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EAEzB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,GACd,4BAAyB;AAE1B,YAAY,EACV,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,kCAAkC,EAClC,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,GACxB,uCAAoC;AAGrC,YAAY,EAAE,oBAAoB,EAAE,2DAAwD;AAE5F,YAAY,EAAE,WAAW,EAAE,yBAAsB;AAEjD,YAAY,EAAE,SAAS,EAAE,wBAAqB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Attachment } from "../AttachmentTypes.js";
|
|
2
2
|
import type { MessageRole, RunConfig } from "../AssistantTypes.js";
|
|
3
|
+
import type { QuoteInfo } from "../QuoteTypes.js";
|
|
3
4
|
import type { AttachmentMethods } from "./attachment.js";
|
|
4
5
|
import { DictationState } from "../../legacy-runtime/runtime-cores/index.js";
|
|
5
6
|
export type ComposerState = {
|
|
@@ -17,6 +18,11 @@ export type ComposerState = {
|
|
|
17
18
|
* Undefined when dictation is not active.
|
|
18
19
|
*/
|
|
19
20
|
readonly dictation: DictationState | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* The currently quoted text, if any.
|
|
23
|
+
* Undefined when no quote is set.
|
|
24
|
+
*/
|
|
25
|
+
readonly quote: QuoteInfo | undefined;
|
|
20
26
|
};
|
|
21
27
|
export type ComposerMethods = {
|
|
22
28
|
getState(): ComposerState;
|
|
@@ -43,6 +49,10 @@ export type ComposerMethods = {
|
|
|
43
49
|
* Stop the current dictation session.
|
|
44
50
|
*/
|
|
45
51
|
stopDictation(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Set a quote for the next message. Pass undefined to clear.
|
|
54
|
+
*/
|
|
55
|
+
setQuote(quote: QuoteInfo | undefined): void;
|
|
46
56
|
};
|
|
47
57
|
export type ComposerMeta = {
|
|
48
58
|
source: "thread" | "message";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../../src/types/scopes/composer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,8BAA2B;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,6BAA0B;
|
|
1
|
+
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../../src/types/scopes/composer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,8BAA2B;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,6BAA0B;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAsB;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAqB;AACtD,OAAO,EAAE,cAAc,EAAE,oDAA2C;AAEpE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IAE/C;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,IAAI,aAAa,CAAC;IAC1B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,UAAU,CAAC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB,CAAC;IAC5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,IAAI,IAAI,CAAC;IACf,SAAS,IAAI,IAAI,CAAC;IAElB;;;OAGG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;CAI9C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,wBAAwB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSelectionMessageId.d.ts","sourceRoot":"","sources":["../../src/utils/getSelectionMessageId.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,qBAAqB,GAAI,WAAW,SAAS,KAAG,MAAM,GAAG,IASrE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const findMessageId = (node) => {
|
|
2
|
+
let el = node instanceof HTMLElement ? node : (node?.parentElement ?? null);
|
|
3
|
+
while (el) {
|
|
4
|
+
const id = el.getAttribute("data-message-id");
|
|
5
|
+
if (id)
|
|
6
|
+
return id;
|
|
7
|
+
el = el.parentElement;
|
|
8
|
+
}
|
|
9
|
+
return null;
|
|
10
|
+
};
|
|
11
|
+
export const getSelectionMessageId = (selection) => {
|
|
12
|
+
const { anchorNode, focusNode } = selection;
|
|
13
|
+
if (!anchorNode || !focusNode)
|
|
14
|
+
return null;
|
|
15
|
+
const anchorId = findMessageId(anchorNode);
|
|
16
|
+
const focusId = findMessageId(focusNode);
|
|
17
|
+
if (!anchorId || anchorId !== focusId)
|
|
18
|
+
return null;
|
|
19
|
+
return anchorId;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=getSelectionMessageId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSelectionMessageId.js","sourceRoot":"","sources":["../../src/utils/getSelectionMessageId.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,CAAC,IAAiB,EAAiB,EAAE;IACzD,IAAI,EAAE,GAAG,IAAI,YAAY,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC,CAAC;IAC5E,OAAO,EAAE,EAAE,CAAC;QACV,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAClB,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAoB,EAAiB,EAAE;IAC3E,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAC5C,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAEzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -55,7 +55,7 @@ const SMOOTH_STATUS = Object.freeze({
|
|
|
55
55
|
});
|
|
56
56
|
export const useSmooth = (state, smooth = false) => {
|
|
57
57
|
const { text } = state;
|
|
58
|
-
const id = useAuiState((
|
|
58
|
+
const id = useAuiState((s) => s.message.id);
|
|
59
59
|
const idRef = useRef(id);
|
|
60
60
|
const [displayedText, setDisplayedText] = useState(text);
|
|
61
61
|
const smoothStatusStore = useSmoothStatusStore({ optional: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSmooth.js","sourceRoot":"","sources":["../../../src/utils/smooth/useSmooth.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,2BAAwB;AACvD,OAAO,EAAE,aAAa,EAAE,uCAAoC;AAG5D,MAAM,kBAAkB;IAOb;IACC;IAPF,gBAAgB,GAAkB,IAAI,CAAC;IACvC,cAAc,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAErC,UAAU,GAAW,EAAE,CAAC;IAE/B,YACS,WAAmB,EAClB,OAAkC;QADnC,gBAAW,GAAX,WAAW,CAAQ;QAClB,YAAO,GAAP,OAAO,CAA2B;IACzC,CAAC;IAEJ,KAAK;QACH,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI;YAAE,OAAO;QAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACnC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,OAAO,GAAG,GAAG,EAAE;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;QACpD,IAAI,aAAa,GAAG,SAAS,CAAC;QAE9B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACxE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,CAAC;QAE1D,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,OAAO,aAAa,IAAI,eAAe,IAAI,UAAU,GAAG,cAAc,EAAE,CAAC;YACvE,UAAU,EAAE,CAAC;YACb,aAAa,IAAI,eAAe,CAAC;QACnC,CAAC;QAED,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO;QAE7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CACtC,CAAC,EACD,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,UAAU,CACrC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,WAAW,GAAG,aAAa,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC;CACH;AAED,MAAM,aAAa,GAAsB,MAAM,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,KAAkE,EAClE,SAAkB,KAAK,EACsC,EAAE;IAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"useSmooth.js","sourceRoot":"","sources":["../../../src/utils/smooth/useSmooth.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,13 @@ import { getPartialJsonObjectFieldState } from "assistant-stream/utils";
|
|
|
2
2
|
import { useAuiState } from "@assistant-ui/store";
|
|
3
3
|
const COMPLETE_STATUS = { type: "complete" };
|
|
4
4
|
export const useToolArgsFieldStatus = (fieldPath) => {
|
|
5
|
-
return useAuiState((
|
|
6
|
-
if (part.type !== "tool-call")
|
|
5
|
+
return useAuiState((s) => {
|
|
6
|
+
if (s.part.type !== "tool-call")
|
|
7
7
|
throw new Error("useToolArgsFieldStatus can only be used inside tool-call message parts");
|
|
8
|
-
const state = getPartialJsonObjectFieldState(part.args, fieldPath);
|
|
9
|
-
if (state === "complete" || part.status?.type === "requires-action")
|
|
8
|
+
const state = getPartialJsonObjectFieldState(s.part.args, fieldPath);
|
|
9
|
+
if (state === "complete" || s.part.status?.type === "requires-action")
|
|
10
10
|
return COMPLETE_STATUS;
|
|
11
|
-
return part.status;
|
|
11
|
+
return s.part.status;
|
|
12
12
|
});
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=useToolArgsFieldStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useToolArgsFieldStatus.js","sourceRoot":"","sources":["../../src/utils/useToolArgsFieldStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,eAAe,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAA8B,EAAE,EAAE;IACvE,OAAO,WAAW,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"useToolArgsFieldStatus.js","sourceRoot":"","sources":["../../src/utils/useToolArgsFieldStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,eAAe,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAA8B,EAAE,EAAE;IACvE,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW;YAC7B,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;QAEJ,MAAM,KAAK,GAAG,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrE,IAAI,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,iBAAiB;YACnE,OAAO,eAAe,CAAC;QACzB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assistant-ui/react",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.10",
|
|
4
4
|
"description": "TypeScript/React library for AI Chat",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"radix-ui",
|
|
@@ -49,9 +49,9 @@
|
|
|
49
49
|
],
|
|
50
50
|
"sideEffects": false,
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"assistant-cloud": "^0.1.
|
|
53
|
-
"@assistant-ui/tap": "^0.4.
|
|
54
|
-
"@assistant-ui/store": "^0.1.
|
|
52
|
+
"assistant-cloud": "^0.1.17",
|
|
53
|
+
"@assistant-ui/tap": "^0.4.6",
|
|
54
|
+
"@assistant-ui/store": "^0.1.6",
|
|
55
55
|
"@radix-ui/primitive": "^1.1.3",
|
|
56
56
|
"@radix-ui/react-compose-refs": "^1.1.2",
|
|
57
57
|
"@radix-ui/react-context": "^1.1.3",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"@radix-ui/react-slot": "^1.2.4",
|
|
62
62
|
"@radix-ui/react-use-callback-ref": "^1.1.1",
|
|
63
63
|
"@radix-ui/react-use-escape-keydown": "^1.1.1",
|
|
64
|
-
"assistant-stream": "^0.3.
|
|
64
|
+
"assistant-stream": "^0.3.2",
|
|
65
65
|
"nanoid": "^5.1.6",
|
|
66
66
|
"react-textarea-autosize": "^8.5.9",
|
|
67
67
|
"zod": "^4.3.6",
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
85
85
|
"@types/json-schema": "^7.0.15",
|
|
86
|
-
"@types/node": "^25.2.
|
|
87
|
-
"@types/react": "^19.2.
|
|
86
|
+
"@types/node": "^25.2.1",
|
|
87
|
+
"@types/react": "^19.2.13",
|
|
88
88
|
"@types/react-dom": "^19.2.3",
|
|
89
89
|
"react": "^19.2.4",
|
|
90
90
|
"react-dom": "^19.2.4",
|
|
@@ -243,6 +243,9 @@ const ComposerClientResource = resource(
|
|
|
243
243
|
const [role, setRole] = tapState<"user" | "assistant" | "system">("user");
|
|
244
244
|
const [runConfig, setRunConfig] = tapState<Record<string, unknown>>({});
|
|
245
245
|
const [attachments, setAttachments] = tapState<readonly Attachment[]>([]);
|
|
246
|
+
const [quote, setQuote] = tapState<
|
|
247
|
+
{ readonly text: string; readonly messageId: string } | undefined
|
|
248
|
+
>(undefined);
|
|
246
249
|
|
|
247
250
|
// Update composer values when editing begins
|
|
248
251
|
const updateFromMessage = tapEffectEvent(() => {
|
|
@@ -295,6 +298,7 @@ const ComposerClientResource = resource(
|
|
|
295
298
|
isEmpty: !text.trim() && !attachments.length,
|
|
296
299
|
type,
|
|
297
300
|
dictation: undefined,
|
|
301
|
+
quote,
|
|
298
302
|
}),
|
|
299
303
|
[
|
|
300
304
|
text,
|
|
@@ -305,6 +309,7 @@ const ComposerClientResource = resource(
|
|
|
305
309
|
canCancel,
|
|
306
310
|
type,
|
|
307
311
|
attachments.length,
|
|
312
|
+
quote,
|
|
308
313
|
],
|
|
309
314
|
);
|
|
310
315
|
|
|
@@ -341,18 +346,24 @@ const ComposerClientResource = resource(
|
|
|
341
346
|
setRole("user");
|
|
342
347
|
setRunConfig({});
|
|
343
348
|
setAttachments([]);
|
|
349
|
+
setQuote(undefined);
|
|
344
350
|
},
|
|
345
351
|
send: () => {
|
|
352
|
+
const currentQuote = quote;
|
|
346
353
|
const message = {
|
|
347
354
|
role,
|
|
348
355
|
content: text ? [{ type: "text" as const, text }] : [],
|
|
349
356
|
attachments: attachments as any,
|
|
350
357
|
createdAt: new Date(),
|
|
351
358
|
runConfig,
|
|
359
|
+
metadata: {
|
|
360
|
+
custom: { ...(currentQuote ? { quote: currentQuote } : {}) },
|
|
361
|
+
},
|
|
352
362
|
};
|
|
353
363
|
onSend?.(message);
|
|
354
364
|
setText("");
|
|
355
365
|
setAttachments([]);
|
|
366
|
+
setQuote(undefined);
|
|
356
367
|
},
|
|
357
368
|
cancel: onCancel,
|
|
358
369
|
beginEdit: () => {
|
|
@@ -360,6 +371,7 @@ const ComposerClientResource = resource(
|
|
|
360
371
|
},
|
|
361
372
|
startDictation: () => {},
|
|
362
373
|
stopDictation: () => {},
|
|
374
|
+
setQuote,
|
|
363
375
|
},
|
|
364
376
|
};
|
|
365
377
|
},
|
|
@@ -17,6 +17,7 @@ export const NoOpComposerClient = resource(
|
|
|
17
17
|
canCancel: false,
|
|
18
18
|
type: type,
|
|
19
19
|
dictation: undefined,
|
|
20
|
+
quote: undefined,
|
|
20
21
|
};
|
|
21
22
|
}, [type]);
|
|
22
23
|
|
|
@@ -60,6 +61,9 @@ export const NoOpComposerClient = resource(
|
|
|
60
61
|
beginEdit: () => {
|
|
61
62
|
throw new Error("Not supported");
|
|
62
63
|
},
|
|
64
|
+
setQuote: () => {
|
|
65
|
+
throw new Error("Not supported");
|
|
66
|
+
},
|
|
63
67
|
},
|
|
64
68
|
};
|
|
65
69
|
},
|
|
@@ -11,8 +11,9 @@ export const ChainOfThoughtByIndicesProvider: FC<
|
|
|
11
11
|
endIndex: number;
|
|
12
12
|
}>
|
|
13
13
|
> = ({ startIndex, endIndex, children }) => {
|
|
14
|
-
const parts = useAuiState((
|
|
15
|
-
|
|
14
|
+
const parts = useAuiState((s) => s.message.parts).slice(
|
|
15
|
+
startIndex,
|
|
16
|
+
endIndex + 1,
|
|
16
17
|
) as ChainOfThoughtPart[];
|
|
17
18
|
|
|
18
19
|
const parentAui = useAui();
|
|
@@ -40,7 +40,7 @@ export const ensureBinding = (r: unknown) => {
|
|
|
40
40
|
runtime.__internal_bindMethods?.();
|
|
41
41
|
runtime.__isBound = true;
|
|
42
42
|
|
|
43
|
-
if (process.env
|
|
43
|
+
if (process.env.NODE_ENV !== "production") {
|
|
44
44
|
debugVerifyPrototype(runtime, Object.getPrototypeOf(runtime));
|
|
45
45
|
}
|
|
46
46
|
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useAuiState } from "@assistant-ui/store";
|
|
4
|
+
import type { QuoteInfo } from "../types/QuoteTypes";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Hook that returns the quote info for the current message, if any.
|
|
8
|
+
*
|
|
9
|
+
* Reads from `message.metadata.custom.quote`.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* function QuoteBlock() {
|
|
14
|
+
* const quote = useMessageQuote();
|
|
15
|
+
* if (!quote) return null;
|
|
16
|
+
* return <blockquote>{quote.text}</blockquote>;
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export const useMessageQuote = (): QuoteInfo | undefined => {
|
|
21
|
+
return useAuiState(
|
|
22
|
+
(s) =>
|
|
23
|
+
(s.message.metadata?.custom as Record<string, unknown>)?.quote as
|
|
24
|
+
| QuoteInfo
|
|
25
|
+
| undefined,
|
|
26
|
+
);
|
|
27
|
+
};
|
|
@@ -32,10 +32,7 @@ export const AssistantRuntimeProviderImpl: FC<
|
|
|
32
32
|
const aui = useAui({ threads: RuntimeAdapter(runtime) }, { parent: parent });
|
|
33
33
|
|
|
34
34
|
useEffect(() => {
|
|
35
|
-
if (
|
|
36
|
-
typeof process === "undefined" ||
|
|
37
|
-
process.env["NODE_ENV"] === "production"
|
|
38
|
-
)
|
|
35
|
+
if (typeof process === "undefined" || process.env.NODE_ENV === "production")
|
|
39
36
|
return;
|
|
40
37
|
return DevToolsProviderApi.register(aui);
|
|
41
38
|
}, [aui]);
|
|
@@ -100,6 +100,7 @@ export const ComposerClient = resource(
|
|
|
100
100
|
isEmpty: runtimeState.isEmpty,
|
|
101
101
|
type: runtimeState.type ?? "thread",
|
|
102
102
|
dictation: runtimeState.dictation,
|
|
103
|
+
quote: runtimeState.quote,
|
|
103
104
|
};
|
|
104
105
|
}, [runtimeState, attachments.state]);
|
|
105
106
|
|
|
@@ -122,6 +123,7 @@ export const ComposerClient = resource(
|
|
|
122
123
|
}),
|
|
123
124
|
startDictation: runtime.startDictation,
|
|
124
125
|
stopDictation: runtime.stopDictation,
|
|
126
|
+
setQuote: runtime.setQuote,
|
|
125
127
|
attachment: (selector) => {
|
|
126
128
|
if ("id" in selector) {
|
|
127
129
|
return attachments.get({ key: selector.id });
|
|
@@ -62,6 +62,6 @@ const useThreadListRuntime = (opt: {
|
|
|
62
62
|
}): ThreadListRuntime | null => useAssistantRuntime(opt)?.threads ?? null;
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
|
-
* @deprecated Use `useAuiState((
|
|
65
|
+
* @deprecated Use `useAuiState((s) => s.threads)` instead. See migration guide: https://assistant-ui.com/docs/migrations/v0-12
|
|
66
66
|
*/
|
|
67
67
|
export const useThreadList = createStateHookForRuntime(useThreadListRuntime);
|
|
@@ -84,7 +84,7 @@ export function useMessageAttachmentRuntime(options?: {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/**
|
|
87
|
-
* @deprecated Use `useAuiState((
|
|
87
|
+
* @deprecated Use `useAuiState((s) => s.attachment)` instead. See migration guide: https://assistant-ui.com/docs/migrations/v0-12
|
|
88
88
|
*/
|
|
89
89
|
export const useAttachment = createStateHookForRuntime(useAttachmentRuntime);
|
|
90
90
|
|
|
@@ -44,8 +44,8 @@ import { createStateHookForRuntime } from "../../context/react/utils/createState
|
|
|
44
44
|
* // After:
|
|
45
45
|
* function ComposerActions() {
|
|
46
46
|
* const aui = useAui();
|
|
47
|
-
* const canSend = useAuiState((
|
|
48
|
-
* const canCancel = useAuiState((
|
|
47
|
+
* const canSend = useAuiState((s) => s.composer.canSend);
|
|
48
|
+
* const canCancel = useAuiState((s) => s.composer.canCancel);
|
|
49
49
|
* const handleSend = () => {
|
|
50
50
|
* if (canSend) {
|
|
51
51
|
* aui.composer().send();
|
|
@@ -87,7 +87,7 @@ export function useComposerRuntime(options?: {
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
/**
|
|
90
|
-
* @deprecated Use `useAuiState((
|
|
90
|
+
* @deprecated Use `useAuiState((s) => s.composer)` instead. See migration guide: https://assistant-ui.com/docs/migrations/v0-12
|
|
91
91
|
*
|
|
92
92
|
* Hook to access the current composer state.
|
|
93
93
|
*
|
|
@@ -115,9 +115,9 @@ export function useComposerRuntime(options?: {
|
|
|
115
115
|
*
|
|
116
116
|
* // After:
|
|
117
117
|
* function ComposerStatus() {
|
|
118
|
-
* const text = useAuiState((
|
|
119
|
-
* const canSend = useAuiState((
|
|
120
|
-
* const attachmentCount = useAuiState((
|
|
118
|
+
* const text = useAuiState((s) => s.composer.text);
|
|
119
|
+
* const canSend = useAuiState((s) => s.composer.canSend);
|
|
120
|
+
* const attachmentCount = useAuiState((s) => s.composer.attachments.length);
|
|
121
121
|
* return (
|
|
122
122
|
* <div>
|
|
123
123
|
* Text: {text.length} chars,
|
|
@@ -76,7 +76,7 @@ export function useMessageRuntime(options?: {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
|
-
* @deprecated Use `useAuiState((
|
|
79
|
+
* @deprecated Use `useAuiState((s) => s.message)` instead. See migration guide: https://assistant-ui.com/docs/migrations/v0-12
|
|
80
80
|
*
|
|
81
81
|
* Hook to access the current message state.
|
|
82
82
|
*
|
|
@@ -102,9 +102,9 @@ export function useMessageRuntime(options?: {
|
|
|
102
102
|
*
|
|
103
103
|
* // After:
|
|
104
104
|
* function MessageContent() {
|
|
105
|
-
* const role = useAuiState((
|
|
106
|
-
* const content = useAuiState((
|
|
107
|
-
* const isLoading = useAuiState((
|
|
105
|
+
* const role = useAuiState((s) => s.message.role);
|
|
106
|
+
* const content = useAuiState((s) => s.message.content);
|
|
107
|
+
* const isLoading = useAuiState((s) => s.message.status.type === "running");
|
|
108
108
|
* return (
|
|
109
109
|
* <div className={`message-${role}`}>
|
|
110
110
|
* {isLoading ? "Loading..." : content.map(part => part.text).join("")}
|
|
@@ -120,7 +120,7 @@ const useEditComposerRuntime = (opt: {
|
|
|
120
120
|
}): EditComposerRuntime | null => useMessageRuntime(opt)?.composer ?? null;
|
|
121
121
|
|
|
122
122
|
/**
|
|
123
|
-
* @deprecated Use `useAuiState((
|
|
123
|
+
* @deprecated Use `useAuiState((s) => s.message.composer)` instead. See migration guide: https://assistant-ui.com/docs/migrations/v0-12
|
|
124
124
|
*/
|
|
125
125
|
export const useEditComposer = createStateHookForRuntime(
|
|
126
126
|
useEditComposerRuntime,
|
|
@@ -27,6 +27,6 @@ export function useMessagePartRuntime(options?: {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
* @deprecated Use `useAuiState((
|
|
30
|
+
* @deprecated Use `useAuiState((s) => s.part)` instead. See migration guide: https://assistant-ui.com/docs/migrations/v0-12
|
|
31
31
|
*/
|
|
32
32
|
export const useMessagePart = createStateHookForRuntime(useMessagePartRuntime);
|
|
@@ -58,7 +58,7 @@ export function useThreadRuntime(options?: { optional?: boolean | undefined }) {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
|
-
* @deprecated Use `useAuiState((
|
|
61
|
+
* @deprecated Use `useAuiState((s) => s.thread)` instead. See migration guide: https://assistant-ui.com/docs/migrations/v0-12
|
|
62
62
|
*
|
|
63
63
|
* Hook to access the current thread state.
|
|
64
64
|
*
|
|
@@ -79,8 +79,8 @@ export function useThreadRuntime(options?: { optional?: boolean | undefined }) {
|
|
|
79
79
|
*
|
|
80
80
|
* // After:
|
|
81
81
|
* function ThreadStatus() {
|
|
82
|
-
* const isRunning = useAuiState((
|
|
83
|
-
* const messageCount = useAuiState((
|
|
82
|
+
* const isRunning = useAuiState((s) => s.thread.isRunning);
|
|
83
|
+
* const messageCount = useAuiState((s) => s.thread.messages.length);
|
|
84
84
|
* return <div>Running: {isRunning}, Messages: {messageCount}</div>;
|
|
85
85
|
* }
|
|
86
86
|
* ```
|
|
@@ -92,14 +92,14 @@ const useThreadComposerRuntime = (opt: {
|
|
|
92
92
|
}): ThreadComposerRuntime | null => useThreadRuntime(opt)?.composer ?? null;
|
|
93
93
|
|
|
94
94
|
/**
|
|
95
|
-
* @deprecated Use `useAuiState((
|
|
95
|
+
* @deprecated Use `useAuiState((s) => s.thread.composer)` instead. See migration guide: https://assistant-ui.com/docs/migrations/v0-12
|
|
96
96
|
*/
|
|
97
97
|
export const useThreadComposer = createStateHookForRuntime(
|
|
98
98
|
useThreadComposerRuntime,
|
|
99
99
|
);
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
|
-
* @deprecated Use `useAuiState((
|
|
102
|
+
* @deprecated Use `useAuiState((s) => s.thread.modelContext)` instead. See migration guide: https://assistant-ui.com/docs/migrations/v0-12
|
|
103
103
|
*/
|
|
104
104
|
export function useThreadModelContext(options?: {
|
|
105
105
|
optional?: false | undefined;
|
|
@@ -29,7 +29,7 @@ export function useThreadListItemRuntime(options?: {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
|
-
* @deprecated Use `useAuiState((
|
|
32
|
+
* @deprecated Use `useAuiState((s) => s.threadListItem)` instead. See migration guide: https://assistant-ui.com/docs/migrations/v0-12
|
|
33
33
|
*/
|
|
34
34
|
export const useThreadListItem = createStateHookForRuntime(
|
|
35
35
|
useThreadListItemRuntime,
|
|
@@ -10,6 +10,7 @@ import type {
|
|
|
10
10
|
} from "../runtime-cores/core/ComposerRuntimeCore";
|
|
11
11
|
import type { Unsubscribe } from "../../types";
|
|
12
12
|
import type { MessageRole, RunConfig } from "../../types/AssistantTypes";
|
|
13
|
+
import type { QuoteInfo } from "../../types/QuoteTypes";
|
|
13
14
|
import type {
|
|
14
15
|
ThreadComposerRuntimeCoreBinding,
|
|
15
16
|
EditComposerRuntimeCoreBinding,
|
|
@@ -51,6 +52,12 @@ type BaseComposerState = {
|
|
|
51
52
|
* Undefined when dictation is not active.
|
|
52
53
|
*/
|
|
53
54
|
readonly dictation: DictationState | undefined;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* The currently quoted text, if any.
|
|
58
|
+
* Undefined when no quote is set.
|
|
59
|
+
*/
|
|
60
|
+
readonly quote: QuoteInfo | undefined;
|
|
54
61
|
};
|
|
55
62
|
|
|
56
63
|
export type ThreadComposerState = BaseComposerState & {
|
|
@@ -83,6 +90,7 @@ const getThreadComposerState = (
|
|
|
83
90
|
runConfig: runtime?.runConfig ?? EMPTY_OBJECT,
|
|
84
91
|
attachmentAccept: runtime?.attachmentAccept ?? "",
|
|
85
92
|
dictation: runtime?.dictation,
|
|
93
|
+
quote: runtime?.quote,
|
|
86
94
|
|
|
87
95
|
value: runtime?.text ?? "",
|
|
88
96
|
});
|
|
@@ -104,6 +112,7 @@ const getEditComposerState = (
|
|
|
104
112
|
runConfig: runtime?.runConfig ?? EMPTY_OBJECT,
|
|
105
113
|
attachmentAccept: runtime?.attachmentAccept ?? "",
|
|
106
114
|
dictation: runtime?.dictation,
|
|
115
|
+
quote: runtime?.quote,
|
|
107
116
|
|
|
108
117
|
value: runtime?.text ?? "",
|
|
109
118
|
});
|
|
@@ -192,6 +201,12 @@ export type ComposerRuntime = {
|
|
|
192
201
|
*/
|
|
193
202
|
stopDictation(): void;
|
|
194
203
|
|
|
204
|
+
/**
|
|
205
|
+
* Set a quote for the next message. Pass undefined to clear.
|
|
206
|
+
* @param quote The quote info to set, or undefined to clear.
|
|
207
|
+
*/
|
|
208
|
+
setQuote(quote: QuoteInfo | undefined): void;
|
|
209
|
+
|
|
195
210
|
/**
|
|
196
211
|
* @deprecated This API is still under active development and might change without notice.
|
|
197
212
|
*/
|
|
@@ -224,6 +239,7 @@ export abstract class ComposerRuntimeImpl implements ComposerRuntime {
|
|
|
224
239
|
this.getAttachmentByIndex = this.getAttachmentByIndex.bind(this);
|
|
225
240
|
this.startDictation = this.startDictation.bind(this);
|
|
226
241
|
this.stopDictation = this.stopDictation.bind(this);
|
|
242
|
+
this.setQuote = this.setQuote.bind(this);
|
|
227
243
|
this.unstable_on = this.unstable_on.bind(this);
|
|
228
244
|
}
|
|
229
245
|
|
|
@@ -289,6 +305,12 @@ export abstract class ComposerRuntimeImpl implements ComposerRuntime {
|
|
|
289
305
|
core.stopDictation();
|
|
290
306
|
}
|
|
291
307
|
|
|
308
|
+
public setQuote(quote: QuoteInfo | undefined) {
|
|
309
|
+
const core = this._core.getState();
|
|
310
|
+
if (!core) throw new Error("Composer is not available");
|
|
311
|
+
core.setQuote(quote);
|
|
312
|
+
}
|
|
313
|
+
|
|
292
314
|
public subscribe(callback: () => void) {
|
|
293
315
|
return this._core.subscribe(callback);
|
|
294
316
|
}
|
|
@@ -31,6 +31,8 @@ export type AssistantMessage = {
|
|
|
31
31
|
export type AddMessageCommand = {
|
|
32
32
|
readonly type: "add-message";
|
|
33
33
|
readonly message: UserMessage | AssistantMessage;
|
|
34
|
+
readonly parentId: string | null;
|
|
35
|
+
readonly sourceId: string | null;
|
|
34
36
|
};
|
|
35
37
|
|
|
36
38
|
export type AddToolResultCommand = {
|
|
@@ -109,6 +111,9 @@ export type AssistantTransportOptions<T> = {
|
|
|
109
111
|
updateState: (updater: (state: T) => T) => void;
|
|
110
112
|
error?: Error;
|
|
111
113
|
}) => void;
|
|
114
|
+
capabilities?: {
|
|
115
|
+
edit?: boolean;
|
|
116
|
+
};
|
|
112
117
|
adapters?: {
|
|
113
118
|
attachments?: AttachmentAdapter | undefined;
|
|
114
119
|
history?: ThreadHistoryAdapter | undefined;
|