@assistant-ui/react 0.10.50 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/AttachmentRuntime.d.ts.map +1 -1
- package/dist/api/AttachmentRuntime.js +1 -0
- package/dist/api/AttachmentRuntime.js.map +1 -1
- package/dist/api/ComposerRuntime.d.ts +5 -2
- package/dist/api/ComposerRuntime.d.ts.map +1 -1
- package/dist/api/ComposerRuntime.js +4 -6
- package/dist/api/ComposerRuntime.js.map +1 -1
- package/dist/api/MessagePartRuntime.d.ts.map +1 -1
- package/dist/api/MessagePartRuntime.js +1 -0
- package/dist/api/MessagePartRuntime.js.map +1 -1
- package/dist/api/MessageRuntime.d.ts.map +1 -1
- package/dist/api/MessageRuntime.js +1 -0
- package/dist/api/MessageRuntime.js.map +1 -1
- package/dist/api/ThreadListItemRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListItemRuntime.js +5 -0
- package/dist/api/ThreadListItemRuntime.js.map +1 -1
- package/dist/api/ThreadListRuntime.d.ts +2 -3
- package/dist/api/ThreadListRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListRuntime.js +6 -7
- package/dist/api/ThreadListRuntime.js.map +1 -1
- package/dist/api/ThreadRuntime.d.ts +6 -6
- package/dist/api/ThreadRuntime.d.ts.map +1 -1
- package/dist/api/ThreadRuntime.js +5 -4
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/client/AssistantRuntimeClient.d.ts +86 -0
- package/dist/client/AssistantRuntimeClient.d.ts.map +1 -0
- package/dist/client/AssistantRuntimeClient.js +138 -0
- package/dist/client/AssistantRuntimeClient.js.map +1 -0
- package/dist/client/AttachmentClient.d.ts +6 -0
- package/dist/client/AttachmentClient.d.ts.map +1 -0
- package/dist/client/AttachmentClient.js +1 -0
- package/dist/client/AttachmentClient.js.map +1 -0
- package/dist/client/ComposerClient.d.ts +42 -0
- package/dist/client/ComposerClient.d.ts.map +1 -0
- package/dist/client/ComposerClient.js +76 -0
- package/dist/client/ComposerClient.js.map +1 -0
- package/dist/client/EventManagerClient.d.ts +9 -0
- package/dist/client/EventManagerClient.d.ts.map +1 -0
- package/dist/client/EventManagerClient.js +40 -0
- package/dist/client/EventManagerClient.js.map +1 -0
- package/dist/client/MessageClient.d.ts +67 -0
- package/dist/client/MessageClient.d.ts.map +1 -0
- package/dist/client/MessageClient.js +108 -0
- package/dist/client/MessageClient.js.map +1 -0
- package/dist/client/MessagePartClient.d.ts +21 -0
- package/dist/client/MessagePartClient.d.ts.map +1 -0
- package/dist/client/MessagePartClient.js +25 -0
- package/dist/client/MessagePartClient.js.map +1 -0
- package/dist/client/ThreadClient.d.ts +111 -0
- package/dist/client/ThreadClient.d.ts.map +1 -0
- package/dist/client/ThreadClient.js +126 -0
- package/dist/client/ThreadClient.js.map +1 -0
- package/dist/client/ThreadListClient.d.ts +33 -0
- package/dist/client/ThreadListClient.d.ts.map +1 -0
- package/dist/client/ThreadListClient.js +87 -0
- package/dist/client/ThreadListClient.js.map +1 -0
- package/dist/client/ThreadListItemClient.d.ts +32 -0
- package/dist/client/ThreadListItemClient.d.ts.map +1 -0
- package/dist/client/ThreadListItemClient.js +53 -0
- package/dist/client/ThreadListItemClient.js.map +1 -0
- package/dist/client/util-hooks/tapLookupResources.d.ts +16 -0
- package/dist/client/util-hooks/tapLookupResources.d.ts.map +1 -0
- package/dist/client/util-hooks/tapLookupResources.js +21 -0
- package/dist/client/util-hooks/tapLookupResources.js.map +1 -0
- package/dist/client/util-hooks/tapSubscribable.d.ts +3 -0
- package/dist/client/util-hooks/tapSubscribable.d.ts.map +1 -0
- package/dist/client/util-hooks/tapSubscribable.js +16 -0
- package/dist/client/util-hooks/tapSubscribable.js.map +1 -0
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js +21 -12
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.d.ts +3 -3
- package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.js +14 -42
- package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
- package/dist/context/providers/AttachmentProvider.d.ts +8 -0
- package/dist/context/providers/AttachmentProvider.d.ts.map +1 -0
- package/dist/context/providers/AttachmentProvider.js +41 -0
- package/dist/context/providers/AttachmentProvider.js.map +1 -0
- package/dist/context/providers/MessageProvider.d.ts +5 -0
- package/dist/context/providers/MessageProvider.d.ts.map +1 -0
- package/dist/context/providers/MessageProvider.js +47 -0
- package/dist/context/providers/MessageProvider.js.map +1 -0
- package/dist/context/providers/PartProvider.d.ts +5 -0
- package/dist/context/providers/PartProvider.d.ts.map +1 -0
- package/dist/context/providers/PartProvider.js +27 -0
- package/dist/context/providers/PartProvider.js.map +1 -0
- package/dist/context/providers/TextMessagePartProvider.d.ts +5 -8
- package/dist/context/providers/TextMessagePartProvider.d.ts.map +1 -1
- package/dist/context/providers/TextMessagePartProvider.js +42 -53
- package/dist/context/providers/TextMessagePartProvider.js.map +1 -1
- package/dist/context/providers/ThreadListItemProvider.d.ts +9 -0
- package/dist/context/providers/ThreadListItemProvider.d.ts.map +1 -0
- package/dist/context/providers/ThreadListItemProvider.js +65 -0
- package/dist/context/providers/ThreadListItemProvider.js.map +1 -0
- package/dist/context/providers/index.d.ts +4 -1
- package/dist/context/providers/index.d.ts.map +1 -1
- package/dist/context/providers/index.js +17 -3
- package/dist/context/providers/index.js.map +1 -1
- package/dist/context/react/AssistantApiContext.d.ts +112 -0
- package/dist/context/react/AssistantApiContext.d.ts.map +1 -0
- package/dist/context/react/AssistantApiContext.js +197 -0
- package/dist/context/react/AssistantApiContext.js.map +1 -0
- package/dist/context/react/index.d.ts +9 -12
- package/dist/context/react/index.d.ts.map +1 -1
- package/dist/context/react/index.js +38 -33
- package/dist/context/react/index.js.map +1 -1
- package/dist/context/react/legacy/AssistantContext.d.ts +58 -0
- package/dist/context/react/legacy/AssistantContext.d.ts.map +1 -0
- package/dist/context/react/legacy/AssistantContext.js +20 -0
- package/dist/context/react/legacy/AssistantContext.js.map +1 -0
- package/dist/context/react/{AttachmentContext.d.ts → legacy/AttachmentContext.d.ts} +133 -139
- package/dist/context/react/legacy/AttachmentContext.d.ts.map +1 -0
- package/dist/context/react/{AttachmentContext.js → legacy/AttachmentContext.js} +9 -15
- package/dist/context/react/legacy/AttachmentContext.js.map +1 -0
- package/dist/context/react/{ComposerContext.d.ts → legacy/ComposerContext.d.ts} +12 -12
- package/dist/context/react/legacy/ComposerContext.d.ts.map +1 -0
- package/dist/context/react/legacy/ComposerContext.js +19 -0
- package/dist/context/react/legacy/ComposerContext.js.map +1 -0
- package/dist/context/react/{MessageContext.d.ts → legacy/MessageContext.d.ts} +23 -47
- package/dist/context/react/legacy/MessageContext.d.ts.map +1 -0
- package/dist/context/react/legacy/MessageContext.js +24 -0
- package/dist/context/react/legacy/MessageContext.js.map +1 -0
- package/dist/context/react/legacy/MessagePartContext.d.ts +35 -0
- package/dist/context/react/legacy/MessagePartContext.d.ts.map +1 -0
- package/dist/context/react/legacy/MessagePartContext.js +19 -0
- package/dist/context/react/legacy/MessagePartContext.js.map +1 -0
- package/dist/context/react/{ThreadContext.d.ts → legacy/ThreadContext.d.ts} +24 -30
- package/dist/context/react/legacy/ThreadContext.d.ts.map +1 -0
- package/dist/context/react/legacy/ThreadContext.js +33 -0
- package/dist/context/react/legacy/ThreadContext.js.map +1 -0
- package/dist/context/react/legacy/ThreadListItemContext.d.ts +35 -0
- package/dist/context/react/legacy/ThreadListItemContext.d.ts.map +1 -0
- package/dist/context/react/legacy/ThreadListItemContext.js +21 -0
- package/dist/context/react/legacy/ThreadListItemContext.js.map +1 -0
- package/dist/context/stores/index.d.ts +0 -2
- package/dist/context/stores/index.d.ts.map +1 -1
- package/dist/hooks/useAssistantEvent.d.ts +3 -0
- package/dist/hooks/useAssistantEvent.d.ts.map +1 -0
- package/dist/hooks/useAssistantEvent.js +22 -0
- package/dist/hooks/useAssistantEvent.js.map +1 -0
- package/dist/model-context/makeAssistantVisible.js +4 -4
- package/dist/model-context/makeAssistantVisible.js.map +1 -1
- package/dist/model-context/useAssistantInstructions.js +4 -4
- package/dist/model-context/useAssistantInstructions.js.map +1 -1
- package/dist/model-context/useAssistantTool.d.ts.map +1 -1
- package/dist/model-context/useAssistantTool.js +7 -10
- package/dist/model-context/useAssistantTool.js.map +1 -1
- package/dist/model-context/useAssistantToolUI.js +5 -5
- package/dist/model-context/useAssistantToolUI.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js +12 -17
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.js +5 -5
- package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +6 -7
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +6 -6
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.js +6 -10
- package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.js +6 -6
- package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js +5 -8
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.js +10 -21
- package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.js +4 -4
- package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
- package/dist/primitives/attachment/AttachmentName.js +2 -2
- package/dist/primitives/attachment/AttachmentName.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.js +4 -4
- package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.js +5 -2
- package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.js +2 -2
- package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.js +7 -8
- package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.js +2 -2
- package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.js +7 -8
- package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.js +6 -6
- package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachmentDropzone.js +4 -4
- package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.js +11 -13
- package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.js +5 -5
- package/dist/primitives/composer/ComposerCancel.js.map +1 -1
- package/dist/primitives/composer/ComposerIf.js +2 -2
- package/dist/primitives/composer/ComposerIf.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +22 -32
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerSend.js +6 -10
- package/dist/primitives/composer/ComposerSend.js.map +1 -1
- package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
- package/dist/primitives/error/ErrorMessage.js +3 -3
- package/dist/primitives/error/ErrorMessage.js.map +1 -1
- package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
- package/dist/primitives/message/MessageAttachments.js +9 -11
- package/dist/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/primitives/message/MessageError.d.ts.map +1 -1
- package/dist/primitives/message/MessageError.js +3 -3
- package/dist/primitives/message/MessageError.js.map +1 -1
- package/dist/primitives/message/MessageIf.d.ts.map +1 -1
- package/dist/primitives/message/MessageIf.js +28 -34
- package/dist/primitives/message/MessageIf.js.map +1 -1
- package/dist/primitives/message/MessageParts.d.ts.map +1 -1
- package/dist/primitives/message/MessageParts.js +25 -27
- package/dist/primitives/message/MessageParts.js.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.js +24 -26
- package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.js +8 -7
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.js +4 -2
- package/dist/primitives/messagePart/MessagePartInProgress.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartFile.js +4 -4
- package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartImage.js +4 -4
- package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartReasoning.js +4 -4
- package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartSource.js +4 -4
- package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartText.js +4 -4
- package/dist/primitives/messagePart/useMessagePartText.js.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.js +2 -2
- package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
- package/dist/primitives/thread/ThreadIf.js +2 -2
- package/dist/primitives/thread/ThreadIf.js.map +1 -1
- package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js +9 -12
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.js +8 -8
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.js +3 -6
- package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.js +7 -10
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.d.ts +1 -3
- package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.js +7 -11
- package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.js +4 -4
- package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.js +6 -5
- package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +4 -2
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTitle.js +2 -2
- package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js +6 -5
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +6 -5
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
- package/dist/runtimes/adapters/attachment/index.js.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js +3 -3
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js +5 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ComposerRuntimeCore.d.ts +2 -2
- package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +5 -5
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +5 -2
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +6 -4
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +42 -7
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +3 -0
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/createMessageConverter.d.ts +2 -2
- package/dist/runtimes/external-store/createMessageConverter.d.ts.map +1 -1
- package/dist/runtimes/external-store/createMessageConverter.js +9 -6
- package/dist/runtimes/external-store/createMessageConverter.js.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +10 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +15 -2
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +3 -5
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +13 -19
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +11 -7
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +41 -35
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/tests/setup.js +8 -8
- package/dist/tests/setup.js.map +1 -1
- package/dist/types/EventTypes.d.ts +49 -0
- package/dist/types/EventTypes.d.ts.map +1 -0
- package/dist/types/EventTypes.js +22 -0
- package/dist/types/EventTypes.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/smooth/SmoothContext.js +3 -3
- package/dist/utils/smooth/SmoothContext.js.map +1 -1
- package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
- package/dist/utils/smooth/useSmooth.js +2 -5
- package/dist/utils/smooth/useSmooth.js.map +1 -1
- package/dist/utils/tap-store/index.d.ts +3 -0
- package/dist/utils/tap-store/index.d.ts.map +1 -0
- package/dist/utils/tap-store/index.js +8 -0
- package/dist/utils/tap-store/index.js.map +1 -0
- package/dist/utils/tap-store/store.d.ts +21 -0
- package/dist/utils/tap-store/store.d.ts.map +1 -0
- package/dist/utils/tap-store/store.js +29 -0
- package/dist/utils/tap-store/store.js.map +1 -0
- package/dist/utils/tap-store/tap-store-api.d.ts +8 -0
- package/dist/utils/tap-store/tap-store-api.d.ts.map +1 -0
- package/dist/utils/tap-store/tap-store-api.js +57 -0
- package/dist/utils/tap-store/tap-store-api.js.map +1 -0
- package/dist/utils/useToolArgsFieldStatus.js +6 -6
- package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
- package/package.json +2 -1
- package/src/api/AttachmentRuntime.ts +3 -1
- package/src/api/ComposerRuntime.ts +16 -9
- package/src/api/MessagePartRuntime.ts +3 -1
- package/src/api/MessageRuntime.ts +2 -0
- package/src/api/ThreadListItemRuntime.ts +11 -1
- package/src/api/ThreadListRuntime.ts +9 -9
- package/src/api/ThreadRuntime.ts +9 -7
- package/src/client/AssistantRuntimeClient.ts +197 -0
- package/src/client/AttachmentClient.ts +11 -0
- package/src/client/ComposerClient.ts +133 -0
- package/src/client/EventManagerClient.ts +63 -0
- package/src/client/MessageClient.ts +196 -0
- package/src/client/MessagePartClient.ts +53 -0
- package/src/client/ThreadClient.ts +280 -0
- package/src/client/ThreadListClient.ts +135 -0
- package/src/client/ThreadListItemClient.ts +88 -0
- package/src/client/util-hooks/tapLookupResources.ts +31 -0
- package/src/client/util-hooks/tapSubscribable.ts +16 -0
- package/src/cloud/AssistantCloudThreadHistoryAdapter.tsx +24 -13
- package/src/context/providers/AssistantRuntimeProvider.tsx +27 -51
- package/src/context/providers/AttachmentProvider.tsx +48 -0
- package/src/context/providers/MessageProvider.tsx +57 -0
- package/src/context/providers/PartProvider.tsx +28 -0
- package/src/context/providers/TextMessagePartProvider.tsx +53 -78
- package/src/context/providers/ThreadListItemProvider.tsx +84 -0
- package/src/context/providers/index.ts +10 -3
- package/src/context/react/AssistantApiContext.tsx +392 -0
- package/src/context/react/index.ts +30 -37
- package/src/context/react/{AssistantContext.ts → legacy/AssistantContext.ts} +12 -31
- package/src/context/react/{AttachmentContext.ts → legacy/AttachmentContext.ts} +11 -22
- package/src/context/react/{ComposerContext.ts → legacy/ComposerContext.ts} +11 -9
- package/src/context/react/{MessageContext.ts → legacy/MessageContext.ts} +12 -29
- package/src/context/react/legacy/MessagePartContext.ts +24 -0
- package/src/context/react/{ThreadContext.ts → legacy/ThreadContext.ts} +15 -25
- package/src/context/react/legacy/ThreadListItemContext.ts +28 -0
- package/src/context/stores/index.ts +0 -2
- package/src/hooks/useAssistantEvent.ts +24 -0
- package/src/model-context/makeAssistantVisible.tsx +4 -4
- package/src/model-context/useAssistantInstructions.tsx +4 -4
- package/src/model-context/useAssistantTool.tsx +7 -12
- package/src/model-context/useAssistantToolUI.tsx +5 -5
- package/src/primitives/actionBar/ActionBarCopy.tsx +14 -20
- package/src/primitives/actionBar/ActionBarEdit.tsx +5 -5
- package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +6 -7
- package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +6 -6
- package/src/primitives/actionBar/ActionBarReload.tsx +9 -10
- package/src/primitives/actionBar/ActionBarSpeak.tsx +7 -7
- package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +5 -8
- package/src/primitives/actionBar/useActionBarFloatStatus.tsx +22 -34
- package/src/primitives/assistantModal/AssistantModalRoot.tsx +4 -4
- package/src/primitives/attachment/AttachmentName.tsx +2 -2
- package/src/primitives/attachment/AttachmentRemove.tsx +4 -4
- package/src/primitives/attachment/AttachmentThumb.tsx +5 -2
- package/src/primitives/branchPicker/BranchPickerCount.tsx +2 -2
- package/src/primitives/branchPicker/BranchPickerNext.tsx +7 -8
- package/src/primitives/branchPicker/BranchPickerNumber.tsx +2 -2
- package/src/primitives/branchPicker/BranchPickerPrevious.tsx +7 -8
- package/src/primitives/composer/ComposerAddAttachment.tsx +6 -6
- package/src/primitives/composer/ComposerAttachmentDropzone.tsx +4 -4
- package/src/primitives/composer/ComposerAttachments.tsx +12 -15
- package/src/primitives/composer/ComposerCancel.tsx +5 -5
- package/src/primitives/composer/ComposerIf.tsx +2 -2
- package/src/primitives/composer/ComposerInput.tsx +32 -32
- package/src/primitives/composer/ComposerSend.tsx +6 -10
- package/src/primitives/error/ErrorMessage.tsx +5 -4
- package/src/primitives/message/MessageAttachments.tsx +10 -13
- package/src/primitives/message/MessageError.tsx +5 -3
- package/src/primitives/message/MessageIf.tsx +43 -52
- package/src/primitives/message/MessageParts.tsx +26 -31
- package/src/primitives/message/MessagePartsGrouped.tsx +25 -30
- package/src/primitives/message/MessageRoot.tsx +10 -8
- package/src/primitives/messagePart/MessagePartInProgress.tsx +4 -2
- package/src/primitives/messagePart/useMessagePartFile.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartImage.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartReasoning.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartSource.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartText.tsx +4 -4
- package/src/primitives/thread/ThreadEmpty.tsx +2 -2
- package/src/primitives/thread/ThreadIf.tsx +2 -2
- package/src/primitives/thread/ThreadMessages.tsx +10 -14
- package/src/primitives/thread/ThreadSuggestion.tsx +8 -8
- package/src/primitives/thread/useThreadViewportAutoScroll.tsx +3 -6
- package/src/primitives/threadList/ThreadListItems.tsx +8 -15
- package/src/primitives/threadList/ThreadListNew.tsx +9 -13
- package/src/primitives/threadListItem/ThreadListItemArchive.ts +4 -4
- package/src/primitives/threadListItem/ThreadListItemDelete.ts +6 -5
- package/src/primitives/threadListItem/ThreadListItemRoot.tsx +4 -2
- package/src/primitives/threadListItem/ThreadListItemTitle.tsx +2 -2
- package/src/primitives/threadListItem/ThreadListItemTrigger.ts +6 -5
- package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +6 -5
- package/src/runtimes/adapters/attachment/index.ts +1 -1
- package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +3 -3
- package/src/runtimes/core/BaseThreadRuntimeCore.tsx +5 -1
- package/src/runtimes/core/ComposerRuntimeCore.tsx +2 -2
- package/src/runtimes/core/ThreadListRuntimeCore.tsx +6 -4
- package/src/runtimes/external-store/ExternalStoreAdapter.tsx +5 -2
- package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +53 -12
- package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +4 -0
- package/src/runtimes/external-store/createMessageConverter.tsx +10 -6
- package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +16 -2
- package/src/runtimes/remote-thread-list/EMPTY_THREAD_CORE.tsx +3 -6
- package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +14 -19
- package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +50 -43
- package/src/types/EventTypes.ts +92 -0
- package/src/types/index.ts +6 -0
- package/src/utils/smooth/SmoothContext.tsx +3 -3
- package/src/utils/smooth/useSmooth.tsx +2 -5
- package/src/utils/tap-store/index.ts +2 -0
- package/src/utils/tap-store/store.ts +51 -0
- package/src/utils/tap-store/tap-store-api.ts +75 -0
- package/src/utils/useToolArgsFieldStatus.tsx +6 -6
- package/dist/context/providers/AttachmentRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/AttachmentRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/AttachmentRuntimeProvider.js +0 -33
- package/dist/context/providers/AttachmentRuntimeProvider.js.map +0 -1
- package/dist/context/providers/MessagePartRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/MessagePartRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/MessagePartRuntimeProvider.js +0 -28
- package/dist/context/providers/MessagePartRuntimeProvider.js.map +0 -1
- package/dist/context/providers/MessageRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/MessageRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/MessageRuntimeProvider.js +0 -37
- package/dist/context/providers/MessageRuntimeProvider.js.map +0 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.js +0 -30
- package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +0 -1
- package/dist/context/providers/ThreadRuntimeProvider.d.ts +0 -10
- package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/ThreadRuntimeProvider.js +0 -33
- package/dist/context/providers/ThreadRuntimeProvider.js.map +0 -1
- package/dist/context/react/AssistantContext.d.ts +0 -85
- package/dist/context/react/AssistantContext.d.ts.map +0 -1
- package/dist/context/react/AssistantContext.js +0 -34
- package/dist/context/react/AssistantContext.js.map +0 -1
- package/dist/context/react/AttachmentContext.d.ts.map +0 -1
- package/dist/context/react/AttachmentContext.js.map +0 -1
- package/dist/context/react/ComposerContext.d.ts.map +0 -1
- package/dist/context/react/ComposerContext.js +0 -17
- package/dist/context/react/ComposerContext.js.map +0 -1
- package/dist/context/react/MessageContext.d.ts.map +0 -1
- package/dist/context/react/MessageContext.js +0 -35
- package/dist/context/react/MessageContext.js.map +0 -1
- package/dist/context/react/MessagePartContext.d.ts +0 -41
- package/dist/context/react/MessagePartContext.d.ts.map +0 -1
- package/dist/context/react/MessagePartContext.js +0 -25
- package/dist/context/react/MessagePartContext.js.map +0 -1
- package/dist/context/react/ThreadContext.d.ts.map +0 -1
- package/dist/context/react/ThreadContext.js +0 -38
- package/dist/context/react/ThreadContext.js.map +0 -1
- package/dist/context/react/ThreadListItemContext.d.ts +0 -41
- package/dist/context/react/ThreadListItemContext.d.ts.map +0 -1
- package/dist/context/react/ThreadListItemContext.js +0 -25
- package/dist/context/react/ThreadListItemContext.js.map +0 -1
- package/dist/context/stores/AssistantToolUIs.d.ts +0 -14
- package/dist/context/stores/AssistantToolUIs.d.ts.map +0 -1
- package/dist/context/stores/AssistantToolUIs.js +0 -35
- package/dist/context/stores/AssistantToolUIs.js.map +0 -1
- package/dist/context/stores/MessageUtils.d.ts +0 -8
- package/dist/context/stores/MessageUtils.d.ts.map +0 -1
- package/dist/context/stores/MessageUtils.js +0 -18
- package/dist/context/stores/MessageUtils.js.map +0 -1
- package/dist/utils/combined/createCombinedStore.d.ts +0 -8
- package/dist/utils/combined/createCombinedStore.d.ts.map +0 -1
- package/dist/utils/combined/createCombinedStore.js +0 -22
- package/dist/utils/combined/createCombinedStore.js.map +0 -1
- package/dist/utils/combined/useCombinedStore.d.ts +0 -3
- package/dist/utils/combined/useCombinedStore.d.ts.map +0 -1
- package/dist/utils/combined/useCombinedStore.js +0 -15
- package/dist/utils/combined/useCombinedStore.js.map +0 -1
- package/src/context/providers/AttachmentRuntimeProvider.tsx +0 -44
- package/src/context/providers/MessagePartRuntimeProvider.tsx +0 -42
- package/src/context/providers/MessageRuntimeProvider.tsx +0 -50
- package/src/context/providers/ThreadListItemRuntimeProvider.tsx +0 -43
- package/src/context/providers/ThreadRuntimeProvider.tsx +0 -53
- package/src/context/react/MessagePartContext.ts +0 -37
- package/src/context/react/ThreadListItemContext.ts +0 -38
- package/src/context/stores/AssistantToolUIs.ts +0 -51
- package/src/context/stores/MessageUtils.ts +0 -23
- package/src/utils/combined/createCombinedStore.ts +0 -31
- package/src/utils/combined/useCombinedStore.ts +0 -17
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useAssistantEvent.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { useAssistantApi } from \"../context/react/AssistantApiContext\";\nimport {\n AssistantEventSelector,\n AssistantEvents,\n normalizeEventSelector,\n} from \"../types/EventTypes\";\n\nexport const useAssistantEvent = <TEvent extends keyof AssistantEvents>(\n selector: AssistantEventSelector<TEvent>,\n callback: (e: AssistantEvents[TEvent]) => void,\n) => {\n const api = useAssistantApi();\n const callbackRef = useRef(callback);\n useEffect(() => {\n callbackRef.current = callback;\n });\n\n const { scope, event } = normalizeEventSelector(selector);\n useEffect(\n () => api.on({ scope, event }, (e) => callbackRef.current(e)),\n [api, scope, event],\n );\n};\n"],"mappings":";AAAA,SAAS,WAAW,cAAc;AAClC,SAAS,uBAAuB;AAChC;AAAA,EAGE;AAAA,OACK;AAEA,IAAM,oBAAoB,CAC/B,UACA,aACG;AACH,QAAM,MAAM,gBAAgB;AAC5B,QAAM,cAAc,OAAO,QAAQ;AACnC,YAAU,MAAM;AACd,gBAAY,UAAU;AAAA,EACxB,CAAC;AAED,QAAM,EAAE,OAAO,MAAM,IAAI,uBAAuB,QAAQ;AACxD;AAAA,IACE,MAAM,IAAI,GAAG,EAAE,OAAO,MAAM,GAAG,CAAC,MAAM,YAAY,QAAQ,CAAC,CAAC;AAAA,IAC5D,CAAC,KAAK,OAAO,KAAK;AAAA,EACpB;AACF;","names":[]}
|
@@ -10,7 +10,7 @@ import {
|
|
10
10
|
useContext
|
11
11
|
} from "react";
|
12
12
|
import { z } from "zod";
|
13
|
-
import {
|
13
|
+
import { useAssistantApi } from "../context/react/AssistantApiContext.js";
|
14
14
|
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
15
15
|
import { tool } from "./tool.js";
|
16
16
|
import { jsx } from "react/jsx-runtime";
|
@@ -56,10 +56,10 @@ var makeAssistantVisible = (Component, config) => {
|
|
56
56
|
const isNestedReadable = useContext(ReadableContext);
|
57
57
|
const clickId = useId();
|
58
58
|
const componentRef = useRef(null);
|
59
|
-
const
|
59
|
+
const api = useAssistantApi();
|
60
60
|
const { clickable, editable } = config ?? {};
|
61
61
|
useEffect(() => {
|
62
|
-
return
|
62
|
+
return api.registerModelContextProvider({
|
63
63
|
getModelContext: () => {
|
64
64
|
return {
|
65
65
|
tools: {
|
@@ -70,7 +70,7 @@ var makeAssistantVisible = (Component, config) => {
|
|
70
70
|
};
|
71
71
|
}
|
72
72
|
});
|
73
|
-
}, [isNestedReadable,
|
73
|
+
}, [isNestedReadable, api, clickable, editable]);
|
74
74
|
const ref = useComposedRefs(componentRef, outerRef);
|
75
75
|
return /* @__PURE__ */ jsx(ReadableContext.Provider, { value: true, children: /* @__PURE__ */ jsx(
|
76
76
|
Component,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/makeAssistantVisible.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useRef,\n forwardRef,\n ComponentType,\n ForwardedRef,\n PropsWithoutRef,\n useId,\n createContext,\n useContext,\n} from \"react\";\nimport { z } from \"zod\";\nimport {
|
1
|
+
{"version":3,"sources":["../../src/model-context/makeAssistantVisible.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useRef,\n forwardRef,\n ComponentType,\n ForwardedRef,\n PropsWithoutRef,\n useId,\n createContext,\n useContext,\n} from \"react\";\nimport { z } from \"zod\";\nimport { useAssistantApi } from \"../context/react/AssistantApiContext\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { tool } from \"./tool\";\n\n// TODO replace zod with json-schema so we can drop the zod dep\n\nconst click = tool({\n parameters: z.object({\n clickId: z.string(),\n }),\n execute: async ({ clickId }) => {\n const escapedClickId = CSS.escape(clickId);\n const el = document.querySelector(`[data-click-id='${escapedClickId}']`);\n if (el instanceof HTMLElement) {\n el.click();\n\n // todo make adjustable\n await new Promise((resolve) => setTimeout(resolve, 2000));\n return {};\n } else {\n return \"Element not found\";\n }\n },\n});\n\nconst edit = tool({\n parameters: z.object({\n editId: z.string(),\n value: z.string(),\n }),\n execute: async ({ editId, value }) => {\n const escapedEditId = CSS.escape(editId);\n const el = document.querySelector(`[data-edit-id='${escapedEditId}']`);\n if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement) {\n el.value = value;\n el.dispatchEvent(new Event(\"input\", { bubbles: true }));\n el.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\n // todo make adjustable\n await new Promise((resolve) => setTimeout(resolve, 2000));\n return {};\n } else {\n return \"Element not found\";\n }\n },\n});\n\nconst ReadableContext = createContext<boolean>(false);\n\nexport const makeAssistantVisible = <T extends ComponentType<any>>(\n Component: T,\n config?: { clickable?: boolean | undefined; editable?: boolean | undefined },\n) => {\n const ReadableComponent = forwardRef(\n (props: PropsWithoutRef<T>, outerRef: ForwardedRef<any>) => {\n const isNestedReadable = useContext(ReadableContext);\n\n const clickId = useId();\n const componentRef = useRef<HTMLElement>(null);\n\n const api = useAssistantApi();\n\n const { clickable, editable } = config ?? {};\n useEffect(() => {\n return api.registerModelContextProvider({\n getModelContext: () => {\n return {\n tools: {\n ...(clickable ? { click } : {}),\n ...(editable ? { edit } : {}),\n },\n system: !isNestedReadable // only pass content if this readable isn't nested in another readable\n ? componentRef.current?.outerHTML\n : undefined,\n };\n },\n });\n }, [isNestedReadable, api, clickable, editable]);\n\n const ref = useComposedRefs(componentRef, outerRef);\n\n return (\n <ReadableContext.Provider value={true}>\n <Component\n {...(props as any)}\n {...(config?.clickable ? { \"data-click-id\": clickId } : {})}\n {...(config?.editable ? { \"data-edit-id\": clickId } : {})}\n ref={ref}\n />\n </ReadableContext.Provider>\n );\n },\n );\n\n ReadableComponent.displayName = Component.displayName;\n\n return ReadableComponent as unknown as T;\n};\n\nexport default makeAssistantVisible;\n"],"mappings":";;;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS;AAClB,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC,SAAS,YAAY;AAiFX;AA7EV,IAAM,QAAQ,KAAK;AAAA,EACjB,YAAY,EAAE,OAAO;AAAA,IACnB,SAAS,EAAE,OAAO;AAAA,EACpB,CAAC;AAAA,EACD,SAAS,OAAO,EAAE,QAAQ,MAAM;AAC9B,UAAM,iBAAiB,IAAI,OAAO,OAAO;AACzC,UAAM,KAAK,SAAS,cAAc,mBAAmB,cAAc,IAAI;AACvE,QAAI,cAAc,aAAa;AAC7B,SAAG,MAAM;AAGT,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAI,CAAC;AACxD,aAAO,CAAC;AAAA,IACV,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAED,IAAM,OAAO,KAAK;AAAA,EAChB,YAAY,EAAE,OAAO;AAAA,IACnB,QAAQ,EAAE,OAAO;AAAA,IACjB,OAAO,EAAE,OAAO;AAAA,EAClB,CAAC;AAAA,EACD,SAAS,OAAO,EAAE,QAAQ,MAAM,MAAM;AACpC,UAAM,gBAAgB,IAAI,OAAO,MAAM;AACvC,UAAM,KAAK,SAAS,cAAc,kBAAkB,aAAa,IAAI;AACrE,QAAI,cAAc,oBAAoB,cAAc,qBAAqB;AACvE,SAAG,QAAQ;AACX,SAAG,cAAc,IAAI,MAAM,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC;AACtD,SAAG,cAAc,IAAI,MAAM,UAAU,EAAE,SAAS,KAAK,CAAC,CAAC;AAGvD,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAI,CAAC;AACxD,aAAO,CAAC;AAAA,IACV,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAED,IAAM,kBAAkB,cAAuB,KAAK;AAE7C,IAAM,uBAAuB,CAClC,WACA,WACG;AACH,QAAM,oBAAoB;AAAA,IACxB,CAAC,OAA2B,aAAgC;AAC1D,YAAM,mBAAmB,WAAW,eAAe;AAEnD,YAAM,UAAU,MAAM;AACtB,YAAM,eAAe,OAAoB,IAAI;AAE7C,YAAM,MAAM,gBAAgB;AAE5B,YAAM,EAAE,WAAW,SAAS,IAAI,UAAU,CAAC;AAC3C,gBAAU,MAAM;AACd,eAAO,IAAI,6BAA6B;AAAA,UACtC,iBAAiB,MAAM;AACrB,mBAAO;AAAA,cACL,OAAO;AAAA,gBACL,GAAI,YAAY,EAAE,MAAM,IAAI,CAAC;AAAA,gBAC7B,GAAI,WAAW,EAAE,KAAK,IAAI,CAAC;AAAA,cAC7B;AAAA,cACA,QAAQ,CAAC,mBACL,aAAa,SAAS,YACtB;AAAA,YACN;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH,GAAG,CAAC,kBAAkB,KAAK,WAAW,QAAQ,CAAC;AAE/C,YAAM,MAAM,gBAAgB,cAAc,QAAQ;AAElD,aACE,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,MAC/B;AAAA,QAAC;AAAA;AAAA,UACE,GAAI;AAAA,UACJ,GAAI,QAAQ,YAAY,EAAE,iBAAiB,QAAQ,IAAI,CAAC;AAAA,UACxD,GAAI,QAAQ,WAAW,EAAE,gBAAgB,QAAQ,IAAI,CAAC;AAAA,UACvD;AAAA;AAAA,MACF,GACF;AAAA,IAEJ;AAAA,EACF;AAEA,oBAAkB,cAAc,UAAU;AAE1C,SAAO;AACT;AAEA,IAAO,+BAAQ;","names":[]}
|
@@ -2,23 +2,23 @@
|
|
2
2
|
|
3
3
|
// src/model-context/useAssistantInstructions.tsx
|
4
4
|
import { useEffect } from "react";
|
5
|
-
import {
|
5
|
+
import { useAssistantApi } from "../context/react/AssistantApiContext.js";
|
6
6
|
var getInstructions = (instruction) => {
|
7
7
|
if (typeof instruction === "string") return { instruction };
|
8
8
|
return instruction;
|
9
9
|
};
|
10
10
|
var useAssistantInstructions = (config) => {
|
11
11
|
const { instruction, disabled = false } = getInstructions(config);
|
12
|
-
const
|
12
|
+
const api = useAssistantApi();
|
13
13
|
useEffect(() => {
|
14
14
|
if (disabled) return;
|
15
15
|
const config2 = {
|
16
16
|
system: instruction
|
17
17
|
};
|
18
|
-
return
|
18
|
+
return api.registerModelContextProvider({
|
19
19
|
getModelContext: () => config2
|
20
20
|
});
|
21
|
-
}, [
|
21
|
+
}, [api, instruction, disabled]);
|
22
22
|
};
|
23
23
|
export {
|
24
24
|
useAssistantInstructions
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/useAssistantInstructions.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport {
|
1
|
+
{"version":3,"sources":["../../src/model-context/useAssistantInstructions.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport { useAssistantApi } from \"../context/react/AssistantApiContext\";\n\nexport type AssistantInstructionsConfig = {\n disabled?: boolean | undefined;\n instruction: string;\n};\n\nconst getInstructions = (\n instruction: string | AssistantInstructionsConfig,\n): AssistantInstructionsConfig => {\n if (typeof instruction === \"string\") return { instruction };\n return instruction;\n};\n\nexport const useAssistantInstructions = (\n config: string | AssistantInstructionsConfig,\n) => {\n const { instruction, disabled = false } = getInstructions(config);\n const api = useAssistantApi();\n\n useEffect(() => {\n if (disabled) return;\n\n const config = {\n system: instruction,\n };\n return api.registerModelContextProvider({\n getModelContext: () => config,\n });\n }, [api, instruction, disabled]);\n};\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAOhC,IAAM,kBAAkB,CACtB,gBACgC;AAChC,MAAI,OAAO,gBAAgB,SAAU,QAAO,EAAE,YAAY;AAC1D,SAAO;AACT;AAEO,IAAM,2BAA2B,CACtC,WACG;AACH,QAAM,EAAE,aAAa,WAAW,MAAM,IAAI,gBAAgB,MAAM;AAChE,QAAM,MAAM,gBAAgB;AAE5B,YAAU,MAAM;AACd,QAAI,SAAU;AAEd,UAAMA,UAAS;AAAA,MACb,QAAQ;AAAA,IACV;AACA,WAAO,IAAI,6BAA6B;AAAA,MACtC,iBAAiB,MAAMA;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,KAAK,aAAa,QAAQ,CAAC;AACjC;","names":["config"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useAssistantTool.d.ts","sourceRoot":"","sources":["../../src/model-context/useAssistantTool.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"useAssistantTool.d.ts","sourceRoot":"","sources":["../../src/model-context/useAssistantTool.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,MAAM,kBAAkB,CAC5B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,IACL,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACnE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,EAEP,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,SAoBzC,CAAC"}
|
@@ -2,16 +2,13 @@
|
|
2
2
|
|
3
3
|
// src/model-context/useAssistantTool.tsx
|
4
4
|
import { useEffect } from "react";
|
5
|
-
import {
|
6
|
-
useAssistantRuntime,
|
7
|
-
useToolUIsStore
|
8
|
-
} from "../context/react/AssistantContext.js";
|
5
|
+
import { useAssistantApi } from "../context/react/AssistantApiContext.js";
|
9
6
|
var useAssistantTool = (tool) => {
|
10
|
-
const
|
11
|
-
const toolUIsStore = useToolUIsStore();
|
7
|
+
const api = useAssistantApi();
|
12
8
|
useEffect(() => {
|
13
|
-
|
14
|
-
|
9
|
+
if (!tool.render) return void 0;
|
10
|
+
return api.toolUIs().setToolUI(tool.toolName, tool.render);
|
11
|
+
}, [api, tool.toolName, tool.render]);
|
15
12
|
useEffect(() => {
|
16
13
|
const { toolName, render, ...rest } = tool;
|
17
14
|
const context = {
|
@@ -19,10 +16,10 @@ var useAssistantTool = (tool) => {
|
|
19
16
|
[toolName]: rest
|
20
17
|
}
|
21
18
|
};
|
22
|
-
return
|
19
|
+
return api.registerModelContextProvider({
|
23
20
|
getModelContext: () => context
|
24
21
|
});
|
25
|
-
}, [
|
22
|
+
}, [api, tool]);
|
26
23
|
};
|
27
24
|
export {
|
28
25
|
useAssistantTool
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/useAssistantTool.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport {
|
1
|
+
{"version":3,"sources":["../../src/model-context/useAssistantTool.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport { useAssistantApi } from \"../context/react/AssistantApiContext\";\nimport type { ToolCallMessagePartComponent } from \"../types/MessagePartComponentTypes\";\nimport type { Tool } from \"assistant-stream\";\n\nexport type AssistantToolProps<\n TArgs extends Record<string, unknown>,\n TResult,\n> = Tool<TArgs, TResult> & {\n toolName: string;\n render?: ToolCallMessagePartComponent<TArgs, TResult> | undefined;\n};\n\nexport const useAssistantTool = <\n TArgs extends Record<string, unknown>,\n TResult,\n>(\n tool: AssistantToolProps<TArgs, TResult>,\n) => {\n const api = useAssistantApi();\n\n useEffect(() => {\n if (!tool.render) return undefined;\n return api.toolUIs().setToolUI(tool.toolName, tool.render);\n }, [api, tool.toolName, tool.render]);\n\n useEffect(() => {\n const { toolName, render, ...rest } = tool;\n const context = {\n tools: {\n [toolName]: rest,\n },\n };\n return api.registerModelContextProvider({\n getModelContext: () => context,\n });\n }, [api, tool]);\n};\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAYzB,IAAM,mBAAmB,CAI9B,SACG;AACH,QAAM,MAAM,gBAAgB;AAE5B,YAAU,MAAM;AACd,QAAI,CAAC,KAAK,OAAQ,QAAO;AACzB,WAAO,IAAI,QAAQ,EAAE,UAAU,KAAK,UAAU,KAAK,MAAM;AAAA,EAC3D,GAAG,CAAC,KAAK,KAAK,UAAU,KAAK,MAAM,CAAC;AAEpC,YAAU,MAAM;AACd,UAAM,EAAE,UAAU,QAAQ,GAAG,KAAK,IAAI;AACtC,UAAM,UAAU;AAAA,MACd,OAAO;AAAA,QACL,CAAC,QAAQ,GAAG;AAAA,MACd;AAAA,IACF;AACA,WAAO,IAAI,6BAA6B;AAAA,MACtC,iBAAiB,MAAM;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,KAAK,IAAI,CAAC;AAChB;","names":[]}
|
@@ -2,13 +2,13 @@
|
|
2
2
|
|
3
3
|
// src/model-context/useAssistantToolUI.tsx
|
4
4
|
import { useEffect } from "react";
|
5
|
-
import {
|
5
|
+
import { useAssistantApi } from "../context/react/AssistantApiContext.js";
|
6
6
|
var useAssistantToolUI = (tool) => {
|
7
|
-
const
|
7
|
+
const api = useAssistantApi();
|
8
8
|
useEffect(() => {
|
9
|
-
if (!tool?.toolName || !tool?.render) return;
|
10
|
-
return
|
11
|
-
}, [
|
9
|
+
if (!tool?.toolName || !tool?.render) return void 0;
|
10
|
+
return api.toolUIs().setToolUI(tool.toolName, tool.render);
|
11
|
+
}, [api, tool?.toolName, tool?.render]);
|
12
12
|
};
|
13
13
|
export {
|
14
14
|
useAssistantToolUI
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/model-context/useAssistantToolUI.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport {
|
1
|
+
{"version":3,"sources":["../../src/model-context/useAssistantToolUI.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport { useAssistantApi } from \"../context/react/AssistantApiContext\";\nimport type { ToolCallMessagePartComponent } from \"../types/MessagePartComponentTypes\";\n\nexport type AssistantToolUIProps<TArgs, TResult> = {\n toolName: string;\n render: ToolCallMessagePartComponent<TArgs, TResult>;\n};\n\nexport const useAssistantToolUI = (\n tool: AssistantToolUIProps<any, any> | null,\n) => {\n const api = useAssistantApi();\n useEffect(() => {\n if (!tool?.toolName || !tool?.render) return undefined;\n return api.toolUIs().setToolUI(tool.toolName, tool.render);\n }, [api, tool?.toolName, tool?.render]);\n};\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAQzB,IAAM,qBAAqB,CAChC,SACG;AACH,QAAM,MAAM,gBAAgB;AAC5B,YAAU,MAAM;AACd,QAAI,CAAC,MAAM,YAAY,CAAC,MAAM,OAAQ,QAAO;AAC7C,WAAO,IAAI,QAAQ,EAAE,UAAU,KAAK,UAAU,KAAK,MAAM;AAAA,EAC3D,GAAG,CAAC,KAAK,MAAM,UAAU,MAAM,MAAM,CAAC;AACxC;","names":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ActionBarCopy.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;
|
1
|
+
{"version":3,"file":"ActionBarCopy.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAMnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,yBAAyB,GAAI,sBAEhC;IAAE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,wBAyB9C,CAAC;AAEF,yBAAiB,sBAAsB,CAAC;IACtC,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,yBAAyB,CAAC,CAAC;CACzE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB;;;qBAlDb,MAAM,GAAG,SAAS;qDAoEtC,CAAC"}
|
@@ -4,36 +4,31 @@
|
|
4
4
|
import { forwardRef } from "react";
|
5
5
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
6
6
|
import { Primitive } from "@radix-ui/react-primitive";
|
7
|
-
import { useMessageUtils } from "../../context/index.js";
|
8
7
|
import { useCallback } from "react";
|
9
|
-
import {
|
10
|
-
useMessage,
|
11
|
-
useMessageRuntime
|
12
|
-
} from "../../context/react/MessageContext.js";
|
13
|
-
import { useComposerRuntime } from "../../context/index.js";
|
8
|
+
import { useAssistantState, useAssistantApi } from "../../context/index.js";
|
14
9
|
import { jsx } from "react/jsx-runtime";
|
15
10
|
var useActionBarPrimitiveCopy = ({
|
16
11
|
copiedDuration = 3e3
|
17
12
|
} = {}) => {
|
18
|
-
const
|
19
|
-
const
|
20
|
-
|
21
|
-
const hasCopyableContent = useMessage((message) => {
|
22
|
-
return (message.role !== "assistant" || message.status.type !== "running") && message.content.some((c) => c.type === "text" && c.text.length > 0);
|
13
|
+
const api = useAssistantApi();
|
14
|
+
const hasCopyableContent = useAssistantState(({ message }) => {
|
15
|
+
return (message.role !== "assistant" || message.status?.type !== "running") && message.parts.some((c) => c.type === "text" && c.text.length > 0);
|
23
16
|
});
|
17
|
+
const isEditing = useAssistantState(({ composer }) => composer.isEditing);
|
18
|
+
const composerValue = useAssistantState(({ composer }) => composer.text);
|
24
19
|
const callback = useCallback(() => {
|
25
|
-
const
|
26
|
-
|
20
|
+
const valueToCopy = isEditing ? composerValue : api.message().getCopyText();
|
21
|
+
if (!valueToCopy) return;
|
27
22
|
navigator.clipboard.writeText(valueToCopy).then(() => {
|
28
|
-
setIsCopied(true);
|
29
|
-
setTimeout(() => setIsCopied(false), copiedDuration);
|
23
|
+
api.message().setIsCopied(true);
|
24
|
+
setTimeout(() => api.message().setIsCopied(false), copiedDuration);
|
30
25
|
});
|
31
|
-
}, [
|
26
|
+
}, [api, isEditing, composerValue, copiedDuration]);
|
32
27
|
if (!hasCopyableContent) return null;
|
33
28
|
return callback;
|
34
29
|
};
|
35
30
|
var ActionBarPrimitiveCopy = forwardRef(({ copiedDuration, onClick, disabled, ...props }, forwardedRef) => {
|
36
|
-
const isCopied =
|
31
|
+
const isCopied = useAssistantState(({ message }) => message.isCopied);
|
37
32
|
const callback = useActionBarPrimitiveCopy({ copiedDuration });
|
38
33
|
return /* @__PURE__ */ jsx(
|
39
34
|
Primitive.button,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport {
|
1
|
+
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\n\n/**\n * Hook that provides copy functionality for action bar buttons.\n *\n * This hook returns a callback function that copies message content to the clipboard,\n * or null if copying is not available. It handles both regular message content and\n * composer text when in editing mode.\n *\n * @param options Configuration options\n * @param options.copiedDuration Duration in milliseconds to show the copied state\n * @returns A copy callback function, or null if copying is disabled\n *\n * @example\n * ```tsx\n * function CustomCopyButton() {\n * const copy = useActionBarPrimitiveCopy({ copiedDuration: 2000 });\n *\n * return (\n * <button onClick={copy} disabled={!copy}>\n * {copy ? \"Copy\" : \"Cannot Copy\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarPrimitiveCopy = ({\n copiedDuration = 3000,\n}: { copiedDuration?: number | undefined } = {}) => {\n const api = useAssistantApi();\n const hasCopyableContent = useAssistantState(({ message }) => {\n return (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n );\n });\n\n const isEditing = useAssistantState(({ composer }) => composer.isEditing);\n const composerValue = useAssistantState(({ composer }) => composer.text);\n\n const callback = useCallback(() => {\n const valueToCopy = isEditing ? composerValue : api.message().getCopyText();\n\n if (!valueToCopy) return;\n\n navigator.clipboard.writeText(valueToCopy).then(() => {\n api.message().setIsCopied(true);\n setTimeout(() => api.message().setIsCopied(false), copiedDuration);\n });\n }, [api, isEditing, composerValue, copiedDuration]);\n\n if (!hasCopyableContent) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveCopy {\n export type Element = HTMLButtonElement;\n /**\n * Props for the ActionBarPrimitive.Copy component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarPrimitiveCopy>;\n}\n\n/**\n * A button component that copies message content to the clipboard.\n *\n * This component automatically handles copying message text to the clipboard\n * and provides visual feedback through the data-copied attribute. It's disabled\n * when there's no copyable content available.\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Copy copiedDuration={2000}>\n * Copy Message\n * </ActionBarPrimitive.Copy>\n * ```\n */\nexport const ActionBarPrimitiveCopy = forwardRef<\n ActionBarPrimitiveCopy.Element,\n ActionBarPrimitiveCopy.Props\n>(({ copiedDuration, onClick, disabled, ...props }, forwardedRef) => {\n const isCopied = useAssistantState(({ message }) => message.isCopied);\n const callback = useActionBarPrimitiveCopy({ copiedDuration });\n return (\n <Primitive.button\n type=\"button\"\n {...(isCopied ? { \"data-copied\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveCopy.displayName = \"ActionBarPrimitive.Copy\";\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAE3B,SAAS,4BAA4B;AACrC,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AAqF/C;AA3DJ,IAAM,4BAA4B,CAAC;AAAA,EACjC,iBAAiB;AACnB,IAA6C,CAAC,MAAM;AAClD,QAAM,MAAM,gBAAgB;AAC5B,QAAM,qBAAqB,kBAAkB,CAAC,EAAE,QAAQ,MAAM;AAC5D,YACG,QAAQ,SAAS,eAAe,QAAQ,QAAQ,SAAS,cAC1D,QAAQ,MAAM,KAAK,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC;AAAA,EAEpE,CAAC;AAED,QAAM,YAAY,kBAAkB,CAAC,EAAE,SAAS,MAAM,SAAS,SAAS;AACxE,QAAM,gBAAgB,kBAAkB,CAAC,EAAE,SAAS,MAAM,SAAS,IAAI;AAEvE,QAAM,WAAW,YAAY,MAAM;AACjC,UAAM,cAAc,YAAY,gBAAgB,IAAI,QAAQ,EAAE,YAAY;AAE1E,QAAI,CAAC,YAAa;AAElB,cAAU,UAAU,UAAU,WAAW,EAAE,KAAK,MAAM;AACpD,UAAI,QAAQ,EAAE,YAAY,IAAI;AAC9B,iBAAW,MAAM,IAAI,QAAQ,EAAE,YAAY,KAAK,GAAG,cAAc;AAAA,IACnE,CAAC;AAAA,EACH,GAAG,CAAC,KAAK,WAAW,eAAe,cAAc,CAAC;AAElD,MAAI,CAAC,mBAAoB,QAAO;AAChC,SAAO;AACT;AAyBO,IAAM,yBAAyB,WAGpC,CAAC,EAAE,gBAAgB,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnE,QAAM,WAAW,kBAAkB,CAAC,EAAE,QAAQ,MAAM,QAAQ,QAAQ;AACpE,QAAM,WAAW,0BAA0B,EAAE,eAAe,CAAC;AAC7D,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,WAAW,EAAE,eAAe,OAAO,IAAI,CAAC;AAAA,MAC5C,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,SAAS,qBAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,uBAAuB,cAAc;","names":[]}
|
@@ -5,13 +5,13 @@ import {
|
|
5
5
|
createActionButton
|
6
6
|
} from "../../utils/createActionButton.js";
|
7
7
|
import { useCallback } from "react";
|
8
|
-
import {
|
8
|
+
import { useAssistantState, useAssistantApi } from "../../context/index.js";
|
9
9
|
var useActionBarEdit = () => {
|
10
|
-
const
|
11
|
-
const disabled =
|
10
|
+
const api = useAssistantApi();
|
11
|
+
const disabled = useAssistantState(({ composer }) => composer.isEditing);
|
12
12
|
const callback = useCallback(() => {
|
13
|
-
|
14
|
-
}, [
|
13
|
+
api.composer().beginEdit();
|
14
|
+
}, [api]);
|
15
15
|
if (disabled) return null;
|
16
16
|
return callback;
|
17
17
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarEdit.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport {
|
1
|
+
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarEdit.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\n\n/**\n * Hook that provides edit functionality for action bar buttons.\n *\n * This hook returns a callback function that starts editing the current message,\n * or null if editing is not available (e.g., already in editing mode).\n *\n * @returns An edit callback function, or null if editing is disabled\n *\n * @example\n * ```tsx\n * function CustomEditButton() {\n * const edit = useActionBarEdit();\n *\n * return (\n * <button onClick={edit} disabled={!edit}>\n * {edit ? \"Edit Message\" : \"Cannot Edit\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarEdit = () => {\n const api = useAssistantApi();\n const disabled = useAssistantState(({ composer }) => composer.isEditing);\n\n const callback = useCallback(() => {\n api.composer().beginEdit();\n }, [api]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveEdit {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Edit component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarEdit>;\n}\n\n/**\n * A button component that starts editing the current message.\n *\n * This component automatically handles starting the edit mode for the current message\n * and is disabled when editing is not available (e.g., already in editing mode).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Edit>\n * Edit Message\n * </ActionBarPrimitive.Edit>\n * ```\n */\nexport const ActionBarPrimitiveEdit = createActionButton(\n \"ActionBarPrimitive.Edit\",\n useActionBarEdit,\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AAuBnD,IAAM,mBAAmB,MAAM;AAC7B,QAAM,MAAM,gBAAgB;AAC5B,QAAM,WAAW,kBAAkB,CAAC,EAAE,SAAS,MAAM,SAAS,SAAS;AAEvE,QAAM,WAAW,YAAY,MAAM;AACjC,QAAI,SAAS,EAAE,UAAU;AAAA,EAC3B,GAAG,CAAC,GAAG,CAAC;AAER,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;AAwBO,IAAM,yBAAyB;AAAA,EACpC;AAAA,EACA;AACF;","names":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ActionBarFeedbackNegative.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;
|
1
|
+
{"version":3,"file":"ActionBarFeedbackNegative.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAMnE,QAAA,MAAM,4BAA4B,kBAQjC,CAAC;AAEF,yBAAiB,kCAAkC,CAAC;IAClD,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,4BAA4B,CAAC,CAAC;CAC5E;AAED,eAAO,MAAM,kCAAkC;;6DAoB7C,CAAC"}
|
@@ -3,21 +3,20 @@
|
|
3
3
|
// src/primitives/actionBar/ActionBarFeedbackNegative.tsx
|
4
4
|
import { forwardRef } from "react";
|
5
5
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
6
|
-
import { useMessage } from "../../context/index.js";
|
7
6
|
import { Primitive } from "@radix-ui/react-primitive";
|
8
7
|
import { useCallback } from "react";
|
9
|
-
import {
|
8
|
+
import { useAssistantState, useAssistantApi } from "../../context/index.js";
|
10
9
|
import { jsx } from "react/jsx-runtime";
|
11
10
|
var useActionBarFeedbackNegative = () => {
|
12
|
-
const
|
11
|
+
const api = useAssistantApi();
|
13
12
|
const callback = useCallback(() => {
|
14
|
-
|
15
|
-
}, [
|
13
|
+
api.message().submitFeedback({ type: "negative" });
|
14
|
+
}, [api]);
|
16
15
|
return callback;
|
17
16
|
};
|
18
17
|
var ActionBarPrimitiveFeedbackNegative = forwardRef(({ onClick, disabled, ...props }, forwardedRef) => {
|
19
|
-
const isSubmitted =
|
20
|
-
(
|
18
|
+
const isSubmitted = useAssistantState(
|
19
|
+
(s) => s.message.submittedFeedback?.type === "negative"
|
21
20
|
);
|
22
21
|
const callback = useActionBarFeedbackNegative();
|
23
22
|
return /* @__PURE__ */ jsx(
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport {
|
1
|
+
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\n\nconst useActionBarFeedbackNegative = () => {\n const api = useAssistantApi();\n\n const callback = useCallback(() => {\n api.message().submitFeedback({ type: \"negative\" });\n }, [api]);\n\n return callback;\n};\n\nexport namespace ActionBarPrimitiveFeedbackNegative {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackNegative>;\n}\n\nexport const ActionBarPrimitiveFeedbackNegative = forwardRef<\n ActionBarPrimitiveFeedbackNegative.Element,\n ActionBarPrimitiveFeedbackNegative.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAssistantState(\n (s) => s.message.submittedFeedback?.type === \"negative\",\n );\n const callback = useActionBarFeedbackNegative();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackNegative.displayName =\n \"ActionBarPrimitive.FeedbackNegative\";\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAE3B,SAAS,4BAA4B;AACrC,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AA0B/C;AAxBJ,IAAM,+BAA+B,MAAM;AACzC,QAAM,MAAM,gBAAgB;AAE5B,QAAM,WAAW,YAAY,MAAM;AACjC,QAAI,QAAQ,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAAA,EACnD,GAAG,CAAC,GAAG,CAAC;AAER,SAAO;AACT;AAOO,IAAM,qCAAqC,WAGhD,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnD,QAAM,cAAc;AAAA,IAClB,CAAC,MAAM,EAAE,QAAQ,mBAAmB,SAAS;AAAA,EAC/C;AACA,QAAM,WAAW,6BAA6B;AAC9C,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,cAAc,EAAE,kBAAkB,OAAO,IAAI,CAAC;AAAA,MAClD,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,SAAS,qBAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,mCAAmC,cACjC;","names":[]}
|
@@ -3,19 +3,19 @@
|
|
3
3
|
// src/primitives/actionBar/ActionBarFeedbackPositive.tsx
|
4
4
|
import { forwardRef, useCallback } from "react";
|
5
5
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
6
|
-
import {
|
6
|
+
import { useAssistantState, useAssistantApi } from "../../context/index.js";
|
7
7
|
import { Primitive } from "@radix-ui/react-primitive";
|
8
8
|
import { jsx } from "react/jsx-runtime";
|
9
9
|
var useActionBarFeedbackPositive = () => {
|
10
|
-
const
|
10
|
+
const api = useAssistantApi();
|
11
11
|
const callback = useCallback(() => {
|
12
|
-
|
13
|
-
}, [
|
12
|
+
api.message().submitFeedback({ type: "positive" });
|
13
|
+
}, [api]);
|
14
14
|
return callback;
|
15
15
|
};
|
16
16
|
var ActionBarPrimitiveFeedbackPositive = forwardRef(({ onClick, disabled, ...props }, forwardedRef) => {
|
17
|
-
const isSubmitted =
|
18
|
-
(
|
17
|
+
const isSubmitted = useAssistantState(
|
18
|
+
(s) => s.message.submittedFeedback?.type === "positive"
|
19
19
|
);
|
20
20
|
const callback = useActionBarFeedbackPositive();
|
21
21
|
return /* @__PURE__ */ jsx(
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport {
|
1
|
+
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\n\nconst useActionBarFeedbackPositive = () => {\n const api = useAssistantApi();\n\n const callback = useCallback(() => {\n api.message().submitFeedback({ type: \"positive\" });\n }, [api]);\n\n return callback;\n};\n\nexport namespace ActionBarPrimitiveFeedbackPositive {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackPositive>;\n}\n\nexport const ActionBarPrimitiveFeedbackPositive = forwardRef<\n ActionBarPrimitiveFeedbackPositive.Element,\n ActionBarPrimitiveFeedbackPositive.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAssistantState(\n (s) => s.message.submittedFeedback?.type === \"positive\",\n );\n const callback = useActionBarFeedbackPositive();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackPositive.displayName =\n \"ActionBarPrimitive.FeedbackPositive\";\n"],"mappings":";;;AAEA,SAAS,YAAY,mBAAmB;AAExC,SAAS,4BAA4B;AACrC,SAAS,mBAAmB,uBAAuB;AACnD,SAAS,iBAAiB;AA0BtB;AAxBJ,IAAM,+BAA+B,MAAM;AACzC,QAAM,MAAM,gBAAgB;AAE5B,QAAM,WAAW,YAAY,MAAM;AACjC,QAAI,QAAQ,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAAA,EACnD,GAAG,CAAC,GAAG,CAAC;AAER,SAAO;AACT;AAOO,IAAM,qCAAqC,WAGhD,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnD,QAAM,cAAc;AAAA,IAClB,CAAC,MAAM,EAAE,QAAQ,mBAAmB,SAAS;AAAA,EAC/C;AACA,QAAM,WAAW,6BAA6B;AAC9C,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,cAAc,EAAE,kBAAkB,OAAO,IAAI,CAAC;AAAA,MAClD,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,SAAS,qBAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,mCAAmC,cACjC;","names":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ActionBarReload.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarReload.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,gCAAgC,CAAC;
|
1
|
+
{"version":3,"file":"ActionBarReload.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarReload.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,gCAAgC,CAAC;AAIxC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,kBAAkB,2BAgBvB,CAAC;AAEF,yBAAiB,wBAAwB,CAAC;IACxC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,kBAAkB,CAAC,CAAC;CAClE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB;;6DAGpC,CAAC"}
|
@@ -5,19 +5,15 @@ import {
|
|
5
5
|
createActionButton
|
6
6
|
} from "../../utils/createActionButton.js";
|
7
7
|
import { useCallback } from "react";
|
8
|
-
import {
|
9
|
-
import { useThreadRuntime } from "../../context/react/ThreadContext.js";
|
10
|
-
import { useCombinedStore } from "../../utils/combined/useCombinedStore.js";
|
8
|
+
import { useAssistantState, useAssistantApi } from "../../context/index.js";
|
11
9
|
var useActionBarReload = () => {
|
12
|
-
const
|
13
|
-
const
|
14
|
-
|
15
|
-
[threadRuntime, messageRuntime],
|
16
|
-
(t, m) => t.isRunning || t.isDisabled || m.role !== "assistant"
|
10
|
+
const api = useAssistantApi();
|
11
|
+
const disabled = useAssistantState(
|
12
|
+
(s) => s.thread.isRunning || s.thread.isDisabled || s.message.role !== "assistant"
|
17
13
|
);
|
18
14
|
const callback = useCallback(() => {
|
19
|
-
|
20
|
-
}, [
|
15
|
+
api.message().reload();
|
16
|
+
}, [api]);
|
21
17
|
if (disabled) return null;
|
22
18
|
return callback;
|
23
19
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarReload.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport {
|
1
|
+
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarReload.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\n\n/**\n * Hook that provides reload functionality for action bar buttons.\n *\n * This hook returns a callback function that reloads/regenerates the current assistant message,\n * or null if reloading is not available (e.g., thread is running, disabled, or message is not from assistant).\n *\n * @returns A reload callback function, or null if reloading is disabled\n *\n * @example\n * ```tsx\n * function CustomReloadButton() {\n * const reload = useActionBarReload();\n *\n * return (\n * <button onClick={reload} disabled={!reload}>\n * {reload ? \"Reload Message\" : \"Cannot Reload\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarReload = () => {\n const api = useAssistantApi();\n\n const disabled = useAssistantState(\n (s) =>\n s.thread.isRunning ||\n s.thread.isDisabled ||\n s.message.role !== \"assistant\",\n );\n\n const callback = useCallback(() => {\n api.message().reload();\n }, [api]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveReload {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Reload component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarReload>;\n}\n\n/**\n * A button component that reloads/regenerates the current assistant message.\n *\n * This component automatically handles reloading the current assistant message\n * and is disabled when reloading is not available (e.g., thread is running,\n * disabled, or message is not from assistant).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Reload>\n * Reload Message\n * </ActionBarPrimitive.Reload>\n * ```\n */\nexport const ActionBarPrimitiveReload = createActionButton(\n \"ActionBarPrimitive.Reload\",\n useActionBarReload,\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AAuBnD,IAAM,qBAAqB,MAAM;AAC/B,QAAM,MAAM,gBAAgB;AAE5B,QAAM,WAAW;AAAA,IACf,CAAC,MACC,EAAE,OAAO,aACT,EAAE,OAAO,cACT,EAAE,QAAQ,SAAS;AAAA,EACvB;AAEA,QAAM,WAAW,YAAY,MAAM;AACjC,QAAI,QAAQ,EAAE,OAAO;AAAA,EACvB,GAAG,CAAC,GAAG,CAAC;AAER,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;AAyBO,IAAM,2BAA2B;AAAA,EACtC;AAAA,EACA;AACF;","names":[]}
|
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
// src/primitives/actionBar/ActionBarSpeak.tsx
|
4
4
|
import { useCallback } from "react";
|
5
|
-
import {
|
5
|
+
import { useAssistantState, useAssistantApi } from "../../context/index.js";
|
6
6
|
import {
|
7
7
|
createActionButton
|
8
8
|
} from "../../utils/createActionButton.js";
|
9
9
|
var useActionBarSpeak = () => {
|
10
|
-
const
|
10
|
+
const api = useAssistantApi();
|
11
11
|
const callback = useCallback(async () => {
|
12
|
-
|
13
|
-
}, [
|
14
|
-
const hasSpeakableContent =
|
15
|
-
return (
|
12
|
+
api.message().speak();
|
13
|
+
}, [api]);
|
14
|
+
const hasSpeakableContent = useAssistantState(({ message }) => {
|
15
|
+
return (message.role !== "assistant" || message.status?.type !== "running") && message.parts.some((c) => c.type === "text" && c.text.length > 0);
|
16
16
|
});
|
17
17
|
if (!hasSpeakableContent) return null;
|
18
18
|
return callback;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarSpeak.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallback } from \"react\";\nimport {
|
1
|
+
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarSpeak.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\n\nconst useActionBarSpeak = () => {\n const api = useAssistantApi();\n const callback = useCallback(async () => {\n api.message().speak();\n }, [api]);\n\n const hasSpeakableContent = useAssistantState(({ message }) => {\n return (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n );\n });\n\n if (!hasSpeakableContent) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveSpeak {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarSpeak>;\n}\n\nexport const ActionBarPrimitiveSpeak = createActionButton(\n \"ActionBarPrimitive.Speak\",\n useActionBarSpeak,\n);\n"],"mappings":";;;AAEA,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AACnD;AAAA,EAGE;AAAA,OACK;AAEP,IAAM,oBAAoB,MAAM;AAC9B,QAAM,MAAM,gBAAgB;AAC5B,QAAM,WAAW,YAAY,YAAY;AACvC,QAAI,QAAQ,EAAE,MAAM;AAAA,EACtB,GAAG,CAAC,GAAG,CAAC;AAER,QAAM,sBAAsB,kBAAkB,CAAC,EAAE,QAAQ,MAAM;AAC7D,YACG,QAAQ,SAAS,eAAe,QAAQ,QAAQ,SAAS,cAC1D,QAAQ,MAAM,KAAK,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC;AAAA,EAEpE,CAAC;AAED,MAAI,CAAC,oBAAqB,QAAO;AACjC,SAAO;AACT;AAOO,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AACF;","names":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ActionBarStopSpeaking.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarStopSpeaking.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;
|
1
|
+
{"version":3,"file":"ActionBarStopSpeaking.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarStopSpeaking.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAOnE,QAAA,MAAM,wBAAwB,2BAW7B,CAAC;AAEF,yBAAiB,8BAA8B,CAAC;IAC9C,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,wBAAwB,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,8BAA8B;;6DAyBzC,CAAC"}
|
@@ -6,17 +6,14 @@ import { useEscapeKeydown } from "@radix-ui/react-use-escape-keydown";
|
|
6
6
|
import { Primitive } from "@radix-ui/react-primitive";
|
7
7
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
8
8
|
import { useCallback } from "react";
|
9
|
-
import {
|
10
|
-
useMessage,
|
11
|
-
useMessageRuntime
|
12
|
-
} from "../../context/react/MessageContext.js";
|
9
|
+
import { useAssistantState, useAssistantApi } from "../../context/index.js";
|
13
10
|
import { jsx } from "react/jsx-runtime";
|
14
11
|
var useActionBarStopSpeaking = () => {
|
15
|
-
const
|
16
|
-
const isSpeaking =
|
12
|
+
const api = useAssistantApi();
|
13
|
+
const isSpeaking = useAssistantState(({ message }) => message.speech != null);
|
17
14
|
const callback = useCallback(() => {
|
18
|
-
|
19
|
-
}, [
|
15
|
+
api.message().stopSpeaking();
|
16
|
+
}, [api]);
|
20
17
|
if (!isSpeaking) return null;
|
21
18
|
return callback;
|
22
19
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarStopSpeaking.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useCallback } from \"react\";\nimport {
|
1
|
+
{"version":3,"sources":["../../../src/primitives/actionBar/ActionBarStopSpeaking.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\n\nconst useActionBarStopSpeaking = () => {\n const api = useAssistantApi();\n const isSpeaking = useAssistantState(({ message }) => message.speech != null);\n\n const callback = useCallback(() => {\n api.message().stopSpeaking();\n }, [api]);\n\n if (!isSpeaking) return null;\n\n return callback;\n};\n\nexport namespace ActionBarPrimitiveStopSpeaking {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarStopSpeaking>;\n}\n\nexport const ActionBarPrimitiveStopSpeaking = forwardRef<\n ActionBarPrimitiveStopSpeaking.Element,\n ActionBarPrimitiveStopSpeaking.Props\n>((props, ref) => {\n const callback = useActionBarStopSpeaking();\n\n // TODO this stops working if the user is not hovering over an older message\n useEscapeKeydown((e) => {\n if (callback) {\n e.preventDefault();\n callback();\n }\n });\n\n return (\n <Primitive.button\n type=\"button\"\n disabled={!callback}\n {...props}\n ref={ref}\n onClick={composeEventHandlers(props.onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveStopSpeaking.displayName = \"ActionBarPrimitive.StopSpeaking\";\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAE3B,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AAmC/C;AAjCJ,IAAM,2BAA2B,MAAM;AACrC,QAAM,MAAM,gBAAgB;AAC5B,QAAM,aAAa,kBAAkB,CAAC,EAAE,QAAQ,MAAM,QAAQ,UAAU,IAAI;AAE5E,QAAM,WAAW,YAAY,MAAM;AACjC,QAAI,QAAQ,EAAE,aAAa;AAAA,EAC7B,GAAG,CAAC,GAAG,CAAC;AAER,MAAI,CAAC,WAAY,QAAO;AAExB,SAAO;AACT;AAOO,IAAM,iCAAiC,WAG5C,CAAC,OAAO,QAAQ;AAChB,QAAM,WAAW,yBAAyB;AAG1C,mBAAiB,CAAC,MAAM;AACtB,QAAI,UAAU;AACZ,QAAE,eAAe;AACjB,eAAS;AAAA,IACX;AAAA,EACF,CAAC;AAED,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACL,UAAU,CAAC;AAAA,MACV,GAAG;AAAA,MACJ;AAAA,MACA,SAAS,qBAAqB,MAAM,SAAS,MAAM;AACjD,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,+BAA+B,cAAc;","names":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useActionBarFloatStatus.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/useActionBarFloatStatus.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"useActionBarFloatStatus.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/useActionBarFloatStatus.tsx"],"names":[],"mappings":"AAIA,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IACvD,aAAa,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;CAClE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,+CAIrC,4BAA4B,uBAsB9B,CAAC"}
|