@assistant-ui/react 0.10.49 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/AttachmentRuntime.d.ts.map +1 -1
- package/dist/api/AttachmentRuntime.js +1 -0
- package/dist/api/AttachmentRuntime.js.map +1 -1
- package/dist/api/ComposerRuntime.d.ts +5 -2
- package/dist/api/ComposerRuntime.d.ts.map +1 -1
- package/dist/api/ComposerRuntime.js +4 -6
- package/dist/api/ComposerRuntime.js.map +1 -1
- package/dist/api/MessagePartRuntime.d.ts.map +1 -1
- package/dist/api/MessagePartRuntime.js +1 -0
- package/dist/api/MessagePartRuntime.js.map +1 -1
- package/dist/api/MessageRuntime.d.ts.map +1 -1
- package/dist/api/MessageRuntime.js +1 -0
- package/dist/api/MessageRuntime.js.map +1 -1
- package/dist/api/ThreadListItemRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListItemRuntime.js +5 -0
- package/dist/api/ThreadListItemRuntime.js.map +1 -1
- package/dist/api/ThreadListRuntime.d.ts +2 -3
- package/dist/api/ThreadListRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListRuntime.js +6 -7
- package/dist/api/ThreadListRuntime.js.map +1 -1
- package/dist/api/ThreadRuntime.d.ts +6 -6
- package/dist/api/ThreadRuntime.d.ts.map +1 -1
- package/dist/api/ThreadRuntime.js +5 -4
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/client/AssistantRuntimeClient.d.ts +86 -0
- package/dist/client/AssistantRuntimeClient.d.ts.map +1 -0
- package/dist/client/AssistantRuntimeClient.js +138 -0
- package/dist/client/AssistantRuntimeClient.js.map +1 -0
- package/dist/client/AttachmentClient.d.ts +6 -0
- package/dist/client/AttachmentClient.d.ts.map +1 -0
- package/dist/client/AttachmentClient.js +1 -0
- package/dist/client/AttachmentClient.js.map +1 -0
- package/dist/client/ComposerClient.d.ts +42 -0
- package/dist/client/ComposerClient.d.ts.map +1 -0
- package/dist/client/ComposerClient.js +76 -0
- package/dist/client/ComposerClient.js.map +1 -0
- package/dist/client/EventManagerClient.d.ts +9 -0
- package/dist/client/EventManagerClient.d.ts.map +1 -0
- package/dist/client/EventManagerClient.js +40 -0
- package/dist/client/EventManagerClient.js.map +1 -0
- package/dist/client/MessageClient.d.ts +67 -0
- package/dist/client/MessageClient.d.ts.map +1 -0
- package/dist/client/MessageClient.js +108 -0
- package/dist/client/MessageClient.js.map +1 -0
- package/dist/client/MessagePartClient.d.ts +21 -0
- package/dist/client/MessagePartClient.d.ts.map +1 -0
- package/dist/client/MessagePartClient.js +25 -0
- package/dist/client/MessagePartClient.js.map +1 -0
- package/dist/client/ThreadClient.d.ts +111 -0
- package/dist/client/ThreadClient.d.ts.map +1 -0
- package/dist/client/ThreadClient.js +126 -0
- package/dist/client/ThreadClient.js.map +1 -0
- package/dist/client/ThreadListClient.d.ts +33 -0
- package/dist/client/ThreadListClient.d.ts.map +1 -0
- package/dist/client/ThreadListClient.js +87 -0
- package/dist/client/ThreadListClient.js.map +1 -0
- package/dist/client/ThreadListItemClient.d.ts +32 -0
- package/dist/client/ThreadListItemClient.d.ts.map +1 -0
- package/dist/client/ThreadListItemClient.js +53 -0
- package/dist/client/ThreadListItemClient.js.map +1 -0
- package/dist/client/util-hooks/tapLookupResources.d.ts +16 -0
- package/dist/client/util-hooks/tapLookupResources.d.ts.map +1 -0
- package/dist/client/util-hooks/tapLookupResources.js +21 -0
- package/dist/client/util-hooks/tapLookupResources.js.map +1 -0
- package/dist/client/util-hooks/tapSubscribable.d.ts +3 -0
- package/dist/client/util-hooks/tapSubscribable.d.ts.map +1 -0
- package/dist/client/util-hooks/tapSubscribable.js +16 -0
- package/dist/client/util-hooks/tapSubscribable.js.map +1 -0
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js +21 -12
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.d.ts +3 -3
- package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.js +14 -42
- package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
- package/dist/context/providers/AttachmentProvider.d.ts +8 -0
- package/dist/context/providers/AttachmentProvider.d.ts.map +1 -0
- package/dist/context/providers/AttachmentProvider.js +41 -0
- package/dist/context/providers/AttachmentProvider.js.map +1 -0
- package/dist/context/providers/MessageProvider.d.ts +5 -0
- package/dist/context/providers/MessageProvider.d.ts.map +1 -0
- package/dist/context/providers/MessageProvider.js +47 -0
- package/dist/context/providers/MessageProvider.js.map +1 -0
- package/dist/context/providers/PartProvider.d.ts +5 -0
- package/dist/context/providers/PartProvider.d.ts.map +1 -0
- package/dist/context/providers/PartProvider.js +27 -0
- package/dist/context/providers/PartProvider.js.map +1 -0
- package/dist/context/providers/TextMessagePartProvider.d.ts +5 -8
- package/dist/context/providers/TextMessagePartProvider.d.ts.map +1 -1
- package/dist/context/providers/TextMessagePartProvider.js +42 -53
- package/dist/context/providers/TextMessagePartProvider.js.map +1 -1
- package/dist/context/providers/ThreadListItemProvider.d.ts +9 -0
- package/dist/context/providers/ThreadListItemProvider.d.ts.map +1 -0
- package/dist/context/providers/ThreadListItemProvider.js +65 -0
- package/dist/context/providers/ThreadListItemProvider.js.map +1 -0
- package/dist/context/providers/index.d.ts +4 -1
- package/dist/context/providers/index.d.ts.map +1 -1
- package/dist/context/providers/index.js +17 -3
- package/dist/context/providers/index.js.map +1 -1
- package/dist/context/react/AssistantApiContext.d.ts +112 -0
- package/dist/context/react/AssistantApiContext.d.ts.map +1 -0
- package/dist/context/react/AssistantApiContext.js +197 -0
- package/dist/context/react/AssistantApiContext.js.map +1 -0
- package/dist/context/react/index.d.ts +9 -12
- package/dist/context/react/index.d.ts.map +1 -1
- package/dist/context/react/index.js +38 -33
- package/dist/context/react/index.js.map +1 -1
- package/dist/context/react/legacy/AssistantContext.d.ts +58 -0
- package/dist/context/react/legacy/AssistantContext.d.ts.map +1 -0
- package/dist/context/react/legacy/AssistantContext.js +20 -0
- package/dist/context/react/legacy/AssistantContext.js.map +1 -0
- package/dist/context/react/{AttachmentContext.d.ts → legacy/AttachmentContext.d.ts} +133 -139
- package/dist/context/react/legacy/AttachmentContext.d.ts.map +1 -0
- package/dist/context/react/{AttachmentContext.js → legacy/AttachmentContext.js} +9 -15
- package/dist/context/react/legacy/AttachmentContext.js.map +1 -0
- package/dist/context/react/{ComposerContext.d.ts → legacy/ComposerContext.d.ts} +12 -12
- package/dist/context/react/legacy/ComposerContext.d.ts.map +1 -0
- package/dist/context/react/legacy/ComposerContext.js +19 -0
- package/dist/context/react/legacy/ComposerContext.js.map +1 -0
- package/dist/context/react/{MessageContext.d.ts → legacy/MessageContext.d.ts} +23 -47
- package/dist/context/react/legacy/MessageContext.d.ts.map +1 -0
- package/dist/context/react/legacy/MessageContext.js +24 -0
- package/dist/context/react/legacy/MessageContext.js.map +1 -0
- package/dist/context/react/legacy/MessagePartContext.d.ts +35 -0
- package/dist/context/react/legacy/MessagePartContext.d.ts.map +1 -0
- package/dist/context/react/legacy/MessagePartContext.js +19 -0
- package/dist/context/react/legacy/MessagePartContext.js.map +1 -0
- package/dist/context/react/{ThreadContext.d.ts → legacy/ThreadContext.d.ts} +24 -30
- package/dist/context/react/legacy/ThreadContext.d.ts.map +1 -0
- package/dist/context/react/legacy/ThreadContext.js +33 -0
- package/dist/context/react/legacy/ThreadContext.js.map +1 -0
- package/dist/context/react/legacy/ThreadListItemContext.d.ts +35 -0
- package/dist/context/react/legacy/ThreadListItemContext.d.ts.map +1 -0
- package/dist/context/react/legacy/ThreadListItemContext.js +21 -0
- package/dist/context/react/legacy/ThreadListItemContext.js.map +1 -0
- package/dist/context/stores/index.d.ts +0 -2
- package/dist/context/stores/index.d.ts.map +1 -1
- package/dist/hooks/useAssistantEvent.d.ts +3 -0
- package/dist/hooks/useAssistantEvent.d.ts.map +1 -0
- package/dist/hooks/useAssistantEvent.js +22 -0
- package/dist/hooks/useAssistantEvent.js.map +1 -0
- package/dist/model-context/makeAssistantVisible.js +4 -4
- package/dist/model-context/makeAssistantVisible.js.map +1 -1
- package/dist/model-context/useAssistantInstructions.js +4 -4
- package/dist/model-context/useAssistantInstructions.js.map +1 -1
- package/dist/model-context/useAssistantTool.d.ts.map +1 -1
- package/dist/model-context/useAssistantTool.js +7 -10
- package/dist/model-context/useAssistantTool.js.map +1 -1
- package/dist/model-context/useAssistantToolUI.js +5 -5
- package/dist/model-context/useAssistantToolUI.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js +12 -17
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.js +5 -5
- package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +6 -7
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +6 -6
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.js +6 -10
- package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.js +6 -6
- package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js +5 -8
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.js +10 -21
- package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.js +4 -4
- package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
- package/dist/primitives/attachment/AttachmentName.js +2 -2
- package/dist/primitives/attachment/AttachmentName.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.js +4 -4
- package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.js +5 -2
- package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.js +2 -2
- package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.js +7 -8
- package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.js +2 -2
- package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.js +7 -8
- package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.js +6 -6
- package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachmentDropzone.js +4 -4
- package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.js +11 -13
- package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.js +5 -5
- package/dist/primitives/composer/ComposerCancel.js.map +1 -1
- package/dist/primitives/composer/ComposerIf.js +2 -2
- package/dist/primitives/composer/ComposerIf.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +22 -32
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerSend.js +6 -10
- package/dist/primitives/composer/ComposerSend.js.map +1 -1
- package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
- package/dist/primitives/error/ErrorMessage.js +3 -3
- package/dist/primitives/error/ErrorMessage.js.map +1 -1
- package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
- package/dist/primitives/message/MessageAttachments.js +9 -11
- package/dist/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/primitives/message/MessageError.d.ts.map +1 -1
- package/dist/primitives/message/MessageError.js +3 -3
- package/dist/primitives/message/MessageError.js.map +1 -1
- package/dist/primitives/message/MessageIf.d.ts.map +1 -1
- package/dist/primitives/message/MessageIf.js +28 -34
- package/dist/primitives/message/MessageIf.js.map +1 -1
- package/dist/primitives/message/MessageParts.d.ts.map +1 -1
- package/dist/primitives/message/MessageParts.js +25 -27
- package/dist/primitives/message/MessageParts.js.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.js +24 -26
- package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.js +8 -7
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.js +4 -2
- package/dist/primitives/messagePart/MessagePartInProgress.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartFile.js +4 -4
- package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartImage.js +4 -4
- package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartReasoning.js +4 -4
- package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartSource.js +4 -4
- package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -1
- package/dist/primitives/messagePart/useMessagePartText.js +4 -4
- package/dist/primitives/messagePart/useMessagePartText.js.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.js +2 -2
- package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
- package/dist/primitives/thread/ThreadIf.js +2 -2
- package/dist/primitives/thread/ThreadIf.js.map +1 -1
- package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js +9 -12
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.js +8 -8
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.js +3 -6
- package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.js +7 -10
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.d.ts +1 -3
- package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.js +7 -11
- package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.js +4 -4
- package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.js +6 -5
- package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +4 -2
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTitle.js +2 -2
- package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js +6 -5
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +6 -5
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
- package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts +2 -0
- package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts.map +1 -1
- package/dist/runtimes/adapters/RuntimeAdapterProvider.js.map +1 -1
- package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.d.ts +15 -0
- package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.d.ts.map +1 -0
- package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.js +83 -0
- package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.js.map +1 -0
- package/dist/runtimes/adapters/attachment/index.d.ts +1 -0
- package/dist/runtimes/adapters/attachment/index.d.ts.map +1 -1
- package/dist/runtimes/adapters/attachment/index.js +2 -0
- package/dist/runtimes/adapters/attachment/index.js.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js +3 -3
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js +5 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ComposerRuntimeCore.d.ts +2 -2
- package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +5 -5
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +5 -2
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +6 -4
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +42 -7
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +3 -0
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/createMessageConverter.d.ts +2 -2
- package/dist/runtimes/external-store/createMessageConverter.d.ts.map +1 -1
- package/dist/runtimes/external-store/createMessageConverter.js +9 -6
- package/dist/runtimes/external-store/createMessageConverter.js.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +10 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +15 -2
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +3 -5
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +13 -19
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +11 -7
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +41 -35
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.js +14 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.js.map +1 -1
- package/dist/tests/setup.js +8 -8
- package/dist/tests/setup.js.map +1 -1
- package/dist/types/EventTypes.d.ts +49 -0
- package/dist/types/EventTypes.d.ts.map +1 -0
- package/dist/types/EventTypes.js +22 -0
- package/dist/types/EventTypes.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/smooth/SmoothContext.js +3 -3
- package/dist/utils/smooth/SmoothContext.js.map +1 -1
- package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
- package/dist/utils/smooth/useSmooth.js +2 -5
- package/dist/utils/smooth/useSmooth.js.map +1 -1
- package/dist/utils/tap-store/index.d.ts +3 -0
- package/dist/utils/tap-store/index.d.ts.map +1 -0
- package/dist/utils/tap-store/index.js +8 -0
- package/dist/utils/tap-store/index.js.map +1 -0
- package/dist/utils/tap-store/store.d.ts +21 -0
- package/dist/utils/tap-store/store.d.ts.map +1 -0
- package/dist/utils/tap-store/store.js +29 -0
- package/dist/utils/tap-store/store.js.map +1 -0
- package/dist/utils/tap-store/tap-store-api.d.ts +8 -0
- package/dist/utils/tap-store/tap-store-api.d.ts.map +1 -0
- package/dist/utils/tap-store/tap-store-api.js +57 -0
- package/dist/utils/tap-store/tap-store-api.js.map +1 -0
- package/dist/utils/useToolArgsFieldStatus.js +6 -6
- package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
- package/package.json +2 -1
- package/src/api/AttachmentRuntime.ts +3 -1
- package/src/api/ComposerRuntime.ts +16 -9
- package/src/api/MessagePartRuntime.ts +3 -1
- package/src/api/MessageRuntime.ts +2 -0
- package/src/api/ThreadListItemRuntime.ts +11 -1
- package/src/api/ThreadListRuntime.ts +9 -9
- package/src/api/ThreadRuntime.ts +9 -7
- package/src/client/AssistantRuntimeClient.ts +197 -0
- package/src/client/AttachmentClient.ts +11 -0
- package/src/client/ComposerClient.ts +133 -0
- package/src/client/EventManagerClient.ts +63 -0
- package/src/client/MessageClient.ts +196 -0
- package/src/client/MessagePartClient.ts +53 -0
- package/src/client/ThreadClient.ts +280 -0
- package/src/client/ThreadListClient.ts +135 -0
- package/src/client/ThreadListItemClient.ts +88 -0
- package/src/client/util-hooks/tapLookupResources.ts +31 -0
- package/src/client/util-hooks/tapSubscribable.ts +16 -0
- package/src/cloud/AssistantCloudThreadHistoryAdapter.tsx +24 -13
- package/src/context/providers/AssistantRuntimeProvider.tsx +27 -51
- package/src/context/providers/AttachmentProvider.tsx +48 -0
- package/src/context/providers/MessageProvider.tsx +57 -0
- package/src/context/providers/PartProvider.tsx +28 -0
- package/src/context/providers/TextMessagePartProvider.tsx +53 -78
- package/src/context/providers/ThreadListItemProvider.tsx +84 -0
- package/src/context/providers/index.ts +10 -3
- package/src/context/react/AssistantApiContext.tsx +392 -0
- package/src/context/react/index.ts +30 -37
- package/src/context/react/{AssistantContext.ts → legacy/AssistantContext.ts} +12 -31
- package/src/context/react/{AttachmentContext.ts → legacy/AttachmentContext.ts} +11 -22
- package/src/context/react/{ComposerContext.ts → legacy/ComposerContext.ts} +11 -9
- package/src/context/react/{MessageContext.ts → legacy/MessageContext.ts} +12 -29
- package/src/context/react/legacy/MessagePartContext.ts +24 -0
- package/src/context/react/{ThreadContext.ts → legacy/ThreadContext.ts} +15 -25
- package/src/context/react/legacy/ThreadListItemContext.ts +28 -0
- package/src/context/stores/index.ts +0 -2
- package/src/hooks/useAssistantEvent.ts +24 -0
- package/src/model-context/makeAssistantVisible.tsx +4 -4
- package/src/model-context/useAssistantInstructions.tsx +4 -4
- package/src/model-context/useAssistantTool.tsx +7 -12
- package/src/model-context/useAssistantToolUI.tsx +5 -5
- package/src/primitives/actionBar/ActionBarCopy.tsx +14 -20
- package/src/primitives/actionBar/ActionBarEdit.tsx +5 -5
- package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +6 -7
- package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +6 -6
- package/src/primitives/actionBar/ActionBarReload.tsx +9 -10
- package/src/primitives/actionBar/ActionBarSpeak.tsx +7 -7
- package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +5 -8
- package/src/primitives/actionBar/useActionBarFloatStatus.tsx +22 -34
- package/src/primitives/assistantModal/AssistantModalRoot.tsx +4 -4
- package/src/primitives/attachment/AttachmentName.tsx +2 -2
- package/src/primitives/attachment/AttachmentRemove.tsx +4 -4
- package/src/primitives/attachment/AttachmentThumb.tsx +5 -2
- package/src/primitives/branchPicker/BranchPickerCount.tsx +2 -2
- package/src/primitives/branchPicker/BranchPickerNext.tsx +7 -8
- package/src/primitives/branchPicker/BranchPickerNumber.tsx +2 -2
- package/src/primitives/branchPicker/BranchPickerPrevious.tsx +7 -8
- package/src/primitives/composer/ComposerAddAttachment.tsx +6 -6
- package/src/primitives/composer/ComposerAttachmentDropzone.tsx +4 -4
- package/src/primitives/composer/ComposerAttachments.tsx +12 -15
- package/src/primitives/composer/ComposerCancel.tsx +5 -5
- package/src/primitives/composer/ComposerIf.tsx +2 -2
- package/src/primitives/composer/ComposerInput.tsx +32 -32
- package/src/primitives/composer/ComposerSend.tsx +6 -10
- package/src/primitives/error/ErrorMessage.tsx +5 -4
- package/src/primitives/message/MessageAttachments.tsx +10 -13
- package/src/primitives/message/MessageError.tsx +5 -3
- package/src/primitives/message/MessageIf.tsx +43 -52
- package/src/primitives/message/MessageParts.tsx +26 -31
- package/src/primitives/message/MessagePartsGrouped.tsx +25 -30
- package/src/primitives/message/MessageRoot.tsx +10 -8
- package/src/primitives/messagePart/MessagePartInProgress.tsx +4 -2
- package/src/primitives/messagePart/useMessagePartFile.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartImage.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartReasoning.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartSource.tsx +4 -4
- package/src/primitives/messagePart/useMessagePartText.tsx +4 -4
- package/src/primitives/thread/ThreadEmpty.tsx +2 -2
- package/src/primitives/thread/ThreadIf.tsx +2 -2
- package/src/primitives/thread/ThreadMessages.tsx +10 -14
- package/src/primitives/thread/ThreadSuggestion.tsx +8 -8
- package/src/primitives/thread/useThreadViewportAutoScroll.tsx +3 -6
- package/src/primitives/threadList/ThreadListItems.tsx +8 -15
- package/src/primitives/threadList/ThreadListNew.tsx +9 -13
- package/src/primitives/threadListItem/ThreadListItemArchive.ts +4 -4
- package/src/primitives/threadListItem/ThreadListItemDelete.ts +6 -5
- package/src/primitives/threadListItem/ThreadListItemRoot.tsx +4 -2
- package/src/primitives/threadListItem/ThreadListItemTitle.tsx +2 -2
- package/src/primitives/threadListItem/ThreadListItemTrigger.ts +6 -5
- package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +6 -5
- package/src/runtimes/adapters/RuntimeAdapterProvider.tsx +2 -0
- package/src/runtimes/adapters/attachment/CloudFileAttachmentAdapter.ts +101 -0
- package/src/runtimes/adapters/attachment/index.ts +1 -0
- package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +3 -3
- package/src/runtimes/core/BaseThreadRuntimeCore.tsx +5 -1
- package/src/runtimes/core/ComposerRuntimeCore.tsx +2 -2
- package/src/runtimes/core/ThreadListRuntimeCore.tsx +6 -4
- package/src/runtimes/external-store/ExternalStoreAdapter.tsx +5 -2
- package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +53 -12
- package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +4 -0
- package/src/runtimes/external-store/createMessageConverter.tsx +10 -6
- package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +16 -2
- package/src/runtimes/remote-thread-list/EMPTY_THREAD_CORE.tsx +3 -6
- package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +14 -19
- package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +50 -43
- package/src/runtimes/remote-thread-list/adapter/cloud.tsx +16 -1
- package/src/types/EventTypes.ts +92 -0
- package/src/types/index.ts +6 -0
- package/src/utils/smooth/SmoothContext.tsx +3 -3
- package/src/utils/smooth/useSmooth.tsx +2 -5
- package/src/utils/tap-store/index.ts +2 -0
- package/src/utils/tap-store/store.ts +51 -0
- package/src/utils/tap-store/tap-store-api.ts +75 -0
- package/src/utils/useToolArgsFieldStatus.tsx +6 -6
- package/dist/context/providers/AttachmentRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/AttachmentRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/AttachmentRuntimeProvider.js +0 -33
- package/dist/context/providers/AttachmentRuntimeProvider.js.map +0 -1
- package/dist/context/providers/MessagePartRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/MessagePartRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/MessagePartRuntimeProvider.js +0 -28
- package/dist/context/providers/MessagePartRuntimeProvider.js.map +0 -1
- package/dist/context/providers/MessageRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/MessageRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/MessageRuntimeProvider.js +0 -37
- package/dist/context/providers/MessageRuntimeProvider.js.map +0 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +0 -9
- package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.js +0 -30
- package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +0 -1
- package/dist/context/providers/ThreadRuntimeProvider.d.ts +0 -10
- package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/ThreadRuntimeProvider.js +0 -33
- package/dist/context/providers/ThreadRuntimeProvider.js.map +0 -1
- package/dist/context/react/AssistantContext.d.ts +0 -85
- package/dist/context/react/AssistantContext.d.ts.map +0 -1
- package/dist/context/react/AssistantContext.js +0 -34
- package/dist/context/react/AssistantContext.js.map +0 -1
- package/dist/context/react/AttachmentContext.d.ts.map +0 -1
- package/dist/context/react/AttachmentContext.js.map +0 -1
- package/dist/context/react/ComposerContext.d.ts.map +0 -1
- package/dist/context/react/ComposerContext.js +0 -17
- package/dist/context/react/ComposerContext.js.map +0 -1
- package/dist/context/react/MessageContext.d.ts.map +0 -1
- package/dist/context/react/MessageContext.js +0 -35
- package/dist/context/react/MessageContext.js.map +0 -1
- package/dist/context/react/MessagePartContext.d.ts +0 -41
- package/dist/context/react/MessagePartContext.d.ts.map +0 -1
- package/dist/context/react/MessagePartContext.js +0 -25
- package/dist/context/react/MessagePartContext.js.map +0 -1
- package/dist/context/react/ThreadContext.d.ts.map +0 -1
- package/dist/context/react/ThreadContext.js +0 -38
- package/dist/context/react/ThreadContext.js.map +0 -1
- package/dist/context/react/ThreadListItemContext.d.ts +0 -41
- package/dist/context/react/ThreadListItemContext.d.ts.map +0 -1
- package/dist/context/react/ThreadListItemContext.js +0 -25
- package/dist/context/react/ThreadListItemContext.js.map +0 -1
- package/dist/context/stores/AssistantToolUIs.d.ts +0 -14
- package/dist/context/stores/AssistantToolUIs.d.ts.map +0 -1
- package/dist/context/stores/AssistantToolUIs.js +0 -35
- package/dist/context/stores/AssistantToolUIs.js.map +0 -1
- package/dist/context/stores/MessageUtils.d.ts +0 -8
- package/dist/context/stores/MessageUtils.d.ts.map +0 -1
- package/dist/context/stores/MessageUtils.js +0 -18
- package/dist/context/stores/MessageUtils.js.map +0 -1
- package/dist/utils/combined/createCombinedStore.d.ts +0 -8
- package/dist/utils/combined/createCombinedStore.d.ts.map +0 -1
- package/dist/utils/combined/createCombinedStore.js +0 -22
- package/dist/utils/combined/createCombinedStore.js.map +0 -1
- package/dist/utils/combined/useCombinedStore.d.ts +0 -3
- package/dist/utils/combined/useCombinedStore.d.ts.map +0 -1
- package/dist/utils/combined/useCombinedStore.js +0 -15
- package/dist/utils/combined/useCombinedStore.js.map +0 -1
- package/src/context/providers/AttachmentRuntimeProvider.tsx +0 -44
- package/src/context/providers/MessagePartRuntimeProvider.tsx +0 -42
- package/src/context/providers/MessageRuntimeProvider.tsx +0 -50
- package/src/context/providers/ThreadListItemRuntimeProvider.tsx +0 -43
- package/src/context/providers/ThreadRuntimeProvider.tsx +0 -53
- package/src/context/react/MessagePartContext.ts +0 -37
- package/src/context/react/ThreadListItemContext.ts +0 -38
- package/src/context/stores/AssistantToolUIs.ts +0 -51
- package/src/context/stores/MessageUtils.ts +0 -23
- package/src/utils/combined/createCombinedStore.ts +0 -31
- package/src/utils/combined/useCombinedStore.ts +0 -17
@@ -0,0 +1,40 @@
|
|
1
|
+
// src/client/EventManagerClient.ts
|
2
|
+
import { resource, tapState } from "@assistant-ui/tap";
|
3
|
+
import { tapApi } from "../utils/tap-store/index.js";
|
4
|
+
var EventManagerClient = resource(() => {
|
5
|
+
const [listeners] = tapState(
|
6
|
+
() => /* @__PURE__ */ new Map()
|
7
|
+
);
|
8
|
+
const api = tapApi(
|
9
|
+
{},
|
10
|
+
{
|
11
|
+
on: (event, callback) => {
|
12
|
+
if (!listeners.has(event)) {
|
13
|
+
listeners.set(event, /* @__PURE__ */ new Set());
|
14
|
+
}
|
15
|
+
const eventListeners = listeners.get(event);
|
16
|
+
eventListeners.add(callback);
|
17
|
+
return () => {
|
18
|
+
eventListeners.delete(callback);
|
19
|
+
if (eventListeners.size === 0) {
|
20
|
+
listeners.delete(event);
|
21
|
+
}
|
22
|
+
};
|
23
|
+
},
|
24
|
+
emit: (event, payload) => {
|
25
|
+
const eventListeners = listeners.get(event);
|
26
|
+
if (!eventListeners) return;
|
27
|
+
queueMicrotask(() => {
|
28
|
+
for (const callback of eventListeners) {
|
29
|
+
callback(payload);
|
30
|
+
}
|
31
|
+
});
|
32
|
+
}
|
33
|
+
}
|
34
|
+
);
|
35
|
+
return api;
|
36
|
+
});
|
37
|
+
export {
|
38
|
+
EventManagerClient
|
39
|
+
};
|
40
|
+
//# sourceMappingURL=EventManagerClient.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/client/EventManagerClient.ts"],"sourcesContent":["import { resource, tapState } from \"@assistant-ui/tap\";\nimport { tapApi } from \"../utils/tap-store\";\nimport { AssistantEvents, Unsubscribe } from \"../types\";\n\ntype EventCallback<TEvent extends keyof AssistantEvents> = (\n payload: AssistantEvents[TEvent],\n) => void;\n\nexport type EventManagerActions = {\n on<TEvent extends keyof AssistantEvents>(\n event: TEvent,\n callback: EventCallback<TEvent>,\n ): Unsubscribe;\n emit<TEvent extends keyof AssistantEvents>(\n event: TEvent,\n payload: AssistantEvents[TEvent],\n ): void;\n};\n\nexport const EventManagerClient = resource(() => {\n // Map of event name to set of callbacks\n const [listeners] = tapState<Map<string, Set<EventCallback<any>>>>(\n () => new Map(),\n );\n\n const api = tapApi<Record<string, never>, EventManagerActions>(\n {},\n {\n on: <TEvent extends keyof AssistantEvents>(\n event: TEvent,\n callback: EventCallback<TEvent>,\n ): Unsubscribe => {\n if (!listeners.has(event)) {\n listeners.set(event, new Set());\n }\n\n const eventListeners = listeners.get(event)!;\n eventListeners.add(callback);\n\n return () => {\n eventListeners.delete(callback);\n if (eventListeners.size === 0) {\n listeners.delete(event);\n }\n };\n },\n\n emit: (event: keyof AssistantEvents, payload: any) => {\n const eventListeners = listeners.get(event);\n if (!eventListeners) return;\n\n // make sure state updates flush\n queueMicrotask(() => {\n for (const callback of eventListeners) {\n callback(payload);\n }\n });\n },\n },\n );\n\n return api;\n});\n"],"mappings":";AAAA,SAAS,UAAU,gBAAgB;AACnC,SAAS,cAAc;AAkBhB,IAAM,qBAAqB,SAAS,MAAM;AAE/C,QAAM,CAAC,SAAS,IAAI;AAAA,IAClB,MAAM,oBAAI,IAAI;AAAA,EAChB;AAEA,QAAM,MAAM;AAAA,IACV,CAAC;AAAA,IACD;AAAA,MACE,IAAI,CACF,OACA,aACgB;AAChB,YAAI,CAAC,UAAU,IAAI,KAAK,GAAG;AACzB,oBAAU,IAAI,OAAO,oBAAI,IAAI,CAAC;AAAA,QAChC;AAEA,cAAM,iBAAiB,UAAU,IAAI,KAAK;AAC1C,uBAAe,IAAI,QAAQ;AAE3B,eAAO,MAAM;AACX,yBAAe,OAAO,QAAQ;AAC9B,cAAI,eAAe,SAAS,GAAG;AAC7B,sBAAU,OAAO,KAAK;AAAA,UACxB;AAAA,QACF;AAAA,MACF;AAAA,MAEA,MAAM,CAAC,OAA8B,YAAiB;AACpD,cAAM,iBAAiB,UAAU,IAAI,KAAK;AAC1C,YAAI,CAAC,eAAgB;AAGrB,uBAAe,MAAM;AACnB,qBAAW,YAAY,gBAAgB;AACrC,qBAAS,OAAO;AAAA,UAClB;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT,CAAC;","names":[]}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import { MessageRuntime } from "../api/MessageRuntime";
|
2
|
+
import { ComposerClientActions, ComposerClientState } from "./ComposerClient";
|
3
|
+
import { MessagePartClientActions, MessagePartClientState } from "./MessagePartClient";
|
4
|
+
import { ThreadMessage } from "../types";
|
5
|
+
import { SpeechState, SubmittedFeedback } from "../runtimes/core/ThreadRuntimeCore";
|
6
|
+
import { RunConfig } from "../types/AssistantTypes";
|
7
|
+
import { AttachmentClientActions, AttachmentClientState } from "./AttachmentClient";
|
8
|
+
import { StoreApi } from "../utils/tap-store/tap-store-api";
|
9
|
+
import { EventManagerActions } from "./EventManagerClient";
|
10
|
+
import { RefObject } from "react";
|
11
|
+
export type MessageClientState = ThreadMessage & {
|
12
|
+
readonly parentId: string | null;
|
13
|
+
readonly isLast: boolean;
|
14
|
+
readonly branchNumber: number;
|
15
|
+
readonly branchCount: number;
|
16
|
+
/**
|
17
|
+
* @deprecated This API is still under active development and might change without notice.
|
18
|
+
*/
|
19
|
+
readonly speech: SpeechState | undefined;
|
20
|
+
readonly submittedFeedback: SubmittedFeedback | undefined;
|
21
|
+
readonly composer: ComposerClientState;
|
22
|
+
readonly parts: readonly MessagePartClientState[];
|
23
|
+
readonly isCopied: boolean;
|
24
|
+
readonly isHovering: boolean;
|
25
|
+
};
|
26
|
+
export type MessageClientActions = {
|
27
|
+
readonly composer: StoreApi<ComposerClientState, ComposerClientActions>;
|
28
|
+
reload(config?: {
|
29
|
+
runConfig?: RunConfig;
|
30
|
+
}): void;
|
31
|
+
/**
|
32
|
+
* @deprecated This API is still under active development and might change without notice.
|
33
|
+
*/
|
34
|
+
speak(): void;
|
35
|
+
/**
|
36
|
+
* @deprecated This API is still under active development and might change without notice.
|
37
|
+
*/
|
38
|
+
stopSpeaking(): void;
|
39
|
+
submitFeedback(feedback: {
|
40
|
+
type: "positive" | "negative";
|
41
|
+
}): void;
|
42
|
+
switchToBranch(options: {
|
43
|
+
position?: "previous" | "next";
|
44
|
+
branchId?: string;
|
45
|
+
}): void;
|
46
|
+
getCopyText(): string;
|
47
|
+
part: (selector: {
|
48
|
+
index: number;
|
49
|
+
} | {
|
50
|
+
toolCallId: string;
|
51
|
+
}) => StoreApi<MessagePartClientState, MessagePartClientActions>;
|
52
|
+
attachment(selector: {
|
53
|
+
index: number;
|
54
|
+
}): StoreApi<AttachmentClientState, AttachmentClientActions>;
|
55
|
+
setIsCopied(value: boolean): void;
|
56
|
+
setIsHovering(value: boolean): void;
|
57
|
+
};
|
58
|
+
export declare const MessageClient: import("@assistant-ui/tap").ResourceElementConstructor<{
|
59
|
+
key: string;
|
60
|
+
state: MessageClientState;
|
61
|
+
api: StoreApi<MessageClientState, MessageClientActions>;
|
62
|
+
}, {
|
63
|
+
runtime: MessageRuntime;
|
64
|
+
events: EventManagerActions;
|
65
|
+
threadIdRef: RefObject<string>;
|
66
|
+
}>;
|
67
|
+
//# sourceMappingURL=MessageClient.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"MessageClient.d.ts","sourceRoot":"","sources":["../../src/client/MessageClient.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,WAAW,EACX,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAE1D,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAElD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;IAExE,MAAM,CAAC,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IACd;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;IACrB,cAAc,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,cAAc,CAAC,OAAO,EAAE;QACtB,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,WAAW,IAAI,MAAM,CAAC;IAEtB,IAAI,EAAE,CACJ,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KACjD,QAAQ,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;IAChE,UAAU,CAAC,QAAQ,EAAE;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,QAAQ,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;IAE7D,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAIrC,CAAC;AAYF,eAAO,MAAM,aAAa;;;;;aAMb,cAAc;YACf,mBAAmB;iBACd,SAAS,CAAC,MAAM,CAAC;EA0FjC,CAAC"}
|
@@ -0,0 +1,108 @@
|
|
1
|
+
// src/client/MessageClient.ts
|
2
|
+
import {
|
3
|
+
resource,
|
4
|
+
tapInlineResource,
|
5
|
+
tapMemo,
|
6
|
+
tapState
|
7
|
+
} from "@assistant-ui/tap";
|
8
|
+
import { tapApi } from "../utils/tap-store/index.js";
|
9
|
+
import { tapSubscribable } from "./util-hooks/tapSubscribable.js";
|
10
|
+
import {
|
11
|
+
ComposerClient
|
12
|
+
} from "./ComposerClient.js";
|
13
|
+
import {
|
14
|
+
MessagePartClient
|
15
|
+
} from "./MessagePartClient.js";
|
16
|
+
import { tapLookupResources } from "./util-hooks/tapLookupResources.js";
|
17
|
+
var MessagePartByIndex = resource(
|
18
|
+
({ runtime, index }) => {
|
19
|
+
const partRuntime = tapMemo(
|
20
|
+
() => runtime.getMessagePartByIndex(index),
|
21
|
+
[runtime, index]
|
22
|
+
);
|
23
|
+
return tapInlineResource(MessagePartClient({ runtime: partRuntime }));
|
24
|
+
}
|
25
|
+
);
|
26
|
+
var MessageClient = resource(
|
27
|
+
({
|
28
|
+
runtime,
|
29
|
+
events,
|
30
|
+
threadIdRef
|
31
|
+
}) => {
|
32
|
+
const runtimeState = tapSubscribable(runtime);
|
33
|
+
const [isCopiedState, setIsCopied] = tapState(false);
|
34
|
+
const [isHoveringState, setIsHovering] = tapState(false);
|
35
|
+
const messageIdRef = tapMemo(
|
36
|
+
() => ({
|
37
|
+
get current() {
|
38
|
+
return runtime.getState().id;
|
39
|
+
}
|
40
|
+
}),
|
41
|
+
[runtime]
|
42
|
+
);
|
43
|
+
const composer = tapInlineResource(
|
44
|
+
ComposerClient({
|
45
|
+
runtime: runtime.composer,
|
46
|
+
events,
|
47
|
+
threadIdRef,
|
48
|
+
messageIdRef
|
49
|
+
})
|
50
|
+
);
|
51
|
+
const parts = tapLookupResources(
|
52
|
+
runtimeState.content.map(
|
53
|
+
(_, idx) => MessagePartByIndex({ runtime, index: idx }, { key: idx })
|
54
|
+
)
|
55
|
+
);
|
56
|
+
const state = tapMemo(() => {
|
57
|
+
return {
|
58
|
+
...runtimeState,
|
59
|
+
parts: parts.state,
|
60
|
+
composer: composer.state,
|
61
|
+
isCopied: isCopiedState,
|
62
|
+
isHovering: isHoveringState
|
63
|
+
};
|
64
|
+
}, [
|
65
|
+
runtimeState,
|
66
|
+
parts.state,
|
67
|
+
composer.state,
|
68
|
+
isCopiedState,
|
69
|
+
isHoveringState
|
70
|
+
]);
|
71
|
+
const api = tapApi(state, {
|
72
|
+
composer: composer.api,
|
73
|
+
reload: (config) => runtime.reload(config),
|
74
|
+
speak: () => runtime.speak(),
|
75
|
+
stopSpeaking: () => runtime.stopSpeaking(),
|
76
|
+
submitFeedback: (feedback) => runtime.submitFeedback(feedback),
|
77
|
+
switchToBranch: (options) => runtime.switchToBranch(options),
|
78
|
+
getCopyText: () => runtime.unstable_getCopyText(),
|
79
|
+
part: (selector) => {
|
80
|
+
if ("index" in selector) {
|
81
|
+
return parts.api({ index: selector.index });
|
82
|
+
} else {
|
83
|
+
return parts.api({ key: "toolCallId-" + selector.toolCallId });
|
84
|
+
}
|
85
|
+
},
|
86
|
+
attachment: ({ index }) => {
|
87
|
+
const attachmentRuntime = runtime.getAttachmentByIndex(index);
|
88
|
+
return {
|
89
|
+
getState: attachmentRuntime.getState,
|
90
|
+
remove: attachmentRuntime.remove,
|
91
|
+
__internal_getRuntime: () => attachmentRuntime
|
92
|
+
};
|
93
|
+
},
|
94
|
+
setIsCopied,
|
95
|
+
setIsHovering,
|
96
|
+
__internal_getRuntime: () => runtime
|
97
|
+
});
|
98
|
+
return {
|
99
|
+
key: runtimeState.id,
|
100
|
+
state,
|
101
|
+
api
|
102
|
+
};
|
103
|
+
}
|
104
|
+
);
|
105
|
+
export {
|
106
|
+
MessageClient
|
107
|
+
};
|
108
|
+
//# sourceMappingURL=MessageClient.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/client/MessageClient.ts"],"sourcesContent":["import {\n resource,\n tapInlineResource,\n tapMemo,\n tapState,\n} from \"@assistant-ui/tap\";\nimport { tapApi } from \"../utils/tap-store\";\nimport { MessageRuntime } from \"../api/MessageRuntime\";\nimport { tapSubscribable } from \"./util-hooks/tapSubscribable\";\nimport {\n ComposerClient,\n ComposerClientActions,\n ComposerClientState,\n} from \"./ComposerClient\";\nimport {\n MessagePartClient,\n MessagePartClientActions,\n MessagePartClientState,\n} from \"./MessagePartClient\";\nimport { ThreadMessage } from \"../types\";\nimport {\n SpeechState,\n SubmittedFeedback,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { RunConfig } from \"../types/AssistantTypes\";\nimport { tapLookupResources } from \"./util-hooks/tapLookupResources\";\nimport {\n AttachmentClientActions,\n AttachmentClientState,\n} from \"./AttachmentClient\";\nimport { StoreApi } from \"../utils/tap-store/tap-store-api\";\nimport { EventManagerActions } from \"./EventManagerClient\";\nimport { RefObject } from \"react\";\n\nexport type MessageClientState = ThreadMessage & {\n readonly parentId: string | null;\n readonly isLast: boolean;\n\n readonly branchNumber: number;\n readonly branchCount: number;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n readonly submittedFeedback: SubmittedFeedback | undefined;\n\n readonly composer: ComposerClientState;\n readonly parts: readonly MessagePartClientState[];\n\n readonly isCopied: boolean;\n readonly isHovering: boolean;\n};\n\nexport type MessageClientActions = {\n readonly composer: StoreApi<ComposerClientState, ComposerClientActions>;\n\n reload(config?: { runConfig?: RunConfig }): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speak(): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking(): void;\n submitFeedback(feedback: { type: \"positive\" | \"negative\" }): void;\n switchToBranch(options: {\n position?: \"previous\" | \"next\";\n branchId?: string;\n }): void;\n getCopyText(): string;\n\n part: (\n selector: { index: number } | { toolCallId: string },\n ) => StoreApi<MessagePartClientState, MessagePartClientActions>;\n attachment(selector: {\n index: number;\n }): StoreApi<AttachmentClientState, AttachmentClientActions>;\n\n setIsCopied(value: boolean): void;\n setIsHovering(value: boolean): void;\n\n /** @internal */\n __internal_getRuntime(): MessageRuntime;\n};\n\nconst MessagePartByIndex = resource(\n ({ runtime, index }: { runtime: MessageRuntime; index: number }) => {\n const partRuntime = tapMemo(\n () => runtime.getMessagePartByIndex(index),\n [runtime, index],\n );\n return tapInlineResource(MessagePartClient({ runtime: partRuntime }));\n },\n);\n\nexport const MessageClient = resource(\n ({\n runtime,\n events,\n threadIdRef,\n }: {\n runtime: MessageRuntime;\n events: EventManagerActions;\n threadIdRef: RefObject<string>;\n }) => {\n const runtimeState = tapSubscribable(runtime);\n\n const [isCopiedState, setIsCopied] = tapState(false);\n const [isHoveringState, setIsHovering] = tapState(false);\n\n const messageIdRef = tapMemo(\n () => ({\n get current() {\n return runtime.getState().id;\n },\n }),\n [runtime],\n );\n\n const composer = tapInlineResource(\n ComposerClient({\n runtime: runtime.composer,\n events,\n threadIdRef,\n messageIdRef,\n }),\n );\n\n const parts = tapLookupResources(\n runtimeState.content.map((_, idx) =>\n MessagePartByIndex({ runtime, index: idx }, { key: idx }),\n ),\n );\n\n const state = tapMemo<MessageClientState>(() => {\n return {\n ...(runtimeState as MessageClientState),\n\n parts: parts.state,\n composer: composer.state,\n\n isCopied: isCopiedState,\n isHovering: isHoveringState,\n };\n }, [\n runtimeState,\n parts.state,\n composer.state,\n isCopiedState,\n isHoveringState,\n ]);\n\n const api = tapApi<MessageClientState, MessageClientActions>(state, {\n composer: composer.api,\n\n reload: (config) => runtime.reload(config),\n speak: () => runtime.speak(),\n stopSpeaking: () => runtime.stopSpeaking(),\n submitFeedback: (feedback) => runtime.submitFeedback(feedback),\n switchToBranch: (options) => runtime.switchToBranch(options),\n getCopyText: () => runtime.unstable_getCopyText(),\n\n part: (selector) => {\n if (\"index\" in selector) {\n return parts.api({ index: selector.index });\n } else {\n return parts.api({ key: \"toolCallId-\" + selector.toolCallId });\n }\n },\n\n attachment: ({ index }) => {\n const attachmentRuntime = runtime.getAttachmentByIndex(index);\n return {\n getState: attachmentRuntime.getState,\n\n remove: attachmentRuntime.remove,\n\n __internal_getRuntime: () => attachmentRuntime,\n };\n },\n\n setIsCopied,\n setIsHovering,\n\n __internal_getRuntime: () => runtime,\n });\n\n return {\n key: runtimeState.id,\n state,\n api,\n };\n },\n);\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAEvB,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,OAGK;AACP;AAAA,EACE;AAAA,OAGK;AAOP,SAAS,0BAA0B;AA8DnC,IAAM,qBAAqB;AAAA,EACzB,CAAC,EAAE,SAAS,MAAM,MAAkD;AAClE,UAAM,cAAc;AAAA,MAClB,MAAM,QAAQ,sBAAsB,KAAK;AAAA,MACzC,CAAC,SAAS,KAAK;AAAA,IACjB;AACA,WAAO,kBAAkB,kBAAkB,EAAE,SAAS,YAAY,CAAC,CAAC;AAAA,EACtE;AACF;AAEO,IAAM,gBAAgB;AAAA,EAC3B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAIM;AACJ,UAAM,eAAe,gBAAgB,OAAO;AAE5C,UAAM,CAAC,eAAe,WAAW,IAAI,SAAS,KAAK;AACnD,UAAM,CAAC,iBAAiB,aAAa,IAAI,SAAS,KAAK;AAEvD,UAAM,eAAe;AAAA,MACnB,OAAO;AAAA,QACL,IAAI,UAAU;AACZ,iBAAO,QAAQ,SAAS,EAAE;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,CAAC,OAAO;AAAA,IACV;AAEA,UAAM,WAAW;AAAA,MACf,eAAe;AAAA,QACb,SAAS,QAAQ;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAEA,UAAM,QAAQ;AAAA,MACZ,aAAa,QAAQ;AAAA,QAAI,CAAC,GAAG,QAC3B,mBAAmB,EAAE,SAAS,OAAO,IAAI,GAAG,EAAE,KAAK,IAAI,CAAC;AAAA,MAC1D;AAAA,IACF;AAEA,UAAM,QAAQ,QAA4B,MAAM;AAC9C,aAAO;AAAA,QACL,GAAI;AAAA,QAEJ,OAAO,MAAM;AAAA,QACb,UAAU,SAAS;AAAA,QAEnB,UAAU;AAAA,QACV,YAAY;AAAA,MACd;AAAA,IACF,GAAG;AAAA,MACD;AAAA,MACA,MAAM;AAAA,MACN,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IACF,CAAC;AAED,UAAM,MAAM,OAAiD,OAAO;AAAA,MAClE,UAAU,SAAS;AAAA,MAEnB,QAAQ,CAAC,WAAW,QAAQ,OAAO,MAAM;AAAA,MACzC,OAAO,MAAM,QAAQ,MAAM;AAAA,MAC3B,cAAc,MAAM,QAAQ,aAAa;AAAA,MACzC,gBAAgB,CAAC,aAAa,QAAQ,eAAe,QAAQ;AAAA,MAC7D,gBAAgB,CAAC,YAAY,QAAQ,eAAe,OAAO;AAAA,MAC3D,aAAa,MAAM,QAAQ,qBAAqB;AAAA,MAEhD,MAAM,CAAC,aAAa;AAClB,YAAI,WAAW,UAAU;AACvB,iBAAO,MAAM,IAAI,EAAE,OAAO,SAAS,MAAM,CAAC;AAAA,QAC5C,OAAO;AACL,iBAAO,MAAM,IAAI,EAAE,KAAK,gBAAgB,SAAS,WAAW,CAAC;AAAA,QAC/D;AAAA,MACF;AAAA,MAEA,YAAY,CAAC,EAAE,MAAM,MAAM;AACzB,cAAM,oBAAoB,QAAQ,qBAAqB,KAAK;AAC5D,eAAO;AAAA,UACL,UAAU,kBAAkB;AAAA,UAE5B,QAAQ,kBAAkB;AAAA,UAE1B,uBAAuB,MAAM;AAAA,QAC/B;AAAA,MACF;AAAA,MAEA;AAAA,MACA;AAAA,MAEA,uBAAuB,MAAM;AAAA,IAC/B,CAAC;AAED,WAAO;AAAA,MACL,KAAK,aAAa;AAAA,MAClB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { MessagePartRuntime } from "../api/MessagePartRuntime";
|
2
|
+
import { ThreadAssistantMessagePart, ThreadUserMessagePart, MessagePartStatus, ToolCallMessagePartStatus } from "../types/AssistantTypes";
|
3
|
+
import { ToolResponse } from "assistant-stream";
|
4
|
+
export type MessagePartClientState = (ThreadUserMessagePart | ThreadAssistantMessagePart) & {
|
5
|
+
readonly status: MessagePartStatus | ToolCallMessagePartStatus;
|
6
|
+
};
|
7
|
+
export type MessagePartClientActions = {
|
8
|
+
/**
|
9
|
+
* Add tool result to a tool call message part that has no tool result yet.
|
10
|
+
* This is useful when you are collecting a tool result via user input ("human tool calls").
|
11
|
+
*/
|
12
|
+
addToolResult(result: any | ToolResponse<any>): void;
|
13
|
+
};
|
14
|
+
export declare const MessagePartClient: import("@assistant-ui/tap").ResourceElementConstructor<{
|
15
|
+
key: string | undefined;
|
16
|
+
state: import("..").MessagePartState;
|
17
|
+
api: import("../utils/tap-store/tap-store-api").StoreApi<MessagePartClientState, MessagePartClientActions>;
|
18
|
+
}, {
|
19
|
+
runtime: MessagePartRuntime;
|
20
|
+
}>;
|
21
|
+
//# sourceMappingURL=MessagePartClient.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"MessagePartClient.d.ts","sourceRoot":"","sources":["../../src/client/MessagePartClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,MAAM,sBAAsB,GAAG,CACjC,qBAAqB,GACrB,0BAA0B,CAC7B,GAAG;IACF,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,yBAAyB,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CAItD,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;aACH,kBAAkB;EAqB5C,CAAC"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
// src/client/MessagePartClient.ts
|
2
|
+
import { resource } from "@assistant-ui/tap";
|
3
|
+
import { tapApi } from "../utils/tap-store/index.js";
|
4
|
+
import { tapSubscribable } from "./util-hooks/tapSubscribable.js";
|
5
|
+
var MessagePartClient = resource(
|
6
|
+
({ runtime }) => {
|
7
|
+
const runtimeState = tapSubscribable(runtime);
|
8
|
+
const api = tapApi(
|
9
|
+
runtimeState,
|
10
|
+
{
|
11
|
+
addToolResult: (result) => runtime.addToolResult(result),
|
12
|
+
__internal_getRuntime: () => runtime
|
13
|
+
}
|
14
|
+
);
|
15
|
+
return {
|
16
|
+
key: runtimeState.type === "tool-call" ? "toolCallId-" + runtimeState.toolCallId : void 0,
|
17
|
+
state: runtimeState,
|
18
|
+
api
|
19
|
+
};
|
20
|
+
}
|
21
|
+
);
|
22
|
+
export {
|
23
|
+
MessagePartClient
|
24
|
+
};
|
25
|
+
//# sourceMappingURL=MessagePartClient.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/client/MessagePartClient.ts"],"sourcesContent":["import { resource } from \"@assistant-ui/tap\";\nimport { tapApi } from \"../utils/tap-store\";\nimport { MessagePartRuntime } from \"../api/MessagePartRuntime\";\nimport { tapSubscribable } from \"./util-hooks/tapSubscribable\";\nimport {\n ThreadAssistantMessagePart,\n ThreadUserMessagePart,\n MessagePartStatus,\n ToolCallMessagePartStatus,\n} from \"../types/AssistantTypes\";\nimport { ToolResponse } from \"assistant-stream\";\n\nexport type MessagePartClientState = (\n | ThreadUserMessagePart\n | ThreadAssistantMessagePart\n) & {\n readonly status: MessagePartStatus | ToolCallMessagePartStatus;\n};\n\nexport type MessagePartClientActions = {\n /**\n * Add tool result to a tool call message part that has no tool result yet.\n * This is useful when you are collecting a tool result via user input (\"human tool calls\").\n */\n addToolResult(result: any | ToolResponse<any>): void;\n\n /** @internal */\n __internal_getRuntime(): MessagePartRuntime;\n};\n\nexport const MessagePartClient = resource(\n ({ runtime }: { runtime: MessagePartRuntime }) => {\n const runtimeState = tapSubscribable(runtime);\n\n const api = tapApi<MessagePartClientState, MessagePartClientActions>(\n runtimeState,\n {\n addToolResult: (result) => runtime.addToolResult(result),\n\n __internal_getRuntime: () => runtime,\n },\n );\n\n return {\n key:\n runtimeState.type === \"tool-call\"\n ? \"toolCallId-\" + runtimeState.toolCallId\n : undefined,\n state: runtimeState,\n api,\n };\n },\n);\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,cAAc;AAEvB,SAAS,uBAAuB;AA2BzB,IAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,QAAQ,MAAuC;AAChD,UAAM,eAAe,gBAAgB,OAAO;AAE5C,UAAM,MAAM;AAAA,MACV;AAAA,MACA;AAAA,QACE,eAAe,CAAC,WAAW,QAAQ,cAAc,MAAM;AAAA,QAEvD,uBAAuB,MAAM;AAAA,MAC/B;AAAA,IACF;AAEA,WAAO;AAAA,MACL,KACE,aAAa,SAAS,cAClB,gBAAgB,aAAa,aAC7B;AAAA,MACN,OAAO;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
@@ -0,0 +1,111 @@
|
|
1
|
+
import { ReadonlyJSONValue } from "assistant-stream/utils";
|
2
|
+
import { RuntimeCapabilities, SpeechState, ThreadSuggestion } from "../runtimes/core/ThreadRuntimeCore";
|
3
|
+
import { CreateAppendMessage, CreateStartRunConfig } from "../api";
|
4
|
+
import { CreateResumeRunConfig, ThreadRuntime } from "../api/ThreadRuntime";
|
5
|
+
import { ModelContext } from "../model-context";
|
6
|
+
import { ExportedMessageRepository, ThreadMessageLike } from "../runtimes";
|
7
|
+
import { ComposerClientActions, ComposerClientState } from "./ComposerClient";
|
8
|
+
import { MessageClientActions, MessageClientState } from "./MessageClient";
|
9
|
+
import { StoreApi } from "../utils/tap-store/tap-store-api";
|
10
|
+
import { EventManagerActions } from "./EventManagerClient";
|
11
|
+
export type ThreadClientState = {
|
12
|
+
/**
|
13
|
+
* Whether the thread is disabled. Disabled threads cannot receive new messages.
|
14
|
+
*/
|
15
|
+
readonly isDisabled: boolean;
|
16
|
+
/**
|
17
|
+
* Whether the thread is loading its history.
|
18
|
+
*/
|
19
|
+
readonly isLoading: boolean;
|
20
|
+
/**
|
21
|
+
* Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.
|
22
|
+
*/
|
23
|
+
readonly isRunning: boolean;
|
24
|
+
/**
|
25
|
+
* The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.
|
26
|
+
*/
|
27
|
+
readonly capabilities: RuntimeCapabilities;
|
28
|
+
/**
|
29
|
+
* The messages in the currently selected branch of the thread.
|
30
|
+
*/
|
31
|
+
readonly messages: readonly MessageClientState[];
|
32
|
+
/**
|
33
|
+
* The thread state.
|
34
|
+
*
|
35
|
+
* @deprecated This feature is experimental
|
36
|
+
*/
|
37
|
+
readonly state: ReadonlyJSONValue;
|
38
|
+
/**
|
39
|
+
* Follow up message suggestions to show the user.
|
40
|
+
*/
|
41
|
+
readonly suggestions: readonly ThreadSuggestion[];
|
42
|
+
/**
|
43
|
+
* Custom extra information provided by the runtime.
|
44
|
+
*/
|
45
|
+
readonly extras: unknown;
|
46
|
+
/**
|
47
|
+
* @deprecated This API is still under active development and might change without notice.
|
48
|
+
*/
|
49
|
+
readonly speech: SpeechState | undefined;
|
50
|
+
readonly composer: ComposerClientState;
|
51
|
+
};
|
52
|
+
export type ThreadClientActions = {
|
53
|
+
/**
|
54
|
+
* The thread composer runtime.
|
55
|
+
*/
|
56
|
+
readonly composer: StoreApi<ComposerClientState, ComposerClientActions>;
|
57
|
+
/**
|
58
|
+
* Append a new message to the thread.
|
59
|
+
*
|
60
|
+
* @example ```ts
|
61
|
+
* // append a new user message with the text "Hello, world!"
|
62
|
+
* threadRuntime.append("Hello, world!");
|
63
|
+
* ```
|
64
|
+
*
|
65
|
+
* @example ```ts
|
66
|
+
* // append a new assistant message with the text "Hello, world!"
|
67
|
+
* threadRuntime.append({
|
68
|
+
* role: "assistant",
|
69
|
+
* content: [{ type: "text", text: "Hello, world!" }],
|
70
|
+
* });
|
71
|
+
* ```
|
72
|
+
*/
|
73
|
+
append(message: CreateAppendMessage): void;
|
74
|
+
/**
|
75
|
+
* Start a new run with the given configuration.
|
76
|
+
* @param config The configuration for starting the run
|
77
|
+
*/
|
78
|
+
startRun(config: CreateStartRunConfig): void;
|
79
|
+
/**
|
80
|
+
* Resume a run with the given configuration.
|
81
|
+
* @param config The configuration for resuming the run
|
82
|
+
**/
|
83
|
+
unstable_resumeRun(config: CreateResumeRunConfig): void;
|
84
|
+
cancelRun(): void;
|
85
|
+
getModelContext(): ModelContext;
|
86
|
+
export(): ExportedMessageRepository;
|
87
|
+
import(repository: ExportedMessageRepository): void;
|
88
|
+
/**
|
89
|
+
* Reset the thread with optional initial messages.
|
90
|
+
*
|
91
|
+
* @param initialMessages - Optional array of initial messages to populate the thread
|
92
|
+
*/
|
93
|
+
reset(initialMessages?: readonly ThreadMessageLike[]): void;
|
94
|
+
message(selector: {
|
95
|
+
id: string;
|
96
|
+
} | {
|
97
|
+
index: number;
|
98
|
+
}): StoreApi<MessageClientState, MessageClientActions>;
|
99
|
+
/**
|
100
|
+
* @deprecated This API is still under active development and might change without notice.
|
101
|
+
*/
|
102
|
+
stopSpeaking(): void;
|
103
|
+
};
|
104
|
+
export declare const ThreadClient: import("@assistant-ui/tap").ResourceElementConstructor<{
|
105
|
+
state: ThreadClientState;
|
106
|
+
api: StoreApi<ThreadClientState, ThreadClientActions>;
|
107
|
+
}, {
|
108
|
+
runtime: ThreadRuntime;
|
109
|
+
events: EventManagerActions;
|
110
|
+
}>;
|
111
|
+
//# sourceMappingURL=ThreadClient.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ThreadClient.d.ts","sourceRoot":"","sources":["../../src/client/ThreadClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,WAAW,EAEX,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAQ5E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAEjD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAEzC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;IAExE;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE3C;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAE7C;;;QAGI;IACJ,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAExD,SAAS,IAAI,IAAI,CAAC;IAClB,eAAe,IAAI,YAAY,CAAC;IAEhC,MAAM,IAAI,yBAAyB,CAAC;IACpC,MAAM,CAAC,UAAU,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAEpD;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAE5D,OAAO,CACL,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAC3C,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IAEtD;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;CAItB,CAAC;AAyBF,eAAO,MAAM,YAAY;;;;aAKZ,aAAa;YACd,mBAAmB;EAsG9B,CAAC"}
|
@@ -0,0 +1,126 @@
|
|
1
|
+
// src/client/ThreadClient.ts
|
2
|
+
import {
|
3
|
+
resource,
|
4
|
+
tapInlineResource,
|
5
|
+
tapMemo,
|
6
|
+
tapEffect
|
7
|
+
} from "@assistant-ui/tap";
|
8
|
+
import {
|
9
|
+
ComposerClient
|
10
|
+
} from "./ComposerClient.js";
|
11
|
+
import {
|
12
|
+
MessageClient
|
13
|
+
} from "./MessageClient.js";
|
14
|
+
import { tapSubscribable } from "./util-hooks/tapSubscribable.js";
|
15
|
+
import { tapApi } from "../utils/tap-store/index.js";
|
16
|
+
import { tapLookupResources } from "./util-hooks/tapLookupResources.js";
|
17
|
+
var MessageClientById = resource(
|
18
|
+
({
|
19
|
+
runtime,
|
20
|
+
id,
|
21
|
+
events,
|
22
|
+
threadIdRef
|
23
|
+
}) => {
|
24
|
+
const messageRuntime = tapMemo(
|
25
|
+
() => runtime.getMessageById(id),
|
26
|
+
[runtime, id]
|
27
|
+
);
|
28
|
+
return tapInlineResource(
|
29
|
+
MessageClient({ runtime: messageRuntime, events, threadIdRef })
|
30
|
+
);
|
31
|
+
}
|
32
|
+
);
|
33
|
+
var ThreadClient = resource(
|
34
|
+
({
|
35
|
+
runtime,
|
36
|
+
events
|
37
|
+
}) => {
|
38
|
+
const runtimeState = tapSubscribable(runtime);
|
39
|
+
tapEffect(() => {
|
40
|
+
const unsubscribers = [];
|
41
|
+
const threadEvents = [
|
42
|
+
"run-start",
|
43
|
+
"run-end",
|
44
|
+
"initialize",
|
45
|
+
"model-context-update"
|
46
|
+
];
|
47
|
+
for (const event of threadEvents) {
|
48
|
+
const unsubscribe = runtime.unstable_on(event, () => {
|
49
|
+
const threadId = runtime.getState()?.threadId || "unknown";
|
50
|
+
events.emit(`thread.${event}`, {
|
51
|
+
threadId
|
52
|
+
});
|
53
|
+
});
|
54
|
+
unsubscribers.push(unsubscribe);
|
55
|
+
}
|
56
|
+
return () => {
|
57
|
+
for (const unsub of unsubscribers) unsub();
|
58
|
+
};
|
59
|
+
}, [runtime, events]);
|
60
|
+
const threadIdRef = tapMemo(
|
61
|
+
() => ({
|
62
|
+
get current() {
|
63
|
+
return runtime.getState().threadId;
|
64
|
+
}
|
65
|
+
}),
|
66
|
+
[runtime]
|
67
|
+
);
|
68
|
+
const composer = tapInlineResource(
|
69
|
+
ComposerClient({
|
70
|
+
runtime: runtime.composer,
|
71
|
+
events,
|
72
|
+
threadIdRef
|
73
|
+
})
|
74
|
+
);
|
75
|
+
const messages = tapLookupResources(
|
76
|
+
runtimeState.messages.map(
|
77
|
+
(m) => MessageClientById(
|
78
|
+
{ runtime, id: m.id, events, threadIdRef },
|
79
|
+
{ key: m.id }
|
80
|
+
)
|
81
|
+
)
|
82
|
+
);
|
83
|
+
const state = tapMemo(() => {
|
84
|
+
return {
|
85
|
+
isDisabled: runtimeState.isDisabled,
|
86
|
+
isLoading: runtimeState.isLoading,
|
87
|
+
isRunning: runtimeState.isRunning,
|
88
|
+
capabilities: runtimeState.capabilities,
|
89
|
+
state: runtimeState.state,
|
90
|
+
suggestions: runtimeState.suggestions,
|
91
|
+
extras: runtimeState.extras,
|
92
|
+
speech: runtimeState.speech,
|
93
|
+
composer: composer.state,
|
94
|
+
messages: messages.state
|
95
|
+
};
|
96
|
+
}, [runtimeState, messages, composer.state]);
|
97
|
+
const api = tapApi(state, {
|
98
|
+
composer: composer.api,
|
99
|
+
append: runtime.append,
|
100
|
+
startRun: runtime.startRun,
|
101
|
+
unstable_resumeRun: runtime.unstable_resumeRun,
|
102
|
+
cancelRun: runtime.cancelRun,
|
103
|
+
getModelContext: runtime.getModelContext,
|
104
|
+
export: runtime.export,
|
105
|
+
import: runtime.import,
|
106
|
+
reset: runtime.reset,
|
107
|
+
stopSpeaking: runtime.stopSpeaking,
|
108
|
+
message: (selector) => {
|
109
|
+
if ("id" in selector) {
|
110
|
+
return messages.api({ key: selector.id });
|
111
|
+
} else {
|
112
|
+
return messages.api(selector);
|
113
|
+
}
|
114
|
+
},
|
115
|
+
__internal_getRuntime: () => runtime
|
116
|
+
});
|
117
|
+
return {
|
118
|
+
state,
|
119
|
+
api
|
120
|
+
};
|
121
|
+
}
|
122
|
+
);
|
123
|
+
export {
|
124
|
+
ThreadClient
|
125
|
+
};
|
126
|
+
//# sourceMappingURL=ThreadClient.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/client/ThreadClient.ts"],"sourcesContent":["import { ReadonlyJSONValue } from \"assistant-stream/utils\";\nimport {\n RuntimeCapabilities,\n SpeechState,\n ThreadRuntimeEventType,\n ThreadSuggestion,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { CreateAppendMessage, CreateStartRunConfig } from \"../api\";\nimport { CreateResumeRunConfig, ThreadRuntime } from \"../api/ThreadRuntime\";\nimport {\n resource,\n tapInlineResource,\n tapMemo,\n tapEffect,\n RefObject,\n} from \"@assistant-ui/tap\";\nimport { ModelContext } from \"../model-context\";\nimport { ExportedMessageRepository, ThreadMessageLike } from \"../runtimes\";\nimport {\n ComposerClient,\n ComposerClientActions,\n ComposerClientState,\n} from \"./ComposerClient\";\nimport {\n MessageClient,\n MessageClientActions,\n MessageClientState,\n} from \"./MessageClient\";\nimport { tapSubscribable } from \"./util-hooks/tapSubscribable\";\nimport { tapApi } from \"../utils/tap-store\";\nimport { tapLookupResources } from \"./util-hooks/tapLookupResources\";\nimport { StoreApi } from \"../utils/tap-store/tap-store-api\";\nimport { Unsubscribe } from \"../types\";\nimport { EventManagerActions } from \"./EventManagerClient\";\n\nexport type ThreadClientState = {\n /**\n * Whether the thread is disabled. Disabled threads cannot receive new messages.\n */\n readonly isDisabled: boolean;\n\n /**\n * Whether the thread is loading its history.\n */\n readonly isLoading: boolean;\n\n /**\n * Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.\n */\n readonly isRunning: boolean;\n\n /**\n * The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.\n */\n readonly capabilities: RuntimeCapabilities;\n\n /**\n * The messages in the currently selected branch of the thread.\n */\n readonly messages: readonly MessageClientState[];\n\n /**\n * The thread state.\n *\n * @deprecated This feature is experimental\n */\n readonly state: ReadonlyJSONValue;\n\n /**\n * Follow up message suggestions to show the user.\n */\n readonly suggestions: readonly ThreadSuggestion[];\n\n /**\n * Custom extra information provided by the runtime.\n */\n readonly extras: unknown;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n\n readonly composer: ComposerClientState;\n};\n\nexport type ThreadClientActions = {\n /**\n * The thread composer runtime.\n */\n readonly composer: StoreApi<ComposerClientState, ComposerClientActions>;\n\n /**\n * Append a new message to the thread.\n *\n * @example ```ts\n * // append a new user message with the text \"Hello, world!\"\n * threadRuntime.append(\"Hello, world!\");\n * ```\n *\n * @example ```ts\n * // append a new assistant message with the text \"Hello, world!\"\n * threadRuntime.append({\n * role: \"assistant\",\n * content: [{ type: \"text\", text: \"Hello, world!\" }],\n * });\n * ```\n */\n append(message: CreateAppendMessage): void;\n\n /**\n * Start a new run with the given configuration.\n * @param config The configuration for starting the run\n */\n startRun(config: CreateStartRunConfig): void;\n\n /**\n * Resume a run with the given configuration.\n * @param config The configuration for resuming the run\n **/\n unstable_resumeRun(config: CreateResumeRunConfig): void;\n\n cancelRun(): void;\n getModelContext(): ModelContext;\n\n export(): ExportedMessageRepository;\n import(repository: ExportedMessageRepository): void;\n\n /**\n * Reset the thread with optional initial messages.\n *\n * @param initialMessages - Optional array of initial messages to populate the thread\n */\n reset(initialMessages?: readonly ThreadMessageLike[]): void;\n\n message(\n selector: { id: string } | { index: number },\n ): StoreApi<MessageClientState, MessageClientActions>;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking(): void;\n\n /** @internal */\n __internal_getRuntime(): ThreadRuntime;\n};\n\nconst MessageClientById = resource(\n ({\n runtime,\n id,\n events,\n threadIdRef,\n }: {\n runtime: ThreadRuntime;\n id: string;\n events: EventManagerActions;\n threadIdRef: RefObject<string>;\n }) => {\n const messageRuntime = tapMemo(\n () => runtime.getMessageById(id),\n [runtime, id],\n );\n\n return tapInlineResource(\n MessageClient({ runtime: messageRuntime, events, threadIdRef }),\n );\n },\n);\n\nexport const ThreadClient = resource(\n ({\n runtime,\n events,\n }: {\n runtime: ThreadRuntime;\n events: EventManagerActions;\n }) => {\n const runtimeState = tapSubscribable(runtime);\n\n // Bind thread events to event manager\n tapEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n // Subscribe to thread events\n const threadEvents: ThreadRuntimeEventType[] = [\n \"run-start\",\n \"run-end\",\n \"initialize\",\n \"model-context-update\",\n ];\n\n for (const event of threadEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n const threadId = runtime.getState()?.threadId || \"unknown\";\n events.emit(`thread.${event}`, {\n threadId,\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n return () => {\n for (const unsub of unsubscribers) unsub();\n };\n }, [runtime, events]);\n\n const threadIdRef = tapMemo(\n () => ({\n get current() {\n return runtime.getState()!.threadId;\n },\n }),\n [runtime],\n );\n\n const composer = tapInlineResource(\n ComposerClient({\n runtime: runtime.composer,\n events,\n threadIdRef,\n }),\n );\n\n const messages = tapLookupResources(\n runtimeState.messages.map((m) =>\n MessageClientById(\n { runtime: runtime, id: m.id, events, threadIdRef },\n { key: m.id },\n ),\n ),\n );\n\n const state = tapMemo<ThreadClientState>(() => {\n return {\n isDisabled: runtimeState.isDisabled,\n isLoading: runtimeState.isLoading,\n isRunning: runtimeState.isRunning,\n capabilities: runtimeState.capabilities,\n state: runtimeState.state,\n suggestions: runtimeState.suggestions,\n extras: runtimeState.extras,\n speech: runtimeState.speech,\n\n composer: composer.state,\n messages: messages.state,\n };\n }, [runtimeState, messages, composer.state]);\n\n const api = tapApi<ThreadClientState, ThreadClientActions>(state, {\n composer: composer.api,\n\n append: runtime.append,\n startRun: runtime.startRun,\n unstable_resumeRun: runtime.unstable_resumeRun,\n cancelRun: runtime.cancelRun,\n getModelContext: runtime.getModelContext,\n export: runtime.export,\n import: runtime.import,\n reset: runtime.reset,\n stopSpeaking: runtime.stopSpeaking,\n\n message: (selector) => {\n if (\"id\" in selector) {\n return messages.api({ key: selector.id });\n } else {\n return messages.api(selector);\n }\n },\n\n __internal_getRuntime: () => runtime,\n });\n\n return {\n state,\n api,\n };\n },\n);\n"],"mappings":";AASA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAGP;AAAA,EACE;AAAA,OAGK;AACP;AAAA,EACE;AAAA,OAGK;AACP,SAAS,uBAAuB;AAChC,SAAS,cAAc;AACvB,SAAS,0BAA0B;AAsHnC,IAAM,oBAAoB;AAAA,EACxB,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAKM;AACJ,UAAM,iBAAiB;AAAA,MACrB,MAAM,QAAQ,eAAe,EAAE;AAAA,MAC/B,CAAC,SAAS,EAAE;AAAA,IACd;AAEA,WAAO;AAAA,MACL,cAAc,EAAE,SAAS,gBAAgB,QAAQ,YAAY,CAAC;AAAA,IAChE;AAAA,EACF;AACF;AAEO,IAAM,eAAe;AAAA,EAC1B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,EACF,MAGM;AACJ,UAAM,eAAe,gBAAgB,OAAO;AAG5C,cAAU,MAAM;AACd,YAAM,gBAA+B,CAAC;AAGtC,YAAM,eAAyC;AAAA,QAC7C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,iBAAW,SAAS,cAAc;AAChC,cAAM,cAAc,QAAQ,YAAY,OAAO,MAAM;AACnD,gBAAM,WAAW,QAAQ,SAAS,GAAG,YAAY;AACjD,iBAAO,KAAK,UAAU,KAAK,IAAI;AAAA,YAC7B;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AACD,sBAAc,KAAK,WAAW;AAAA,MAChC;AAEA,aAAO,MAAM;AACX,mBAAW,SAAS,cAAe,OAAM;AAAA,MAC3C;AAAA,IACF,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,UAAM,cAAc;AAAA,MAClB,OAAO;AAAA,QACL,IAAI,UAAU;AACZ,iBAAO,QAAQ,SAAS,EAAG;AAAA,QAC7B;AAAA,MACF;AAAA,MACA,CAAC,OAAO;AAAA,IACV;AAEA,UAAM,WAAW;AAAA,MACf,eAAe;AAAA,QACb,SAAS,QAAQ;AAAA,QACjB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAEA,UAAM,WAAW;AAAA,MACf,aAAa,SAAS;AAAA,QAAI,CAAC,MACzB;AAAA,UACE,EAAE,SAAkB,IAAI,EAAE,IAAI,QAAQ,YAAY;AAAA,UAClD,EAAE,KAAK,EAAE,GAAG;AAAA,QACd;AAAA,MACF;AAAA,IACF;AAEA,UAAM,QAAQ,QAA2B,MAAM;AAC7C,aAAO;AAAA,QACL,YAAY,aAAa;AAAA,QACzB,WAAW,aAAa;AAAA,QACxB,WAAW,aAAa;AAAA,QACxB,cAAc,aAAa;AAAA,QAC3B,OAAO,aAAa;AAAA,QACpB,aAAa,aAAa;AAAA,QAC1B,QAAQ,aAAa;AAAA,QACrB,QAAQ,aAAa;AAAA,QAErB,UAAU,SAAS;AAAA,QACnB,UAAU,SAAS;AAAA,MACrB;AAAA,IACF,GAAG,CAAC,cAAc,UAAU,SAAS,KAAK,CAAC;AAE3C,UAAM,MAAM,OAA+C,OAAO;AAAA,MAChE,UAAU,SAAS;AAAA,MAEnB,QAAQ,QAAQ;AAAA,MAChB,UAAU,QAAQ;AAAA,MAClB,oBAAoB,QAAQ;AAAA,MAC5B,WAAW,QAAQ;AAAA,MACnB,iBAAiB,QAAQ;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,MAChB,OAAO,QAAQ;AAAA,MACf,cAAc,QAAQ;AAAA,MAEtB,SAAS,CAAC,aAAa;AACrB,YAAI,QAAQ,UAAU;AACpB,iBAAO,SAAS,IAAI,EAAE,KAAK,SAAS,GAAG,CAAC;AAAA,QAC1C,OAAO;AACL,iBAAO,SAAS,IAAI,QAAQ;AAAA,QAC9B;AAAA,MACF;AAAA,MAEA,uBAAuB,MAAM;AAAA,IAC/B,CAAC;AAED,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { ThreadListRuntime } from "../api/ThreadListRuntime";
|
2
|
+
import { ThreadListItemClientState, ThreadListItemClientActions } from "./ThreadListItemClient";
|
3
|
+
import { ThreadClientActions, ThreadClientState } from "./ThreadClient";
|
4
|
+
import { StoreApi } from "../utils/tap-store/tap-store-api";
|
5
|
+
import { EventManagerActions } from "./EventManagerClient";
|
6
|
+
export type ThreadListClientState = {
|
7
|
+
readonly mainThreadId: string;
|
8
|
+
readonly newThreadId: string | undefined;
|
9
|
+
readonly isLoading: boolean;
|
10
|
+
readonly threadIds: readonly string[];
|
11
|
+
readonly archivedThreadIds: readonly string[];
|
12
|
+
readonly threadItems: readonly ThreadListItemClientState[];
|
13
|
+
readonly main: ThreadClientState;
|
14
|
+
};
|
15
|
+
export type ThreadListClientActions = {
|
16
|
+
switchToThread(threadId: string): void;
|
17
|
+
switchToNewThread(): void;
|
18
|
+
item(threadIdOrOptions: "main" | {
|
19
|
+
id: string;
|
20
|
+
} | {
|
21
|
+
index: number;
|
22
|
+
archived?: boolean;
|
23
|
+
}): StoreApi<ThreadListItemClientState, ThreadListItemClientActions>;
|
24
|
+
thread(selector: "main"): StoreApi<ThreadClientState, ThreadClientActions>;
|
25
|
+
};
|
26
|
+
export declare const ThreadListClient: import("@assistant-ui/tap").ResourceElementConstructor<{
|
27
|
+
state: ThreadListClientState;
|
28
|
+
api: StoreApi<ThreadListClientState, ThreadListClientActions>;
|
29
|
+
}, {
|
30
|
+
runtime: ThreadListRuntime;
|
31
|
+
events: EventManagerActions;
|
32
|
+
}>;
|
33
|
+
//# sourceMappingURL=ThreadListClient.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ThreadListClient.d.ts","sourceRoot":"","sources":["../../src/client/ThreadListClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAE5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAE9C,QAAQ,CAAC,WAAW,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAE3D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,IAAI,IAAI,CAAC;IAC1B,IAAI,CACF,iBAAiB,EACb,MAAM,GACN;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GACd;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GACxC,QAAQ,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC;IAEpE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;CAC5E,CAAC;AAyBF,eAAO,MAAM,gBAAgB;;;;aAKhB,iBAAiB;YAClB,mBAAmB;EA8D9B,CAAC"}
|