@assistant-ui/react 0.5.100 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/api/AssistantRuntime.d.ts +2 -52
- package/dist/api/AssistantRuntime.d.ts.map +1 -1
- package/dist/api/AssistantRuntime.js +0 -8
- package/dist/api/AssistantRuntime.js.map +1 -1
- package/dist/api/AssistantRuntime.mjs +0 -8
- package/dist/api/AssistantRuntime.mjs.map +1 -1
- package/dist/api/AttachmentRuntime.d.ts +0 -12
- package/dist/api/AttachmentRuntime.d.ts.map +1 -1
- package/dist/api/AttachmentRuntime.js.map +1 -1
- package/dist/api/AttachmentRuntime.mjs.map +1 -1
- package/dist/api/ComposerRuntime.d.ts +5 -121
- package/dist/api/ComposerRuntime.d.ts.map +1 -1
- package/dist/api/ComposerRuntime.js +4 -84
- package/dist/api/ComposerRuntime.js.map +1 -1
- package/dist/api/ComposerRuntime.mjs +4 -84
- package/dist/api/ComposerRuntime.mjs.map +1 -1
- package/dist/api/ContentPartRuntime.d.ts +0 -4
- package/dist/api/ContentPartRuntime.d.ts.map +1 -1
- package/dist/api/ContentPartRuntime.js.map +1 -1
- package/dist/api/ContentPartRuntime.mjs.map +1 -1
- package/dist/api/MessageRuntime.d.ts +1 -12
- package/dist/api/MessageRuntime.d.ts.map +1 -1
- package/dist/api/MessageRuntime.js +9 -5
- package/dist/api/MessageRuntime.js.map +1 -1
- package/dist/api/MessageRuntime.mjs +8 -4
- package/dist/api/MessageRuntime.mjs.map +1 -1
- package/dist/api/ThreadListItemRuntime.d.ts +9 -5
- package/dist/api/ThreadListItemRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListItemRuntime.js +10 -6
- package/dist/api/ThreadListItemRuntime.js.map +1 -1
- package/dist/api/ThreadListItemRuntime.mjs +10 -6
- package/dist/api/ThreadListItemRuntime.mjs.map +1 -1
- package/dist/api/ThreadListRuntime.d.ts +5 -23
- package/dist/api/ThreadListRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListRuntime.js +23 -26
- package/dist/api/ThreadListRuntime.js.map +1 -1
- package/dist/api/ThreadListRuntime.mjs +23 -26
- package/dist/api/ThreadListRuntime.mjs.map +1 -1
- package/dist/api/ThreadRuntime.d.ts +17 -164
- package/dist/api/ThreadRuntime.d.ts.map +1 -1
- package/dist/api/ThreadRuntime.js +2 -94
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/api/ThreadRuntime.mjs +2 -94
- package/dist/api/ThreadRuntime.mjs.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.js +0 -1
- package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.mjs +0 -1
- package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
- package/dist/context/providers/TextContentPartProvider.d.ts.map +1 -1
- package/dist/context/providers/TextContentPartProvider.js +0 -2
- package/dist/context/providers/TextContentPartProvider.js.map +1 -1
- package/dist/context/providers/TextContentPartProvider.mjs +0 -2
- package/dist/context/providers/TextContentPartProvider.mjs.map +1 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +1 -4
- package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -1
- package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +1 -1
- package/dist/context/providers/ThreadRuntimeProvider.js +1 -13
- package/dist/context/providers/ThreadRuntimeProvider.js.map +1 -1
- package/dist/context/providers/ThreadRuntimeProvider.mjs +1 -13
- package/dist/context/providers/ThreadRuntimeProvider.mjs.map +1 -1
- package/dist/context/react/AssistantContext.d.ts +16 -88
- package/dist/context/react/AssistantContext.d.ts.map +1 -1
- package/dist/context/react/AssistantContext.js +0 -15
- package/dist/context/react/AssistantContext.js.map +1 -1
- package/dist/context/react/AssistantContext.mjs +0 -11
- package/dist/context/react/AssistantContext.mjs.map +1 -1
- package/dist/context/react/AttachmentContext.d.ts +16 -32
- package/dist/context/react/AttachmentContext.d.ts.map +1 -1
- package/dist/context/react/ComposerContext.d.ts +0 -5
- package/dist/context/react/ComposerContext.d.ts.map +1 -1
- package/dist/context/react/ComposerContext.js +3 -5
- package/dist/context/react/ComposerContext.js.map +1 -1
- package/dist/context/react/ComposerContext.mjs +2 -3
- package/dist/context/react/ComposerContext.mjs.map +1 -1
- package/dist/context/react/ContentPartContext.d.ts +0 -5
- package/dist/context/react/ContentPartContext.d.ts.map +1 -1
- package/dist/context/react/ContentPartContext.js +3 -5
- package/dist/context/react/ContentPartContext.js.map +1 -1
- package/dist/context/react/ContentPartContext.mjs +2 -3
- package/dist/context/react/ContentPartContext.mjs.map +1 -1
- package/dist/context/react/MessageContext.d.ts +0 -10
- package/dist/context/react/MessageContext.d.ts.map +1 -1
- package/dist/context/react/MessageContext.js +2 -6
- package/dist/context/react/MessageContext.js.map +1 -1
- package/dist/context/react/MessageContext.mjs +2 -4
- package/dist/context/react/MessageContext.mjs.map +1 -1
- package/dist/context/react/ThreadContext.d.ts +25 -1635
- package/dist/context/react/ThreadContext.d.ts.map +1 -1
- package/dist/context/react/ThreadContext.js +4 -30
- package/dist/context/react/ThreadContext.js.map +1 -1
- package/dist/context/react/ThreadContext.mjs +4 -22
- package/dist/context/react/ThreadContext.mjs.map +1 -1
- package/dist/context/react/ThreadListItemContext.d.ts +6 -24
- package/dist/context/react/ThreadListItemContext.d.ts.map +1 -1
- package/dist/context/react/index.d.ts +5 -101
- package/dist/context/react/index.d.ts.map +1 -1
- package/dist/context/react/index.js +0 -38
- package/dist/context/react/index.js.map +1 -1
- package/dist/context/react/index.mjs +5 -49
- package/dist/context/react/index.mjs.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +0 -1
- package/dist/index.mjs.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +3 -0
- package/dist/internal.js.map +1 -1
- package/dist/internal.mjs +2 -0
- package/dist/internal.mjs.map +1 -1
- package/dist/model-config/useAssistantToolUI.d.ts.map +1 -1
- package/dist/model-config/useAssistantToolUI.js.map +1 -1
- package/dist/model-config/useAssistantToolUI.mjs.map +1 -1
- package/dist/primitive-hooks/contentPart/useContentPartDisplay.d.ts +0 -3
- package/dist/primitive-hooks/contentPart/useContentPartDisplay.d.ts.map +1 -1
- package/dist/primitive-hooks/contentPart/useContentPartDisplay.js.map +1 -1
- package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs.map +1 -1
- package/dist/primitive-hooks/contentPart/useContentPartImage.d.ts +0 -3
- package/dist/primitive-hooks/contentPart/useContentPartImage.d.ts.map +1 -1
- package/dist/primitive-hooks/contentPart/useContentPartImage.js.map +1 -1
- package/dist/primitive-hooks/contentPart/useContentPartImage.mjs.map +1 -1
- package/dist/primitive-hooks/contentPart/useContentPartText.d.ts +0 -3
- package/dist/primitive-hooks/contentPart/useContentPartText.d.ts.map +1 -1
- package/dist/primitive-hooks/contentPart/useContentPartText.js.map +1 -1
- package/dist/primitive-hooks/contentPart/useContentPartText.mjs.map +1 -1
- package/dist/primitive-hooks/index.d.ts +0 -5
- package/dist/primitive-hooks/index.d.ts.map +1 -1
- package/dist/primitive-hooks/index.js +1 -11
- package/dist/primitive-hooks/index.js.map +1 -1
- package/dist/primitive-hooks/index.mjs +0 -5
- package/dist/primitive-hooks/index.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -5
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts +0 -4
- package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +0 -4
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +0 -4
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts +0 -4
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.d.ts +0 -4
- package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts +0 -4
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +0 -4
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts +0 -4
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.mjs.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +0 -4
- package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.mjs.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +0 -4
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.mjs.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts +0 -4
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.mjs.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts +0 -4
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.mjs.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +0 -4
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.mjs.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +0 -4
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.mjs.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +0 -4
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.mjs.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.d.ts +1 -5
- package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.js +2 -2
- package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.mjs +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.mjs.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.d.ts +0 -4
- package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.mjs.map +1 -1
- package/dist/primitives/composer/ComposerCancel.d.ts +0 -4
- package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerCancel.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.mjs.map +1 -1
- package/dist/primitives/composer/ComposerIf.d.ts +0 -4
- package/dist/primitives/composer/ComposerIf.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerIf.js.map +1 -1
- package/dist/primitives/composer/ComposerIf.mjs.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts +0 -4
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.mjs.map +1 -1
- package/dist/primitives/composer/ComposerRoot.d.ts +0 -1
- package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerRoot.js +2 -2
- package/dist/primitives/composer/ComposerRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerRoot.mjs +1 -1
- package/dist/primitives/composer/ComposerRoot.mjs.map +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts +1 -5
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerSend.js +2 -2
- package/dist/primitives/composer/ComposerSend.js.map +1 -1
- package/dist/primitives/composer/ComposerSend.mjs +1 -1
- package/dist/primitives/composer/ComposerSend.mjs.map +1 -1
- package/dist/primitives/contentPart/ContentPartDisplay.d.ts +0 -4
- package/dist/primitives/contentPart/ContentPartDisplay.d.ts.map +1 -1
- package/dist/primitives/contentPart/ContentPartDisplay.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartDisplay.mjs.map +1 -1
- package/dist/primitives/contentPart/ContentPartImage.d.ts +0 -4
- package/dist/primitives/contentPart/ContentPartImage.d.ts.map +1 -1
- package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartImage.mjs.map +1 -1
- package/dist/primitives/contentPart/ContentPartInProgress.d.ts +0 -4
- package/dist/primitives/contentPart/ContentPartInProgress.d.ts.map +1 -1
- package/dist/primitives/contentPart/ContentPartInProgress.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartInProgress.mjs.map +1 -1
- package/dist/primitives/contentPart/ContentPartText.d.ts +0 -4
- package/dist/primitives/contentPart/ContentPartText.d.ts.map +1 -1
- package/dist/primitives/contentPart/ContentPartText.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartText.mjs.map +1 -1
- package/dist/primitives/index.d.ts +0 -7
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/index.mjs.map +1 -1
- package/dist/primitives/message/MessageAttachments.d.ts +0 -4
- package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
- package/dist/primitives/message/MessageAttachments.js +2 -4
- package/dist/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/primitives/message/MessageAttachments.mjs +2 -4
- package/dist/primitives/message/MessageAttachments.mjs.map +1 -1
- package/dist/primitives/message/MessageContent.d.ts +0 -4
- package/dist/primitives/message/MessageContent.d.ts.map +1 -1
- package/dist/primitives/message/MessageContent.js +6 -6
- package/dist/primitives/message/MessageContent.js.map +1 -1
- package/dist/primitives/message/MessageContent.mjs +7 -7
- package/dist/primitives/message/MessageContent.mjs.map +1 -1
- package/dist/primitives/message/MessageIf.d.ts +0 -4
- package/dist/primitives/message/MessageIf.d.ts.map +1 -1
- package/dist/primitives/message/MessageIf.js.map +1 -1
- package/dist/primitives/message/MessageIf.mjs.map +1 -1
- package/dist/primitives/message/MessageRoot.d.ts +0 -4
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/message/MessageRoot.mjs.map +1 -1
- package/dist/primitives/message/index.d.ts +0 -1
- package/dist/primitives/message/index.d.ts.map +1 -1
- package/dist/primitives/message/index.js +0 -3
- package/dist/primitives/message/index.js.map +1 -1
- package/dist/primitives/message/index.mjs +0 -2
- package/dist/primitives/message/index.mjs.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.d.ts +0 -4
- package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.js +2 -2
- package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.mjs +1 -1
- package/dist/primitives/thread/ThreadEmpty.mjs.map +1 -1
- package/dist/primitives/thread/ThreadIf.d.ts +0 -4
- package/dist/primitives/thread/ThreadIf.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadIf.js.map +1 -1
- package/dist/primitives/thread/ThreadIf.mjs.map +1 -1
- package/dist/primitives/thread/ThreadMessages.d.ts +0 -4
- package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/ThreadMessages.mjs.map +1 -1
- package/dist/primitives/thread/ThreadRoot.d.ts +0 -4
- package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadRoot.js.map +1 -1
- package/dist/primitives/thread/ThreadRoot.mjs.map +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts +0 -4
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.mjs.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts +0 -4
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.mjs.map +1 -1
- package/dist/primitives/thread/ThreadViewport.d.ts +0 -4
- package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadViewport.js.map +1 -1
- package/dist/primitives/thread/ThreadViewport.mjs.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.js +3 -2
- package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.mjs +3 -2
- package/dist/primitives/threadListItem/ThreadListItemArchive.mjs.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +14 -0
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +47 -0
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemRoot.mjs +23 -0
- package/dist/primitives/threadListItem/ThreadListItemRoot.mjs.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts +8 -0
- package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -0
- package/dist/primitives/{message/MessageInProgress.js → threadListItem/ThreadListItemTitle.js} +13 -10
- package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemTitle.mjs +14 -0
- package/dist/primitives/threadListItem/ThreadListItemTitle.mjs.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +13 -0
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -0
- package/dist/{runtimes/core/subscribeToMainThread.js → primitives/threadListItem/ThreadListItemTrigger.js} +17 -22
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemTrigger.mjs +21 -0
- package/dist/primitives/threadListItem/ThreadListItemTrigger.mjs.map +1 -0
- package/dist/primitives/threadListItem/index.d.ts +3 -0
- package/dist/primitives/threadListItem/index.d.ts.map +1 -1
- package/dist/primitives/threadListItem/index.js +9 -0
- package/dist/primitives/threadListItem/index.js.map +1 -1
- package/dist/primitives/threadListItem/index.mjs +6 -0
- package/dist/primitives/threadListItem/index.mjs.map +1 -1
- package/dist/runtimes/attachment/AttachmentAdapter.d.ts +3 -7
- package/dist/runtimes/attachment/AttachmentAdapter.d.ts.map +1 -1
- package/dist/runtimes/attachment/AttachmentAdapter.js.map +1 -1
- package/dist/runtimes/attachment/CompositeAttachmentAdapter.d.ts +2 -6
- package/dist/runtimes/attachment/CompositeAttachmentAdapter.d.ts.map +1 -1
- package/dist/runtimes/attachment/CompositeAttachmentAdapter.js +1 -2
- package/dist/runtimes/attachment/CompositeAttachmentAdapter.js.map +1 -1
- package/dist/runtimes/attachment/CompositeAttachmentAdapter.mjs +1 -2
- package/dist/runtimes/attachment/CompositeAttachmentAdapter.mjs.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js +0 -6
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs +0 -6
- package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +5 -4
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js +8 -4
- package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.mjs +8 -4
- package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/core/ComposerRuntimeCore.d.ts +0 -3
- package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +7 -10
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts +14 -1
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/index.d.ts +1 -2
- package/dist/runtimes/core/index.d.ts.map +1 -1
- package/dist/runtimes/core/index.js +0 -12
- package/dist/runtimes/core/index.js.map +1 -1
- package/dist/runtimes/core/index.mjs +0 -5
- package/dist/runtimes/core/index.mjs.map +1 -1
- package/dist/runtimes/edge/converters/toCoreMessages.d.ts +1 -1
- package/dist/runtimes/edge/converters/toCoreMessages.d.ts.map +1 -1
- package/dist/runtimes/edge/converters/toCoreMessages.js.map +1 -1
- package/dist/runtimes/edge/converters/toCoreMessages.mjs.map +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts +0 -4
- package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts.map +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.js +0 -2
- package/dist/runtimes/edge/createEdgeRuntimeAPI.js.map +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs +0 -2
- package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs.map +1 -1
- package/dist/runtimes/edge/streams/runResultStream.js +0 -2
- package/dist/runtimes/edge/streams/runResultStream.js.map +1 -1
- package/dist/runtimes/edge/streams/runResultStream.mjs +0 -2
- package/dist/runtimes/edge/streams/runResultStream.mjs.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +3 -16
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +0 -3
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +0 -3
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +9 -11
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +29 -7
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs +29 -7
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +0 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +4 -3
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs +4 -3
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.js +2 -0
- package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.mjs +2 -0
- package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
- package/dist/runtimes/local/ChatModelAdapter.d.ts +0 -8
- package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
- package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.d.ts +1 -6
- package/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.js +1 -2
- package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.mjs +1 -2
- package/dist/runtimes/local/LocalRuntimeOptions.mjs.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +16 -20
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +112 -72
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs +112 -72
- package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.d.ts +19 -0
- package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.d.ts.map +1 -0
- package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.js +87 -0
- package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.js.map +1 -0
- package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.mjs +62 -0
- package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.mjs.map +1 -0
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +15 -11
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +15 -11
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
- package/dist/styles/index.css.map +1 -1
- package/dist/types/AssistantTypes.d.ts +1 -18
- package/dist/types/AssistantTypes.d.ts.map +1 -1
- package/dist/types/AssistantTypes.js.map +1 -1
- package/dist/types/AttachmentTypes.d.ts +1 -1
- package/dist/types/AttachmentTypes.d.ts.map +1 -1
- package/dist/types/AttachmentTypes.js.map +1 -1
- package/dist/types/ContentPartComponentTypes.d.ts +4 -28
- package/dist/types/ContentPartComponentTypes.d.ts.map +1 -1
- package/dist/types/ContentPartComponentTypes.js.map +1 -1
- package/dist/ui/assistant-message.d.ts +1 -10
- package/dist/ui/assistant-message.d.ts.map +1 -1
- package/dist/ui/assistant-message.js.map +1 -1
- package/dist/ui/assistant-message.mjs.map +1 -1
- package/dist/ui/composer.d.ts +1 -25
- package/dist/ui/composer.d.ts.map +1 -1
- package/dist/ui/composer.js.map +1 -1
- package/dist/ui/composer.mjs.map +1 -1
- package/dist/ui/index.d.ts +6 -14
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +0 -4
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +14 -24
- package/dist/ui/index.mjs.map +1 -1
- package/dist/ui/thread-welcome.d.ts +5 -17
- package/dist/ui/thread-welcome.d.ts.map +1 -1
- package/dist/ui/thread-welcome.js.map +1 -1
- package/dist/ui/thread-welcome.mjs.map +1 -1
- package/dist/ui/thread.d.ts +1 -19
- package/dist/ui/thread.d.ts.map +1 -1
- package/dist/ui/thread.js.map +1 -1
- package/dist/ui/thread.mjs.map +1 -1
- package/dist/ui/user-message.d.ts +1 -18
- package/dist/ui/user-message.d.ts.map +1 -1
- package/dist/ui/user-message.js.map +1 -1
- package/dist/ui/user-message.mjs.map +1 -1
- package/dist/utils/smooth/SmoothContext.js +2 -2
- package/dist/utils/smooth/SmoothContext.js.map +1 -1
- package/dist/utils/smooth/SmoothContext.mjs +3 -3
- package/dist/utils/smooth/SmoothContext.mjs.map +1 -1
- package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
- package/dist/utils/smooth/useSmooth.js +0 -1
- package/dist/utils/smooth/useSmooth.js.map +1 -1
- package/dist/utils/smooth/useSmooth.mjs +0 -1
- package/dist/utils/smooth/useSmooth.mjs.map +1 -1
- package/package.json +5 -5
- package/src/api/AssistantRuntime.ts +1 -23
- package/src/api/AttachmentRuntime.ts +0 -12
- package/src/api/ComposerRuntime.ts +11 -207
- package/src/api/ContentPartRuntime.ts +0 -4
- package/src/api/MessageRuntime.ts +7 -11
- package/src/api/ThreadListItemRuntime.ts +16 -8
- package/src/api/ThreadListRuntime.ts +34 -53
- package/src/api/ThreadRuntime.ts +11 -203
- package/src/context/providers/AssistantRuntimeProvider.tsx +0 -1
- package/src/context/providers/TextContentPartProvider.tsx +0 -2
- package/src/context/providers/ThreadRuntimeProvider.tsx +1 -17
- package/src/context/react/AssistantContext.ts +0 -25
- package/src/context/react/ComposerContext.ts +1 -1
- package/src/context/react/ContentPartContext.ts +1 -1
- package/src/context/react/MessageContext.ts +2 -2
- package/src/context/react/ThreadContext.ts +5 -42
- package/src/context/react/index.ts +2 -125
- package/src/index.ts +0 -1
- package/src/internal.ts +1 -0
- package/src/model-config/useAssistantToolUI.tsx +0 -1
- package/src/primitive-hooks/contentPart/useContentPartDisplay.tsx +1 -1
- package/src/primitive-hooks/contentPart/useContentPartImage.tsx +1 -2
- package/src/primitive-hooks/contentPart/useContentPartText.tsx +1 -1
- package/src/primitive-hooks/index.ts +0 -5
- package/src/primitives/actionBar/ActionBarCopy.tsx +0 -5
- package/src/primitives/actionBar/ActionBarEdit.tsx +0 -5
- package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +0 -6
- package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +0 -6
- package/src/primitives/actionBar/ActionBarReload.tsx +0 -5
- package/src/primitives/actionBar/ActionBarRoot.tsx +0 -5
- package/src/primitives/actionBar/ActionBarSpeak.tsx +0 -5
- package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +0 -6
- package/src/primitives/assistantModal/AssistantModalContent.tsx +1 -7
- package/src/primitives/assistantModal/AssistantModalRoot.tsx +0 -6
- package/src/primitives/assistantModal/AssistantModalTrigger.tsx +0 -6
- package/src/primitives/branchPicker/BranchPickerCount.tsx +0 -5
- package/src/primitives/branchPicker/BranchPickerNext.tsx +0 -6
- package/src/primitives/branchPicker/BranchPickerNumber.tsx +0 -5
- package/src/primitives/branchPicker/BranchPickerPrevious.tsx +1 -6
- package/src/primitives/branchPicker/BranchPickerRoot.tsx +0 -5
- package/src/primitives/composer/ComposerAddAttachment.tsx +2 -7
- package/src/primitives/composer/ComposerAttachments.tsx +0 -6
- package/src/primitives/composer/ComposerCancel.tsx +0 -5
- package/src/primitives/composer/ComposerIf.tsx +0 -5
- package/src/primitives/composer/ComposerInput.tsx +0 -5
- package/src/primitives/composer/ComposerRoot.tsx +1 -3
- package/src/primitives/composer/ComposerSend.tsx +2 -7
- package/src/primitives/contentPart/ContentPartDisplay.tsx +0 -6
- package/src/primitives/contentPart/ContentPartImage.tsx +0 -5
- package/src/primitives/contentPart/ContentPartInProgress.tsx +0 -6
- package/src/primitives/contentPart/ContentPartText.tsx +0 -5
- package/src/primitives/index.ts +0 -8
- package/src/primitives/message/MessageAttachments.tsx +2 -10
- package/src/primitives/message/MessageContent.tsx +7 -15
- package/src/primitives/message/MessageIf.tsx +0 -5
- package/src/primitives/message/MessageRoot.tsx +0 -5
- package/src/primitives/message/index.ts +0 -1
- package/src/primitives/thread/ThreadEmpty.tsx +1 -6
- package/src/primitives/thread/ThreadIf.tsx +0 -5
- package/src/primitives/thread/ThreadMessages.tsx +0 -5
- package/src/primitives/thread/ThreadRoot.tsx +0 -5
- package/src/primitives/thread/ThreadScrollToBottom.tsx +0 -6
- package/src/primitives/thread/ThreadSuggestion.tsx +0 -5
- package/src/primitives/thread/ThreadViewport.tsx +0 -5
- package/src/primitives/threadListItem/ThreadListItemArchive.ts +3 -2
- package/src/primitives/threadListItem/ThreadListItemRoot.tsx +29 -0
- package/src/primitives/threadListItem/ThreadListItemTitle.tsx +19 -0
- package/src/primitives/threadListItem/ThreadListItemTrigger.ts +25 -0
- package/src/primitives/threadListItem/index.ts +4 -1
- package/src/runtimes/attachment/AttachmentAdapter.ts +2 -12
- package/src/runtimes/attachment/CompositeAttachmentAdapter.ts +1 -1
- package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +0 -8
- package/src/runtimes/core/BaseThreadRuntimeCore.tsx +11 -5
- package/src/runtimes/core/ComposerRuntimeCore.tsx +0 -3
- package/src/runtimes/core/ThreadListRuntimeCore.tsx +7 -11
- package/src/runtimes/core/ThreadRuntimeCore.tsx +18 -1
- package/src/runtimes/core/index.ts +1 -2
- package/src/runtimes/edge/converters/toCoreMessages.ts +1 -1
- package/src/runtimes/edge/createEdgeRuntimeAPI.ts +0 -6
- package/src/runtimes/edge/streams/runResultStream.ts +0 -2
- package/src/runtimes/external-store/ExternalStoreAdapter.tsx +3 -17
- package/src/runtimes/external-store/ExternalStoreRuntimeCore.tsx +0 -3
- package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +39 -7
- package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +4 -3
- package/src/runtimes/external-store/ThreadMessageLike.tsx +4 -3
- package/src/runtimes/local/ChatModelAdapter.tsx +0 -9
- package/src/runtimes/local/LocalRuntimeOptions.tsx +1 -7
- package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +140 -96
- package/src/runtimes/local/LocalThreadMetadataRuntimeCore.tsx +79 -0
- package/src/runtimes/local/LocalThreadRuntimeCore.tsx +16 -11
- package/src/types/AssistantTypes.ts +1 -20
- package/src/types/AttachmentTypes.ts +1 -2
- package/src/types/ContentPartComponentTypes.tsx +4 -31
- package/src/ui/assistant-message.tsx +0 -5
- package/src/ui/composer.tsx +0 -5
- package/src/ui/index.ts +5 -23
- package/src/ui/thread-welcome.tsx +6 -9
- package/src/ui/thread.tsx +0 -5
- package/src/ui/user-message.tsx +2 -12
- package/src/utils/smooth/SmoothContext.tsx +3 -3
- package/src/utils/smooth/useSmooth.tsx +0 -1
- package/dist/hooks/index.d.ts +0 -3
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -34
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/index.mjs +0 -8
- package/dist/hooks/index.mjs.map +0 -1
- package/dist/hooks/useAppendMessage.d.ts +0 -6
- package/dist/hooks/useAppendMessage.d.ts.map +0 -1
- package/dist/hooks/useAppendMessage.js +0 -42
- package/dist/hooks/useAppendMessage.js.map +0 -1
- package/dist/hooks/useAppendMessage.mjs +0 -17
- package/dist/hooks/useAppendMessage.mjs.map +0 -1
- package/dist/hooks/useSwitchToNewThread.d.ts +0 -5
- package/dist/hooks/useSwitchToNewThread.d.ts.map +0 -1
- package/dist/hooks/useSwitchToNewThread.js +0 -39
- package/dist/hooks/useSwitchToNewThread.js.map +0 -1
- package/dist/hooks/useSwitchToNewThread.mjs +0 -14
- package/dist/hooks/useSwitchToNewThread.mjs.map +0 -1
- package/dist/primitive-hooks/actionBar/index.d.ts +0 -34
- package/dist/primitive-hooks/actionBar/index.d.ts.map +0 -1
- package/dist/primitive-hooks/actionBar/index.js +0 -49
- package/dist/primitive-hooks/actionBar/index.js.map +0 -1
- package/dist/primitive-hooks/actionBar/index.mjs +0 -20
- package/dist/primitive-hooks/actionBar/index.mjs.map +0 -1
- package/dist/primitive-hooks/branchPicker/index.d.ts +0 -17
- package/dist/primitive-hooks/branchPicker/index.d.ts.map +0 -1
- package/dist/primitive-hooks/branchPicker/index.js +0 -40
- package/dist/primitive-hooks/branchPicker/index.js.map +0 -1
- package/dist/primitive-hooks/branchPicker/index.mjs +0 -12
- package/dist/primitive-hooks/branchPicker/index.mjs.map +0 -1
- package/dist/primitive-hooks/composer/index.d.ts +0 -17
- package/dist/primitive-hooks/composer/index.d.ts.map +0 -1
- package/dist/primitive-hooks/composer/index.js +0 -40
- package/dist/primitive-hooks/composer/index.js.map +0 -1
- package/dist/primitive-hooks/composer/index.mjs +0 -12
- package/dist/primitive-hooks/composer/index.mjs.map +0 -1
- package/dist/primitive-hooks/message/index.d.ts +0 -5
- package/dist/primitive-hooks/message/index.d.ts.map +0 -1
- package/dist/primitive-hooks/message/index.js +0 -31
- package/dist/primitive-hooks/message/index.js.map +0 -1
- package/dist/primitive-hooks/message/index.mjs +0 -6
- package/dist/primitive-hooks/message/index.mjs.map +0 -1
- package/dist/primitive-hooks/thread/index.d.ts +0 -17
- package/dist/primitive-hooks/thread/index.d.ts.map +0 -1
- package/dist/primitive-hooks/thread/index.js +0 -40
- package/dist/primitive-hooks/thread/index.js.map +0 -1
- package/dist/primitive-hooks/thread/index.mjs +0 -12
- package/dist/primitive-hooks/thread/index.mjs.map +0 -1
- package/dist/primitives/actionBar/types.d.ts +0 -9
- package/dist/primitives/actionBar/types.d.ts.map +0 -1
- package/dist/primitives/actionBar/types.js +0 -19
- package/dist/primitives/actionBar/types.js.map +0 -1
- package/dist/primitives/actionBar/types.mjs +0 -1
- package/dist/primitives/actionBar/types.mjs.map +0 -1
- package/dist/primitives/assistantModal/types.d.ts +0 -4
- package/dist/primitives/assistantModal/types.d.ts.map +0 -1
- package/dist/primitives/assistantModal/types.js +0 -19
- package/dist/primitives/assistantModal/types.js.map +0 -1
- package/dist/primitives/assistantModal/types.mjs +0 -1
- package/dist/primitives/assistantModal/types.mjs.map +0 -1
- package/dist/primitives/attachment/types.d.ts +0 -1
- package/dist/primitives/attachment/types.d.ts.map +0 -1
- package/dist/primitives/attachment/types.js +0 -2
- package/dist/primitives/attachment/types.js.map +0 -1
- package/dist/primitives/attachment/types.mjs +0 -1
- package/dist/primitives/attachment/types.mjs.map +0 -1
- package/dist/primitives/branchPicker/types.d.ts +0 -6
- package/dist/primitives/branchPicker/types.d.ts.map +0 -1
- package/dist/primitives/branchPicker/types.js +0 -19
- package/dist/primitives/branchPicker/types.js.map +0 -1
- package/dist/primitives/branchPicker/types.mjs +0 -1
- package/dist/primitives/branchPicker/types.mjs.map +0 -1
- package/dist/primitives/composer/types.d.ts +0 -6
- package/dist/primitives/composer/types.d.ts.map +0 -1
- package/dist/primitives/composer/types.js +0 -19
- package/dist/primitives/composer/types.js.map +0 -1
- package/dist/primitives/composer/types.mjs +0 -1
- package/dist/primitives/composer/types.mjs.map +0 -1
- package/dist/primitives/contentPart/types.d.ts +0 -5
- package/dist/primitives/contentPart/types.d.ts.map +0 -1
- package/dist/primitives/contentPart/types.js +0 -19
- package/dist/primitives/contentPart/types.js.map +0 -1
- package/dist/primitives/contentPart/types.mjs +0 -1
- package/dist/primitives/contentPart/types.mjs.map +0 -1
- package/dist/primitives/message/MessageInProgress.d.ts +0 -13
- package/dist/primitives/message/MessageInProgress.d.ts.map +0 -1
- package/dist/primitives/message/MessageInProgress.js.map +0 -1
- package/dist/primitives/message/MessageInProgress.mjs +0 -11
- package/dist/primitives/message/MessageInProgress.mjs.map +0 -1
- package/dist/primitives/message/types.d.ts +0 -5
- package/dist/primitives/message/types.d.ts.map +0 -1
- package/dist/primitives/message/types.js +0 -19
- package/dist/primitives/message/types.js.map +0 -1
- package/dist/primitives/message/types.mjs +0 -1
- package/dist/primitives/message/types.mjs.map +0 -1
- package/dist/primitives/thread/types.d.ts +0 -8
- package/dist/primitives/thread/types.d.ts.map +0 -1
- package/dist/primitives/thread/types.js +0 -19
- package/dist/primitives/thread/types.js.map +0 -1
- package/dist/primitives/thread/types.mjs +0 -1
- package/dist/primitives/thread/types.mjs.map +0 -1
- package/dist/runtimes/core/subscribeToMainThread.d.ts +0 -6
- package/dist/runtimes/core/subscribeToMainThread.d.ts.map +0 -1
- package/dist/runtimes/core/subscribeToMainThread.js.map +0 -1
- package/dist/runtimes/core/subscribeToMainThread.mjs +0 -23
- package/dist/runtimes/core/subscribeToMainThread.mjs.map +0 -1
- package/src/hooks/index.ts +0 -2
- package/src/hooks/useAppendMessage.tsx +0 -19
- package/src/hooks/useSwitchToNewThread.tsx +0 -14
- package/src/primitive-hooks/actionBar/index.ts +0 -39
- package/src/primitive-hooks/branchPicker/index.ts +0 -18
- package/src/primitive-hooks/composer/index.ts +0 -17
- package/src/primitive-hooks/message/index.ts +0 -4
- package/src/primitive-hooks/thread/index.ts +0 -16
- package/src/primitives/actionBar/types.ts +0 -8
- package/src/primitives/assistantModal/types.ts +0 -3
- package/src/primitives/attachment/types.ts +0 -0
- package/src/primitives/branchPicker/types.ts +0 -5
- package/src/primitives/composer/types.ts +0 -5
- package/src/primitives/contentPart/types.ts +0 -4
- package/src/primitives/message/MessageInProgress.tsx +0 -22
- package/src/primitives/message/types.ts +0 -4
- package/src/primitives/thread/types.ts +0 -7
- package/src/runtimes/core/subscribeToMainThread.ts +0 -30
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/edge/createEdgeRuntimeAPI.ts"],"sourcesContent":["import {\n LanguageModelV1,\n LanguageModelV1ToolChoice,\n LanguageModelV1FunctionTool,\n LanguageModelV1Prompt,\n LanguageModelV1CallOptions,\n} from \"@ai-sdk/provider\";\nimport {\n CoreMessage,\n ThreadMessage,\n ThreadStep,\n} from \"../../types/AssistantTypes\";\nimport { assistantEncoderStream } from \"./streams/assistantEncoderStream\";\nimport { EdgeRuntimeRequestOptionsSchema } from \"./EdgeRuntimeRequestOptions\";\nimport { toLanguageModelMessages } from \"./converters/toLanguageModelMessages\";\nimport { Tool } from \"../../types\";\nimport { toLanguageModelTools } from \"./converters/toLanguageModelTools\";\nimport {\n toolResultStream,\n ToolResultStreamPart,\n} from \"./streams/toolResultStream\";\nimport { runResultStream } from \"./streams/runResultStream\";\nimport {\n LanguageModelConfig,\n LanguageModelV1CallSettings,\n LanguageModelV1CallSettingsSchema,\n} from \"../../types/ModelConfigTypes\";\nimport { ChatModelRunResult } from \"../local/ChatModelAdapter\";\nimport { toCoreMessage } from \"./converters/toCoreMessages\";\nimport { streamPartEncoderStream } from \"./streams/utils/streamPartEncoderStream\";\nimport { z } from \"zod\";\n\ntype FinishResult = {\n messages: CoreMessage[];\n metadata: {\n /**\n * @deprecated Use `steps` instead. This field will be removed in v0.6.\n */\n roundtrips: ThreadStep[];\n steps: ThreadStep[];\n };\n};\n\ntype LanguageModelCreator = (\n config: LanguageModelConfig,\n) => Promise<LanguageModelV1> | LanguageModelV1;\n\nexport type CreateEdgeRuntimeAPIOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1 | LanguageModelCreator;\n system?: string;\n tools?: Record<string, Tool<any, any>>;\n toolChoice?: LanguageModelV1ToolChoice;\n onFinish?: (result: FinishResult) => void;\n};\n\nconst voidStream = () => {\n return new WritableStream({\n abort(reason) {\n console.error(\"Server stream processing aborted:\", reason);\n },\n });\n};\n\ntype GetEdgeRuntimeStreamOptions = {\n abortSignal: AbortSignal;\n requestData: z.infer<typeof EdgeRuntimeRequestOptionsSchema>;\n options: CreateEdgeRuntimeAPIOptions;\n};\n\nexport const getEdgeRuntimeStream = async ({\n abortSignal,\n requestData: unsafeRequest,\n options: {\n model: modelOrCreator,\n system: serverSystem,\n tools: serverTools = {},\n toolChoice,\n onFinish,\n ...unsafeSettings\n },\n}: GetEdgeRuntimeStreamOptions) => {\n const settings = LanguageModelV1CallSettingsSchema.parse(unsafeSettings);\n const lmServerTools = toLanguageModelTools(serverTools);\n const hasServerTools = Object.values(serverTools).some((v) => !!v.execute);\n\n const {\n system: clientSystem,\n tools: clientTools = [],\n messages,\n apiKey,\n baseUrl,\n modelName,\n ...callSettings\n } = EdgeRuntimeRequestOptionsSchema.parse(unsafeRequest);\n\n const systemMessages = [];\n if (serverSystem) systemMessages.push(serverSystem);\n if (clientSystem) systemMessages.push(clientSystem);\n const system = systemMessages.join(\"\\n\\n\");\n\n for (const clientTool of clientTools) {\n if (serverTools?.[clientTool.name]) {\n throw new Error(\n `Tool ${clientTool.name} was defined in both the client and server tools. This is not allowed.`,\n );\n }\n }\n\n const model =\n typeof modelOrCreator === \"function\"\n ? await modelOrCreator({ apiKey, baseUrl, modelName })\n : modelOrCreator;\n\n let stream: ReadableStream<ToolResultStreamPart>;\n const streamResult = await streamMessage({\n ...(settings as Partial<StreamMessageOptions>),\n ...callSettings,\n\n model,\n abortSignal,\n\n ...(!!system ? { system } : undefined),\n messages,\n tools: lmServerTools.concat(clientTools as LanguageModelV1FunctionTool[]),\n ...(toolChoice ? { toolChoice } : undefined),\n });\n stream = streamResult.stream;\n\n // add tool results if we have server tools\n const canExecuteTools = hasServerTools && toolChoice?.type !== \"none\";\n if (canExecuteTools) {\n stream = stream.pipeThrough(toolResultStream(serverTools, abortSignal));\n }\n\n if (canExecuteTools || onFinish) {\n // tee the stream to process server tools and onFinish asap\n const tees = stream.tee();\n stream = tees[0];\n let serverStream = tees[1];\n\n if (onFinish) {\n let lastChunk: ChatModelRunResult;\n serverStream = serverStream.pipeThrough(runResultStream()).pipeThrough(\n new TransformStream({\n transform(chunk) {\n lastChunk = chunk;\n },\n flush() {\n if (!lastChunk?.status || lastChunk.status.type === \"running\")\n return;\n\n const resultingMessages = [\n ...messages,\n toCoreMessage({\n role: \"assistant\",\n content: lastChunk.content,\n } as ThreadMessage),\n ];\n onFinish({\n messages: resultingMessages,\n metadata: {\n // TODO\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n roundtrips: lastChunk.metadata?.steps!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n steps: lastChunk.metadata?.steps!,\n },\n });\n },\n }),\n );\n }\n\n // drain the server stream\n serverStream.pipeTo(voidStream()).catch((e) => {\n console.error(\"Server stream processing error:\", e);\n });\n }\n\n return stream;\n};\n\nexport declare namespace getEdgeRuntimeResponse {\n export type { GetEdgeRuntimeStreamOptions as Options };\n}\n\nexport const getEdgeRuntimeResponse = async (\n options: getEdgeRuntimeResponse.Options,\n) => {\n const stream = await getEdgeRuntimeStream(options);\n return new Response(\n stream\n .pipeThrough(assistantEncoderStream())\n .pipeThrough(streamPartEncoderStream()),\n {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n },\n },\n );\n};\n\nexport const createEdgeRuntimeAPI = (options: CreateEdgeRuntimeAPIOptions) => ({\n POST: async (request: Request) =>\n getEdgeRuntimeResponse({\n abortSignal: request.signal,\n requestData: await request.json(),\n options,\n }),\n});\n\ntype StreamMessageOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1;\n system?: string;\n messages: CoreMessage[];\n tools?: LanguageModelV1FunctionTool[];\n toolChoice?: LanguageModelV1ToolChoice;\n abortSignal: AbortSignal;\n};\n\nasync function streamMessage({\n model,\n system,\n messages,\n tools,\n toolChoice,\n ...options\n}: StreamMessageOptions) {\n return model.doStream({\n inputFormat: \"messages\",\n mode: {\n type: \"regular\",\n ...(tools ? { tools } : undefined),\n ...(toolChoice ? { toolChoice } : undefined),\n },\n prompt: convertToLanguageModelPrompt(system, messages),\n ...(options as Partial<LanguageModelV1CallOptions>),\n });\n}\n\nexport function convertToLanguageModelPrompt(\n system: string | undefined,\n messages: CoreMessage[],\n): LanguageModelV1Prompt {\n const languageModelMessages: LanguageModelV1Prompt = [];\n\n if (system != null) {\n languageModelMessages.push({ role: \"system\", content: system });\n }\n languageModelMessages.push(...toLanguageModelMessages(messages));\n\n return languageModelMessages;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,oCAAuC;AACvC,uCAAgD;AAChD,qCAAwC;AAExC,kCAAqC;AACrC,8BAGO;AACP,6BAAgC;AAChC,8BAIO;AAEP,4BAA8B;AAC9B,qCAAwC;AA0BxC,IAAM,aAAa,MAAM;AACvB,SAAO,IAAI,eAAe;AAAA,IACxB,MAAM,QAAQ;AACZ,cAAQ,MAAM,qCAAqC,MAAM;AAAA,IAC3D;AAAA,EACF,CAAC;AACH;AAQO,IAAM,uBAAuB,OAAO;AAAA,EACzC;AAAA,EACA,aAAa;AAAA,EACb,SAAS;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO,cAAc,CAAC;AAAA,IACtB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AACF,MAAmC;AACjC,QAAM,WAAW,0DAAkC,MAAM,cAAc;AACvE,QAAM,oBAAgB,kDAAqB,WAAW;AACtD,QAAM,iBAAiB,OAAO,OAAO,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO;AAEzE,QAAM;AAAA,IACJ,QAAQ;AAAA,IACR,OAAO,cAAc,CAAC;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI,iEAAgC,MAAM,aAAa;AAEvD,QAAM,iBAAiB,CAAC;AACxB,MAAI,aAAc,gBAAe,KAAK,YAAY;AAClD,MAAI,aAAc,gBAAe,KAAK,YAAY;AAClD,QAAM,SAAS,eAAe,KAAK,MAAM;AAEzC,aAAW,cAAc,aAAa;AACpC,QAAI,cAAc,WAAW,IAAI,GAAG;AAClC,YAAM,IAAI;AAAA,QACR,QAAQ,WAAW,IAAI;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,QACJ,OAAO,mBAAmB,aACtB,MAAM,eAAe,EAAE,QAAQ,SAAS,UAAU,CAAC,IACnD;AAEN,MAAI;AACJ,QAAM,eAAe,MAAM,cAAc;AAAA,IACvC,GAAI;AAAA,IACJ,GAAG;AAAA,IAEH;AAAA,IACA;AAAA,IAEA,GAAI,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI;AAAA,IAC5B;AAAA,IACA,OAAO,cAAc,OAAO,WAA4C;AAAA,IACxE,GAAI,aAAa,EAAE,WAAW,IAAI;AAAA,EACpC,CAAC;AACD,WAAS,aAAa;AAGtB,QAAM,kBAAkB,kBAAkB,YAAY,SAAS;AAC/D,MAAI,iBAAiB;AACnB,aAAS,OAAO,gBAAY,0CAAiB,aAAa,WAAW,CAAC;AAAA,EACxE;AAEA,MAAI,mBAAmB,UAAU;AAE/B,UAAM,OAAO,OAAO,IAAI;AACxB,aAAS,KAAK,CAAC;AACf,QAAI,eAAe,KAAK,CAAC;AAEzB,QAAI,UAAU;AACZ,UAAI;AACJ,qBAAe,aAAa,gBAAY,wCAAgB,CAAC,EAAE;AAAA,QACzD,IAAI,gBAAgB;AAAA,UAClB,UAAU,OAAO;AACf,wBAAY;AAAA,UACd;AAAA,UACA,QAAQ;AACN,gBAAI,CAAC,WAAW,UAAU,UAAU,OAAO,SAAS;AAClD;AAEF,kBAAM,oBAAoB;AAAA,cACxB,GAAG;AAAA,kBACH,qCAAc;AAAA,gBACZ,MAAM;AAAA,gBACN,SAAS,UAAU;AAAA,cACrB,CAAkB;AAAA,YACpB;AACA,qBAAS;AAAA,cACP,UAAU;AAAA,cACV,UAAU;AAAA;AAAA;AAAA,gBAGR,YAAY,UAAU,UAAU;AAAA;AAAA,gBAEhC,OAAO,UAAU,UAAU;AAAA,cAC7B;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,iBAAa,OAAO,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM;AAC7C,cAAQ,MAAM,mCAAmC,CAAC;AAAA,IACpD,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAMO,IAAM,yBAAyB,OACpC,YACG;AACH,QAAM,SAAS,MAAM,qBAAqB,OAAO;AACjD,SAAO,IAAI;AAAA,IACT,OACG,gBAAY,sDAAuB,CAAC,EACpC,gBAAY,wDAAwB,CAAC;AAAA,IACxC;AAAA,MACE,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,uBAAuB,CAAC,aAA0C;AAAA,EAC7E,MAAM,OAAO,YACX,uBAAuB;AAAA,IACrB,aAAa,QAAQ;AAAA,IACrB,aAAa,MAAM,QAAQ,KAAK;AAAA,IAChC;AAAA,EACF,CAAC;AACL;AAWA,eAAe,cAAc;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyB;AACvB,SAAO,MAAM,SAAS;AAAA,IACpB,aAAa;AAAA,IACb,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,GAAI,QAAQ,EAAE,MAAM,IAAI;AAAA,MACxB,GAAI,aAAa,EAAE,WAAW,IAAI;AAAA,IACpC;AAAA,IACA,QAAQ,6BAA6B,QAAQ,QAAQ;AAAA,IACrD,GAAI;AAAA,EACN,CAAC;AACH;AAEO,SAAS,6BACd,QACA,UACuB;AACvB,QAAM,wBAA+C,CAAC;AAEtD,MAAI,UAAU,MAAM;AAClB,0BAAsB,KAAK,EAAE,MAAM,UAAU,SAAS,OAAO,CAAC;AAAA,EAChE;AACA,wBAAsB,KAAK,OAAG,wDAAwB,QAAQ,CAAC;AAE/D,SAAO;AACT;","names":[]}
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/edge/createEdgeRuntimeAPI.ts"],"sourcesContent":["import {\n LanguageModelV1,\n LanguageModelV1ToolChoice,\n LanguageModelV1FunctionTool,\n LanguageModelV1Prompt,\n LanguageModelV1CallOptions,\n} from \"@ai-sdk/provider\";\nimport {\n CoreMessage,\n ThreadMessage,\n ThreadStep,\n} from \"../../types/AssistantTypes\";\nimport { assistantEncoderStream } from \"./streams/assistantEncoderStream\";\nimport { EdgeRuntimeRequestOptionsSchema } from \"./EdgeRuntimeRequestOptions\";\nimport { toLanguageModelMessages } from \"./converters/toLanguageModelMessages\";\nimport { Tool } from \"../../types\";\nimport { toLanguageModelTools } from \"./converters/toLanguageModelTools\";\nimport {\n toolResultStream,\n ToolResultStreamPart,\n} from \"./streams/toolResultStream\";\nimport { runResultStream } from \"./streams/runResultStream\";\nimport {\n LanguageModelConfig,\n LanguageModelV1CallSettings,\n LanguageModelV1CallSettingsSchema,\n} from \"../../types/ModelConfigTypes\";\nimport { ChatModelRunResult } from \"../local/ChatModelAdapter\";\nimport { toCoreMessage } from \"./converters/toCoreMessages\";\nimport { streamPartEncoderStream } from \"./streams/utils/streamPartEncoderStream\";\nimport { z } from \"zod\";\n\ntype FinishResult = {\n messages: CoreMessage[];\n metadata: {\n steps: ThreadStep[];\n };\n};\n\ntype LanguageModelCreator = (\n config: LanguageModelConfig,\n) => Promise<LanguageModelV1> | LanguageModelV1;\n\nexport type CreateEdgeRuntimeAPIOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1 | LanguageModelCreator;\n system?: string;\n tools?: Record<string, Tool<any, any>>;\n toolChoice?: LanguageModelV1ToolChoice;\n onFinish?: (result: FinishResult) => void;\n};\n\nconst voidStream = () => {\n return new WritableStream({\n abort(reason) {\n console.error(\"Server stream processing aborted:\", reason);\n },\n });\n};\n\ntype GetEdgeRuntimeStreamOptions = {\n abortSignal: AbortSignal;\n requestData: z.infer<typeof EdgeRuntimeRequestOptionsSchema>;\n options: CreateEdgeRuntimeAPIOptions;\n};\n\nexport const getEdgeRuntimeStream = async ({\n abortSignal,\n requestData: unsafeRequest,\n options: {\n model: modelOrCreator,\n system: serverSystem,\n tools: serverTools = {},\n toolChoice,\n onFinish,\n ...unsafeSettings\n },\n}: GetEdgeRuntimeStreamOptions) => {\n const settings = LanguageModelV1CallSettingsSchema.parse(unsafeSettings);\n const lmServerTools = toLanguageModelTools(serverTools);\n const hasServerTools = Object.values(serverTools).some((v) => !!v.execute);\n\n const {\n system: clientSystem,\n tools: clientTools = [],\n messages,\n apiKey,\n baseUrl,\n modelName,\n ...callSettings\n } = EdgeRuntimeRequestOptionsSchema.parse(unsafeRequest);\n\n const systemMessages = [];\n if (serverSystem) systemMessages.push(serverSystem);\n if (clientSystem) systemMessages.push(clientSystem);\n const system = systemMessages.join(\"\\n\\n\");\n\n for (const clientTool of clientTools) {\n if (serverTools?.[clientTool.name]) {\n throw new Error(\n `Tool ${clientTool.name} was defined in both the client and server tools. This is not allowed.`,\n );\n }\n }\n\n const model =\n typeof modelOrCreator === \"function\"\n ? await modelOrCreator({ apiKey, baseUrl, modelName })\n : modelOrCreator;\n\n let stream: ReadableStream<ToolResultStreamPart>;\n const streamResult = await streamMessage({\n ...(settings as Partial<StreamMessageOptions>),\n ...callSettings,\n\n model,\n abortSignal,\n\n ...(!!system ? { system } : undefined),\n messages,\n tools: lmServerTools.concat(clientTools as LanguageModelV1FunctionTool[]),\n ...(toolChoice ? { toolChoice } : undefined),\n });\n stream = streamResult.stream;\n\n // add tool results if we have server tools\n const canExecuteTools = hasServerTools && toolChoice?.type !== \"none\";\n if (canExecuteTools) {\n stream = stream.pipeThrough(toolResultStream(serverTools, abortSignal));\n }\n\n if (canExecuteTools || onFinish) {\n // tee the stream to process server tools and onFinish asap\n const tees = stream.tee();\n stream = tees[0];\n let serverStream = tees[1];\n\n if (onFinish) {\n let lastChunk: ChatModelRunResult;\n serverStream = serverStream.pipeThrough(runResultStream()).pipeThrough(\n new TransformStream({\n transform(chunk) {\n lastChunk = chunk;\n },\n flush() {\n if (!lastChunk?.status || lastChunk.status.type === \"running\")\n return;\n\n const resultingMessages = [\n ...messages,\n toCoreMessage({\n role: \"assistant\",\n content: lastChunk.content,\n } as ThreadMessage),\n ];\n onFinish({\n messages: resultingMessages,\n metadata: {\n // TODO\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n steps: lastChunk.metadata?.steps!,\n },\n });\n },\n }),\n );\n }\n\n // drain the server stream\n serverStream.pipeTo(voidStream()).catch((e) => {\n console.error(\"Server stream processing error:\", e);\n });\n }\n\n return stream;\n};\n\nexport declare namespace getEdgeRuntimeResponse {\n export type { GetEdgeRuntimeStreamOptions as Options };\n}\n\nexport const getEdgeRuntimeResponse = async (\n options: getEdgeRuntimeResponse.Options,\n) => {\n const stream = await getEdgeRuntimeStream(options);\n return new Response(\n stream\n .pipeThrough(assistantEncoderStream())\n .pipeThrough(streamPartEncoderStream()),\n {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n },\n },\n );\n};\n\nexport const createEdgeRuntimeAPI = (options: CreateEdgeRuntimeAPIOptions) => ({\n POST: async (request: Request) =>\n getEdgeRuntimeResponse({\n abortSignal: request.signal,\n requestData: await request.json(),\n options,\n }),\n});\n\ntype StreamMessageOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1;\n system?: string;\n messages: CoreMessage[];\n tools?: LanguageModelV1FunctionTool[];\n toolChoice?: LanguageModelV1ToolChoice;\n abortSignal: AbortSignal;\n};\n\nasync function streamMessage({\n model,\n system,\n messages,\n tools,\n toolChoice,\n ...options\n}: StreamMessageOptions) {\n return model.doStream({\n inputFormat: \"messages\",\n mode: {\n type: \"regular\",\n ...(tools ? { tools } : undefined),\n ...(toolChoice ? { toolChoice } : undefined),\n },\n prompt: convertToLanguageModelPrompt(system, messages),\n ...(options as Partial<LanguageModelV1CallOptions>),\n });\n}\n\nexport function convertToLanguageModelPrompt(\n system: string | undefined,\n messages: CoreMessage[],\n): LanguageModelV1Prompt {\n const languageModelMessages: LanguageModelV1Prompt = [];\n\n if (system != null) {\n languageModelMessages.push({ role: \"system\", content: system });\n }\n languageModelMessages.push(...toLanguageModelMessages(messages));\n\n return languageModelMessages;\n}\n"],"mappings":"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","names":[]}
|
@@ -97,8 +97,6 @@ var getEdgeRuntimeStream = async ({
|
|
97
97
|
metadata: {
|
98
98
|
// TODO
|
99
99
|
// eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
|
100
|
-
roundtrips: lastChunk.metadata?.steps,
|
101
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
|
102
100
|
steps: lastChunk.metadata?.steps
|
103
101
|
}
|
104
102
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/edge/createEdgeRuntimeAPI.ts"],"sourcesContent":["import {\n LanguageModelV1,\n LanguageModelV1ToolChoice,\n LanguageModelV1FunctionTool,\n LanguageModelV1Prompt,\n LanguageModelV1CallOptions,\n} from \"@ai-sdk/provider\";\nimport {\n CoreMessage,\n ThreadMessage,\n ThreadStep,\n} from \"../../types/AssistantTypes\";\nimport { assistantEncoderStream } from \"./streams/assistantEncoderStream\";\nimport { EdgeRuntimeRequestOptionsSchema } from \"./EdgeRuntimeRequestOptions\";\nimport { toLanguageModelMessages } from \"./converters/toLanguageModelMessages\";\nimport { Tool } from \"../../types\";\nimport { toLanguageModelTools } from \"./converters/toLanguageModelTools\";\nimport {\n toolResultStream,\n ToolResultStreamPart,\n} from \"./streams/toolResultStream\";\nimport { runResultStream } from \"./streams/runResultStream\";\nimport {\n LanguageModelConfig,\n LanguageModelV1CallSettings,\n LanguageModelV1CallSettingsSchema,\n} from \"../../types/ModelConfigTypes\";\nimport { ChatModelRunResult } from \"../local/ChatModelAdapter\";\nimport { toCoreMessage } from \"./converters/toCoreMessages\";\nimport { streamPartEncoderStream } from \"./streams/utils/streamPartEncoderStream\";\nimport { z } from \"zod\";\n\ntype FinishResult = {\n messages: CoreMessage[];\n metadata: {\n /**\n * @deprecated Use `steps` instead. This field will be removed in v0.6.\n */\n roundtrips: ThreadStep[];\n steps: ThreadStep[];\n };\n};\n\ntype LanguageModelCreator = (\n config: LanguageModelConfig,\n) => Promise<LanguageModelV1> | LanguageModelV1;\n\nexport type CreateEdgeRuntimeAPIOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1 | LanguageModelCreator;\n system?: string;\n tools?: Record<string, Tool<any, any>>;\n toolChoice?: LanguageModelV1ToolChoice;\n onFinish?: (result: FinishResult) => void;\n};\n\nconst voidStream = () => {\n return new WritableStream({\n abort(reason) {\n console.error(\"Server stream processing aborted:\", reason);\n },\n });\n};\n\ntype GetEdgeRuntimeStreamOptions = {\n abortSignal: AbortSignal;\n requestData: z.infer<typeof EdgeRuntimeRequestOptionsSchema>;\n options: CreateEdgeRuntimeAPIOptions;\n};\n\nexport const getEdgeRuntimeStream = async ({\n abortSignal,\n requestData: unsafeRequest,\n options: {\n model: modelOrCreator,\n system: serverSystem,\n tools: serverTools = {},\n toolChoice,\n onFinish,\n ...unsafeSettings\n },\n}: GetEdgeRuntimeStreamOptions) => {\n const settings = LanguageModelV1CallSettingsSchema.parse(unsafeSettings);\n const lmServerTools = toLanguageModelTools(serverTools);\n const hasServerTools = Object.values(serverTools).some((v) => !!v.execute);\n\n const {\n system: clientSystem,\n tools: clientTools = [],\n messages,\n apiKey,\n baseUrl,\n modelName,\n ...callSettings\n } = EdgeRuntimeRequestOptionsSchema.parse(unsafeRequest);\n\n const systemMessages = [];\n if (serverSystem) systemMessages.push(serverSystem);\n if (clientSystem) systemMessages.push(clientSystem);\n const system = systemMessages.join(\"\\n\\n\");\n\n for (const clientTool of clientTools) {\n if (serverTools?.[clientTool.name]) {\n throw new Error(\n `Tool ${clientTool.name} was defined in both the client and server tools. This is not allowed.`,\n );\n }\n }\n\n const model =\n typeof modelOrCreator === \"function\"\n ? await modelOrCreator({ apiKey, baseUrl, modelName })\n : modelOrCreator;\n\n let stream: ReadableStream<ToolResultStreamPart>;\n const streamResult = await streamMessage({\n ...(settings as Partial<StreamMessageOptions>),\n ...callSettings,\n\n model,\n abortSignal,\n\n ...(!!system ? { system } : undefined),\n messages,\n tools: lmServerTools.concat(clientTools as LanguageModelV1FunctionTool[]),\n ...(toolChoice ? { toolChoice } : undefined),\n });\n stream = streamResult.stream;\n\n // add tool results if we have server tools\n const canExecuteTools = hasServerTools && toolChoice?.type !== \"none\";\n if (canExecuteTools) {\n stream = stream.pipeThrough(toolResultStream(serverTools, abortSignal));\n }\n\n if (canExecuteTools || onFinish) {\n // tee the stream to process server tools and onFinish asap\n const tees = stream.tee();\n stream = tees[0];\n let serverStream = tees[1];\n\n if (onFinish) {\n let lastChunk: ChatModelRunResult;\n serverStream = serverStream.pipeThrough(runResultStream()).pipeThrough(\n new TransformStream({\n transform(chunk) {\n lastChunk = chunk;\n },\n flush() {\n if (!lastChunk?.status || lastChunk.status.type === \"running\")\n return;\n\n const resultingMessages = [\n ...messages,\n toCoreMessage({\n role: \"assistant\",\n content: lastChunk.content,\n } as ThreadMessage),\n ];\n onFinish({\n messages: resultingMessages,\n metadata: {\n // TODO\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n roundtrips: lastChunk.metadata?.steps!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n steps: lastChunk.metadata?.steps!,\n },\n });\n },\n }),\n );\n }\n\n // drain the server stream\n serverStream.pipeTo(voidStream()).catch((e) => {\n console.error(\"Server stream processing error:\", e);\n });\n }\n\n return stream;\n};\n\nexport declare namespace getEdgeRuntimeResponse {\n export type { GetEdgeRuntimeStreamOptions as Options };\n}\n\nexport const getEdgeRuntimeResponse = async (\n options: getEdgeRuntimeResponse.Options,\n) => {\n const stream = await getEdgeRuntimeStream(options);\n return new Response(\n stream\n .pipeThrough(assistantEncoderStream())\n .pipeThrough(streamPartEncoderStream()),\n {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n },\n },\n );\n};\n\nexport const createEdgeRuntimeAPI = (options: CreateEdgeRuntimeAPIOptions) => ({\n POST: async (request: Request) =>\n getEdgeRuntimeResponse({\n abortSignal: request.signal,\n requestData: await request.json(),\n options,\n }),\n});\n\ntype StreamMessageOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1;\n system?: string;\n messages: CoreMessage[];\n tools?: LanguageModelV1FunctionTool[];\n toolChoice?: LanguageModelV1ToolChoice;\n abortSignal: AbortSignal;\n};\n\nasync function streamMessage({\n model,\n system,\n messages,\n tools,\n toolChoice,\n ...options\n}: StreamMessageOptions) {\n return model.doStream({\n inputFormat: \"messages\",\n mode: {\n type: \"regular\",\n ...(tools ? { tools } : undefined),\n ...(toolChoice ? { toolChoice } : undefined),\n },\n prompt: convertToLanguageModelPrompt(system, messages),\n ...(options as Partial<LanguageModelV1CallOptions>),\n });\n}\n\nexport function convertToLanguageModelPrompt(\n system: string | undefined,\n messages: CoreMessage[],\n): LanguageModelV1Prompt {\n const languageModelMessages: LanguageModelV1Prompt = [];\n\n if (system != null) {\n languageModelMessages.push({ role: \"system\", content: system });\n }\n languageModelMessages.push(...toLanguageModelMessages(messages));\n\n return languageModelMessages;\n}\n"],"mappings":"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","names":[]}
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/edge/createEdgeRuntimeAPI.ts"],"sourcesContent":["import {\n LanguageModelV1,\n LanguageModelV1ToolChoice,\n LanguageModelV1FunctionTool,\n LanguageModelV1Prompt,\n LanguageModelV1CallOptions,\n} from \"@ai-sdk/provider\";\nimport {\n CoreMessage,\n ThreadMessage,\n ThreadStep,\n} from \"../../types/AssistantTypes\";\nimport { assistantEncoderStream } from \"./streams/assistantEncoderStream\";\nimport { EdgeRuntimeRequestOptionsSchema } from \"./EdgeRuntimeRequestOptions\";\nimport { toLanguageModelMessages } from \"./converters/toLanguageModelMessages\";\nimport { Tool } from \"../../types\";\nimport { toLanguageModelTools } from \"./converters/toLanguageModelTools\";\nimport {\n toolResultStream,\n ToolResultStreamPart,\n} from \"./streams/toolResultStream\";\nimport { runResultStream } from \"./streams/runResultStream\";\nimport {\n LanguageModelConfig,\n LanguageModelV1CallSettings,\n LanguageModelV1CallSettingsSchema,\n} from \"../../types/ModelConfigTypes\";\nimport { ChatModelRunResult } from \"../local/ChatModelAdapter\";\nimport { toCoreMessage } from \"./converters/toCoreMessages\";\nimport { streamPartEncoderStream } from \"./streams/utils/streamPartEncoderStream\";\nimport { z } from \"zod\";\n\ntype FinishResult = {\n messages: CoreMessage[];\n metadata: {\n steps: ThreadStep[];\n };\n};\n\ntype LanguageModelCreator = (\n config: LanguageModelConfig,\n) => Promise<LanguageModelV1> | LanguageModelV1;\n\nexport type CreateEdgeRuntimeAPIOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1 | LanguageModelCreator;\n system?: string;\n tools?: Record<string, Tool<any, any>>;\n toolChoice?: LanguageModelV1ToolChoice;\n onFinish?: (result: FinishResult) => void;\n};\n\nconst voidStream = () => {\n return new WritableStream({\n abort(reason) {\n console.error(\"Server stream processing aborted:\", reason);\n },\n });\n};\n\ntype GetEdgeRuntimeStreamOptions = {\n abortSignal: AbortSignal;\n requestData: z.infer<typeof EdgeRuntimeRequestOptionsSchema>;\n options: CreateEdgeRuntimeAPIOptions;\n};\n\nexport const getEdgeRuntimeStream = async ({\n abortSignal,\n requestData: unsafeRequest,\n options: {\n model: modelOrCreator,\n system: serverSystem,\n tools: serverTools = {},\n toolChoice,\n onFinish,\n ...unsafeSettings\n },\n}: GetEdgeRuntimeStreamOptions) => {\n const settings = LanguageModelV1CallSettingsSchema.parse(unsafeSettings);\n const lmServerTools = toLanguageModelTools(serverTools);\n const hasServerTools = Object.values(serverTools).some((v) => !!v.execute);\n\n const {\n system: clientSystem,\n tools: clientTools = [],\n messages,\n apiKey,\n baseUrl,\n modelName,\n ...callSettings\n } = EdgeRuntimeRequestOptionsSchema.parse(unsafeRequest);\n\n const systemMessages = [];\n if (serverSystem) systemMessages.push(serverSystem);\n if (clientSystem) systemMessages.push(clientSystem);\n const system = systemMessages.join(\"\\n\\n\");\n\n for (const clientTool of clientTools) {\n if (serverTools?.[clientTool.name]) {\n throw new Error(\n `Tool ${clientTool.name} was defined in both the client and server tools. This is not allowed.`,\n );\n }\n }\n\n const model =\n typeof modelOrCreator === \"function\"\n ? await modelOrCreator({ apiKey, baseUrl, modelName })\n : modelOrCreator;\n\n let stream: ReadableStream<ToolResultStreamPart>;\n const streamResult = await streamMessage({\n ...(settings as Partial<StreamMessageOptions>),\n ...callSettings,\n\n model,\n abortSignal,\n\n ...(!!system ? { system } : undefined),\n messages,\n tools: lmServerTools.concat(clientTools as LanguageModelV1FunctionTool[]),\n ...(toolChoice ? { toolChoice } : undefined),\n });\n stream = streamResult.stream;\n\n // add tool results if we have server tools\n const canExecuteTools = hasServerTools && toolChoice?.type !== \"none\";\n if (canExecuteTools) {\n stream = stream.pipeThrough(toolResultStream(serverTools, abortSignal));\n }\n\n if (canExecuteTools || onFinish) {\n // tee the stream to process server tools and onFinish asap\n const tees = stream.tee();\n stream = tees[0];\n let serverStream = tees[1];\n\n if (onFinish) {\n let lastChunk: ChatModelRunResult;\n serverStream = serverStream.pipeThrough(runResultStream()).pipeThrough(\n new TransformStream({\n transform(chunk) {\n lastChunk = chunk;\n },\n flush() {\n if (!lastChunk?.status || lastChunk.status.type === \"running\")\n return;\n\n const resultingMessages = [\n ...messages,\n toCoreMessage({\n role: \"assistant\",\n content: lastChunk.content,\n } as ThreadMessage),\n ];\n onFinish({\n messages: resultingMessages,\n metadata: {\n // TODO\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n steps: lastChunk.metadata?.steps!,\n },\n });\n },\n }),\n );\n }\n\n // drain the server stream\n serverStream.pipeTo(voidStream()).catch((e) => {\n console.error(\"Server stream processing error:\", e);\n });\n }\n\n return stream;\n};\n\nexport declare namespace getEdgeRuntimeResponse {\n export type { GetEdgeRuntimeStreamOptions as Options };\n}\n\nexport const getEdgeRuntimeResponse = async (\n options: getEdgeRuntimeResponse.Options,\n) => {\n const stream = await getEdgeRuntimeStream(options);\n return new Response(\n stream\n .pipeThrough(assistantEncoderStream())\n .pipeThrough(streamPartEncoderStream()),\n {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n },\n },\n );\n};\n\nexport const createEdgeRuntimeAPI = (options: CreateEdgeRuntimeAPIOptions) => ({\n POST: async (request: Request) =>\n getEdgeRuntimeResponse({\n abortSignal: request.signal,\n requestData: await request.json(),\n options,\n }),\n});\n\ntype StreamMessageOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1;\n system?: string;\n messages: CoreMessage[];\n tools?: LanguageModelV1FunctionTool[];\n toolChoice?: LanguageModelV1ToolChoice;\n abortSignal: AbortSignal;\n};\n\nasync function streamMessage({\n model,\n system,\n messages,\n tools,\n toolChoice,\n ...options\n}: StreamMessageOptions) {\n return model.doStream({\n inputFormat: \"messages\",\n mode: {\n type: \"regular\",\n ...(tools ? { tools } : undefined),\n ...(toolChoice ? { toolChoice } : undefined),\n },\n prompt: convertToLanguageModelPrompt(system, messages),\n ...(options as Partial<LanguageModelV1CallOptions>),\n });\n}\n\nexport function convertToLanguageModelPrompt(\n system: string | undefined,\n messages: CoreMessage[],\n): LanguageModelV1Prompt {\n const languageModelMessages: LanguageModelV1Prompt = [];\n\n if (system != null) {\n languageModelMessages.push({ role: \"system\", content: system });\n }\n languageModelMessages.push(...toLanguageModelMessages(messages));\n\n return languageModelMessages;\n}\n"],"mappings":"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","names":[]}
|
@@ -172,7 +172,6 @@ var appendOrUpdateStepFinish = (message, chunk) => {
|
|
172
172
|
...message,
|
173
173
|
metadata: {
|
174
174
|
...message.metadata,
|
175
|
-
roundtrips: steps,
|
176
175
|
steps
|
177
176
|
}
|
178
177
|
};
|
@@ -191,7 +190,6 @@ var appendOrUpdateFinish = (message, chunk) => {
|
|
191
190
|
status: getStatus(chunk),
|
192
191
|
metadata: {
|
193
192
|
...message.metadata,
|
194
|
-
roundtrips: steps,
|
195
193
|
steps
|
196
194
|
}
|
197
195
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/edge/streams/runResultStream.ts"],"sourcesContent":["import { ChatModelRunResult } from \"../../local/ChatModelAdapter\";\nimport { parsePartialJson } from \"../partial-json/parse-partial-json\";\nimport { LanguageModelV1StreamPart } from \"@ai-sdk/provider\";\nimport { ToolResultStreamPart } from \"./toolResultStream\";\nimport { MessageStatus, ToolCallContentPart } from \"../../../types\";\n\nexport function runResultStream() {\n let message: ChatModelRunResult = {\n content: [],\n status: { type: \"running\" },\n };\n\n return new TransformStream<ToolResultStreamPart, ChatModelRunResult>({\n transform(chunk, controller) {\n const chunkType = chunk.type;\n switch (chunkType) {\n case \"text-delta\": {\n message = appendOrUpdateText(message, chunk.textDelta);\n controller.enqueue(message);\n break;\n }\n\n case \"tool-call-delta\": {\n const { toolCallId, toolName, argsTextDelta } = chunk;\n\n message = appendOrUpdateToolCall(\n message,\n toolCallId,\n toolName,\n argsTextDelta,\n );\n controller.enqueue(message);\n break;\n }\n\n case \"tool-call\":\n case \"response-metadata\":\n break;\n\n case \"tool-result\": {\n message = appendOrUpdateToolResult(\n message,\n chunk.toolCallId,\n chunk.toolName,\n chunk.result,\n );\n controller.enqueue(message);\n break;\n }\n case \"step-finish\": {\n message = appendOrUpdateStepFinish(message, chunk);\n controller.enqueue(message);\n break;\n }\n case \"finish\": {\n message = appendOrUpdateFinish(message, chunk);\n controller.enqueue(message);\n break;\n }\n case \"error\": {\n if (\n chunk.error instanceof Error &&\n chunk.error.name === \"AbortError\"\n ) {\n message = appendOrUpdateCancel(message);\n controller.enqueue(message);\n break;\n } else {\n throw chunk.error;\n }\n }\n default: {\n const unhandledType: never = chunkType;\n throw new Error(`Unhandled chunk type: ${unhandledType}`);\n }\n }\n },\n });\n}\n\nconst appendOrUpdateText = (message: ChatModelRunResult, textDelta: string) => {\n let contentParts = message.content ?? [];\n let contentPart = message.content?.at(-1);\n if (contentPart?.type !== \"text\") {\n contentPart = { type: \"text\", text: textDelta };\n } else {\n contentParts = contentParts.slice(0, -1);\n contentPart = { type: \"text\", text: contentPart.text + textDelta };\n }\n return {\n ...message,\n content: contentParts.concat([contentPart]),\n };\n};\n\nconst appendOrUpdateToolCall = (\n message: ChatModelRunResult,\n toolCallId: string,\n toolName: string,\n argsTextDelta: string,\n): ChatModelRunResult => {\n let contentParts = message.content ?? [];\n const contentPartIdx = contentParts.findIndex(\n (c) => c.type === \"tool-call\" && c.toolCallId === toolCallId,\n );\n let contentPart =\n contentPartIdx === -1\n ? null\n : (contentParts[contentPartIdx] as ToolCallContentPart);\n\n if (contentPart == null) {\n contentPart = {\n type: \"tool-call\",\n toolCallId,\n toolName,\n argsText: argsTextDelta,\n args: parsePartialJson(argsTextDelta),\n };\n contentParts = [...contentParts, contentPart];\n } else {\n const argsText = contentPart.argsText + argsTextDelta;\n contentPart = {\n ...contentPart,\n argsText,\n args: parsePartialJson(argsText),\n };\n contentParts = [\n ...contentParts.slice(0, contentPartIdx),\n contentPart,\n ...contentParts.slice(contentPartIdx + 1),\n ];\n }\n\n return {\n ...message,\n content: contentParts,\n };\n};\n\nconst appendOrUpdateToolResult = (\n message: ChatModelRunResult,\n toolCallId: string,\n toolName: string,\n result: any,\n) => {\n let found = false;\n const newContentParts = message.content?.map((part) => {\n if (part.type !== \"tool-call\" || part.toolCallId !== toolCallId)\n return part;\n found = true;\n\n if (part.toolName !== toolName)\n throw new Error(\n `Tool call ${toolCallId} found with tool name ${part.toolName}, but expected ${toolName}`,\n );\n\n return {\n ...part,\n result,\n };\n });\n if (!found)\n throw new Error(\n `Received tool result for unknown tool call \"${toolName}\" / \"${toolCallId}\". This is likely an internal bug in assistant-ui.`,\n );\n\n return {\n ...message,\n content: newContentParts!,\n };\n};\n\nconst appendOrUpdateStepFinish = (\n message: ChatModelRunResult,\n chunk: ToolResultStreamPart & { type: \"step-finish\" },\n): ChatModelRunResult => {\n const { type, ...rest } = chunk;\n const steps = [\n ...(message.metadata?.steps ?? []),\n {\n usage: rest.usage,\n },\n ];\n return {\n ...message,\n metadata: {\n ...message.metadata,\n roundtrips: steps,\n steps,\n },\n };\n};\n\nconst appendOrUpdateFinish = (\n message: ChatModelRunResult,\n chunk: LanguageModelV1StreamPart & { type: \"finish\" },\n): ChatModelRunResult => {\n const { type, ...rest } = chunk;\n\n const steps = [\n ...(message.metadata?.steps ?? []),\n {\n logprobs: rest.logprobs,\n usage: rest.usage,\n },\n ];\n return {\n ...message,\n status: getStatus(chunk),\n metadata: {\n ...message.metadata,\n roundtrips: steps,\n steps,\n },\n };\n};\n\nconst getStatus = (\n chunk:\n | (LanguageModelV1StreamPart & { type: \"finish\" })\n | (ToolResultStreamPart & { type: \"step-finish\" }),\n): MessageStatus => {\n if (chunk.finishReason === \"tool-calls\") {\n return {\n type: \"requires-action\",\n reason: \"tool-calls\",\n };\n } else if (\n chunk.finishReason === \"stop\" ||\n chunk.finishReason === \"unknown\"\n ) {\n return {\n type: \"complete\",\n reason: chunk.finishReason,\n };\n } else {\n return {\n type: \"incomplete\",\n reason: chunk.finishReason,\n };\n }\n};\n\nconst appendOrUpdateCancel = (\n message: ChatModelRunResult,\n): ChatModelRunResult => {\n return {\n ...message,\n status: {\n type: \"incomplete\",\n reason: \"cancelled\",\n },\n };\n};\n"],"mappings":"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","names":[]}
|
1
|
+
{"version":3,"sources":["../../../../src/runtimes/edge/streams/runResultStream.ts"],"sourcesContent":["import { ChatModelRunResult } from \"../../local/ChatModelAdapter\";\nimport { parsePartialJson } from \"../partial-json/parse-partial-json\";\nimport { LanguageModelV1StreamPart } from \"@ai-sdk/provider\";\nimport { ToolResultStreamPart } from \"./toolResultStream\";\nimport { MessageStatus, ToolCallContentPart } from \"../../../types\";\n\nexport function runResultStream() {\n let message: ChatModelRunResult = {\n content: [],\n status: { type: \"running\" },\n };\n\n return new TransformStream<ToolResultStreamPart, ChatModelRunResult>({\n transform(chunk, controller) {\n const chunkType = chunk.type;\n switch (chunkType) {\n case \"text-delta\": {\n message = appendOrUpdateText(message, chunk.textDelta);\n controller.enqueue(message);\n break;\n }\n\n case \"tool-call-delta\": {\n const { toolCallId, toolName, argsTextDelta } = chunk;\n\n message = appendOrUpdateToolCall(\n message,\n toolCallId,\n toolName,\n argsTextDelta,\n );\n controller.enqueue(message);\n break;\n }\n\n case \"tool-call\":\n case \"response-metadata\":\n break;\n\n case \"tool-result\": {\n message = appendOrUpdateToolResult(\n message,\n chunk.toolCallId,\n chunk.toolName,\n chunk.result,\n );\n controller.enqueue(message);\n break;\n }\n case \"step-finish\": {\n message = appendOrUpdateStepFinish(message, chunk);\n controller.enqueue(message);\n break;\n }\n case \"finish\": {\n message = appendOrUpdateFinish(message, chunk);\n controller.enqueue(message);\n break;\n }\n case \"error\": {\n if (\n chunk.error instanceof Error &&\n chunk.error.name === \"AbortError\"\n ) {\n message = appendOrUpdateCancel(message);\n controller.enqueue(message);\n break;\n } else {\n throw chunk.error;\n }\n }\n default: {\n const unhandledType: never = chunkType;\n throw new Error(`Unhandled chunk type: ${unhandledType}`);\n }\n }\n },\n });\n}\n\nconst appendOrUpdateText = (message: ChatModelRunResult, textDelta: string) => {\n let contentParts = message.content ?? [];\n let contentPart = message.content?.at(-1);\n if (contentPart?.type !== \"text\") {\n contentPart = { type: \"text\", text: textDelta };\n } else {\n contentParts = contentParts.slice(0, -1);\n contentPart = { type: \"text\", text: contentPart.text + textDelta };\n }\n return {\n ...message,\n content: contentParts.concat([contentPart]),\n };\n};\n\nconst appendOrUpdateToolCall = (\n message: ChatModelRunResult,\n toolCallId: string,\n toolName: string,\n argsTextDelta: string,\n): ChatModelRunResult => {\n let contentParts = message.content ?? [];\n const contentPartIdx = contentParts.findIndex(\n (c) => c.type === \"tool-call\" && c.toolCallId === toolCallId,\n );\n let contentPart =\n contentPartIdx === -1\n ? null\n : (contentParts[contentPartIdx] as ToolCallContentPart);\n\n if (contentPart == null) {\n contentPart = {\n type: \"tool-call\",\n toolCallId,\n toolName,\n argsText: argsTextDelta,\n args: parsePartialJson(argsTextDelta),\n };\n contentParts = [...contentParts, contentPart];\n } else {\n const argsText = contentPart.argsText + argsTextDelta;\n contentPart = {\n ...contentPart,\n argsText,\n args: parsePartialJson(argsText),\n };\n contentParts = [\n ...contentParts.slice(0, contentPartIdx),\n contentPart,\n ...contentParts.slice(contentPartIdx + 1),\n ];\n }\n\n return {\n ...message,\n content: contentParts,\n };\n};\n\nconst appendOrUpdateToolResult = (\n message: ChatModelRunResult,\n toolCallId: string,\n toolName: string,\n result: any,\n) => {\n let found = false;\n const newContentParts = message.content?.map((part) => {\n if (part.type !== \"tool-call\" || part.toolCallId !== toolCallId)\n return part;\n found = true;\n\n if (part.toolName !== toolName)\n throw new Error(\n `Tool call ${toolCallId} found with tool name ${part.toolName}, but expected ${toolName}`,\n );\n\n return {\n ...part,\n result,\n };\n });\n if (!found)\n throw new Error(\n `Received tool result for unknown tool call \"${toolName}\" / \"${toolCallId}\". This is likely an internal bug in assistant-ui.`,\n );\n\n return {\n ...message,\n content: newContentParts!,\n };\n};\n\nconst appendOrUpdateStepFinish = (\n message: ChatModelRunResult,\n chunk: ToolResultStreamPart & { type: \"step-finish\" },\n): ChatModelRunResult => {\n const { type, ...rest } = chunk;\n const steps = [\n ...(message.metadata?.steps ?? []),\n {\n usage: rest.usage,\n },\n ];\n return {\n ...message,\n metadata: {\n ...message.metadata,\n steps,\n },\n };\n};\n\nconst appendOrUpdateFinish = (\n message: ChatModelRunResult,\n chunk: LanguageModelV1StreamPart & { type: \"finish\" },\n): ChatModelRunResult => {\n const { type, ...rest } = chunk;\n\n const steps = [\n ...(message.metadata?.steps ?? []),\n {\n logprobs: rest.logprobs,\n usage: rest.usage,\n },\n ];\n return {\n ...message,\n status: getStatus(chunk),\n metadata: {\n ...message.metadata,\n steps,\n },\n };\n};\n\nconst getStatus = (\n chunk:\n | (LanguageModelV1StreamPart & { type: \"finish\" })\n | (ToolResultStreamPart & { type: \"step-finish\" }),\n): MessageStatus => {\n if (chunk.finishReason === \"tool-calls\") {\n return {\n type: \"requires-action\",\n reason: \"tool-calls\",\n };\n } else if (\n chunk.finishReason === \"stop\" ||\n chunk.finishReason === \"unknown\"\n ) {\n return {\n type: \"complete\",\n reason: chunk.finishReason,\n };\n } else {\n return {\n type: \"incomplete\",\n reason: chunk.finishReason,\n };\n }\n};\n\nconst appendOrUpdateCancel = (\n message: ChatModelRunResult,\n): ChatModelRunResult => {\n return {\n ...message,\n status: {\n type: \"incomplete\",\n reason: \"cancelled\",\n },\n };\n};\n"],"mappings":"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","names":[]}
|
@@ -148,7 +148,6 @@ var appendOrUpdateStepFinish = (message, chunk) => {
|
|
148
148
|
...message,
|
149
149
|
metadata: {
|
150
150
|
...message.metadata,
|
151
|
-
roundtrips: steps,
|
152
151
|
steps
|
153
152
|
}
|
154
153
|
};
|
@@ -167,7 +166,6 @@ var appendOrUpdateFinish = (message, chunk) => {
|
|
167
166
|
status: getStatus(chunk),
|
168
167
|
metadata: {
|
169
168
|
...message.metadata,
|
170
|
-
roundtrips: steps,
|
171
169
|
steps
|
172
170
|
}
|
173
171
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/edge/streams/runResultStream.ts"],"sourcesContent":["import { ChatModelRunResult } from \"../../local/ChatModelAdapter\";\nimport { parsePartialJson } from \"../partial-json/parse-partial-json\";\nimport { LanguageModelV1StreamPart } from \"@ai-sdk/provider\";\nimport { ToolResultStreamPart } from \"./toolResultStream\";\nimport { MessageStatus, ToolCallContentPart } from \"../../../types\";\n\nexport function runResultStream() {\n let message: ChatModelRunResult = {\n content: [],\n status: { type: \"running\" },\n };\n\n return new TransformStream<ToolResultStreamPart, ChatModelRunResult>({\n transform(chunk, controller) {\n const chunkType = chunk.type;\n switch (chunkType) {\n case \"text-delta\": {\n message = appendOrUpdateText(message, chunk.textDelta);\n controller.enqueue(message);\n break;\n }\n\n case \"tool-call-delta\": {\n const { toolCallId, toolName, argsTextDelta } = chunk;\n\n message = appendOrUpdateToolCall(\n message,\n toolCallId,\n toolName,\n argsTextDelta,\n );\n controller.enqueue(message);\n break;\n }\n\n case \"tool-call\":\n case \"response-metadata\":\n break;\n\n case \"tool-result\": {\n message = appendOrUpdateToolResult(\n message,\n chunk.toolCallId,\n chunk.toolName,\n chunk.result,\n );\n controller.enqueue(message);\n break;\n }\n case \"step-finish\": {\n message = appendOrUpdateStepFinish(message, chunk);\n controller.enqueue(message);\n break;\n }\n case \"finish\": {\n message = appendOrUpdateFinish(message, chunk);\n controller.enqueue(message);\n break;\n }\n case \"error\": {\n if (\n chunk.error instanceof Error &&\n chunk.error.name === \"AbortError\"\n ) {\n message = appendOrUpdateCancel(message);\n controller.enqueue(message);\n break;\n } else {\n throw chunk.error;\n }\n }\n default: {\n const unhandledType: never = chunkType;\n throw new Error(`Unhandled chunk type: ${unhandledType}`);\n }\n }\n },\n });\n}\n\nconst appendOrUpdateText = (message: ChatModelRunResult, textDelta: string) => {\n let contentParts = message.content ?? [];\n let contentPart = message.content?.at(-1);\n if (contentPart?.type !== \"text\") {\n contentPart = { type: \"text\", text: textDelta };\n } else {\n contentParts = contentParts.slice(0, -1);\n contentPart = { type: \"text\", text: contentPart.text + textDelta };\n }\n return {\n ...message,\n content: contentParts.concat([contentPart]),\n };\n};\n\nconst appendOrUpdateToolCall = (\n message: ChatModelRunResult,\n toolCallId: string,\n toolName: string,\n argsTextDelta: string,\n): ChatModelRunResult => {\n let contentParts = message.content ?? [];\n const contentPartIdx = contentParts.findIndex(\n (c) => c.type === \"tool-call\" && c.toolCallId === toolCallId,\n );\n let contentPart =\n contentPartIdx === -1\n ? null\n : (contentParts[contentPartIdx] as ToolCallContentPart);\n\n if (contentPart == null) {\n contentPart = {\n type: \"tool-call\",\n toolCallId,\n toolName,\n argsText: argsTextDelta,\n args: parsePartialJson(argsTextDelta),\n };\n contentParts = [...contentParts, contentPart];\n } else {\n const argsText = contentPart.argsText + argsTextDelta;\n contentPart = {\n ...contentPart,\n argsText,\n args: parsePartialJson(argsText),\n };\n contentParts = [\n ...contentParts.slice(0, contentPartIdx),\n contentPart,\n ...contentParts.slice(contentPartIdx + 1),\n ];\n }\n\n return {\n ...message,\n content: contentParts,\n };\n};\n\nconst appendOrUpdateToolResult = (\n message: ChatModelRunResult,\n toolCallId: string,\n toolName: string,\n result: any,\n) => {\n let found = false;\n const newContentParts = message.content?.map((part) => {\n if (part.type !== \"tool-call\" || part.toolCallId !== toolCallId)\n return part;\n found = true;\n\n if (part.toolName !== toolName)\n throw new Error(\n `Tool call ${toolCallId} found with tool name ${part.toolName}, but expected ${toolName}`,\n );\n\n return {\n ...part,\n result,\n };\n });\n if (!found)\n throw new Error(\n `Received tool result for unknown tool call \"${toolName}\" / \"${toolCallId}\". This is likely an internal bug in assistant-ui.`,\n );\n\n return {\n ...message,\n content: newContentParts!,\n };\n};\n\nconst appendOrUpdateStepFinish = (\n message: ChatModelRunResult,\n chunk: ToolResultStreamPart & { type: \"step-finish\" },\n): ChatModelRunResult => {\n const { type, ...rest } = chunk;\n const steps = [\n ...(message.metadata?.steps ?? []),\n {\n usage: rest.usage,\n },\n ];\n return {\n ...message,\n metadata: {\n ...message.metadata,\n roundtrips: steps,\n steps,\n },\n };\n};\n\nconst appendOrUpdateFinish = (\n message: ChatModelRunResult,\n chunk: LanguageModelV1StreamPart & { type: \"finish\" },\n): ChatModelRunResult => {\n const { type, ...rest } = chunk;\n\n const steps = [\n ...(message.metadata?.steps ?? []),\n {\n logprobs: rest.logprobs,\n usage: rest.usage,\n },\n ];\n return {\n ...message,\n status: getStatus(chunk),\n metadata: {\n ...message.metadata,\n roundtrips: steps,\n steps,\n },\n };\n};\n\nconst getStatus = (\n chunk:\n | (LanguageModelV1StreamPart & { type: \"finish\" })\n | (ToolResultStreamPart & { type: \"step-finish\" }),\n): MessageStatus => {\n if (chunk.finishReason === \"tool-calls\") {\n return {\n type: \"requires-action\",\n reason: \"tool-calls\",\n };\n } else if (\n chunk.finishReason === \"stop\" ||\n chunk.finishReason === \"unknown\"\n ) {\n return {\n type: \"complete\",\n reason: chunk.finishReason,\n };\n } else {\n return {\n type: \"incomplete\",\n reason: chunk.finishReason,\n };\n }\n};\n\nconst appendOrUpdateCancel = (\n message: ChatModelRunResult,\n): ChatModelRunResult => {\n return {\n ...message,\n status: {\n type: \"incomplete\",\n reason: \"cancelled\",\n },\n };\n};\n"],"mappings":"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","names":[]}
|
1
|
+
{"version":3,"sources":["../../../../src/runtimes/edge/streams/runResultStream.ts"],"sourcesContent":["import { ChatModelRunResult } from \"../../local/ChatModelAdapter\";\nimport { parsePartialJson } from \"../partial-json/parse-partial-json\";\nimport { LanguageModelV1StreamPart } from \"@ai-sdk/provider\";\nimport { ToolResultStreamPart } from \"./toolResultStream\";\nimport { MessageStatus, ToolCallContentPart } from \"../../../types\";\n\nexport function runResultStream() {\n let message: ChatModelRunResult = {\n content: [],\n status: { type: \"running\" },\n };\n\n return new TransformStream<ToolResultStreamPart, ChatModelRunResult>({\n transform(chunk, controller) {\n const chunkType = chunk.type;\n switch (chunkType) {\n case \"text-delta\": {\n message = appendOrUpdateText(message, chunk.textDelta);\n controller.enqueue(message);\n break;\n }\n\n case \"tool-call-delta\": {\n const { toolCallId, toolName, argsTextDelta } = chunk;\n\n message = appendOrUpdateToolCall(\n message,\n toolCallId,\n toolName,\n argsTextDelta,\n );\n controller.enqueue(message);\n break;\n }\n\n case \"tool-call\":\n case \"response-metadata\":\n break;\n\n case \"tool-result\": {\n message = appendOrUpdateToolResult(\n message,\n chunk.toolCallId,\n chunk.toolName,\n chunk.result,\n );\n controller.enqueue(message);\n break;\n }\n case \"step-finish\": {\n message = appendOrUpdateStepFinish(message, chunk);\n controller.enqueue(message);\n break;\n }\n case \"finish\": {\n message = appendOrUpdateFinish(message, chunk);\n controller.enqueue(message);\n break;\n }\n case \"error\": {\n if (\n chunk.error instanceof Error &&\n chunk.error.name === \"AbortError\"\n ) {\n message = appendOrUpdateCancel(message);\n controller.enqueue(message);\n break;\n } else {\n throw chunk.error;\n }\n }\n default: {\n const unhandledType: never = chunkType;\n throw new Error(`Unhandled chunk type: ${unhandledType}`);\n }\n }\n },\n });\n}\n\nconst appendOrUpdateText = (message: ChatModelRunResult, textDelta: string) => {\n let contentParts = message.content ?? [];\n let contentPart = message.content?.at(-1);\n if (contentPart?.type !== \"text\") {\n contentPart = { type: \"text\", text: textDelta };\n } else {\n contentParts = contentParts.slice(0, -1);\n contentPart = { type: \"text\", text: contentPart.text + textDelta };\n }\n return {\n ...message,\n content: contentParts.concat([contentPart]),\n };\n};\n\nconst appendOrUpdateToolCall = (\n message: ChatModelRunResult,\n toolCallId: string,\n toolName: string,\n argsTextDelta: string,\n): ChatModelRunResult => {\n let contentParts = message.content ?? [];\n const contentPartIdx = contentParts.findIndex(\n (c) => c.type === \"tool-call\" && c.toolCallId === toolCallId,\n );\n let contentPart =\n contentPartIdx === -1\n ? null\n : (contentParts[contentPartIdx] as ToolCallContentPart);\n\n if (contentPart == null) {\n contentPart = {\n type: \"tool-call\",\n toolCallId,\n toolName,\n argsText: argsTextDelta,\n args: parsePartialJson(argsTextDelta),\n };\n contentParts = [...contentParts, contentPart];\n } else {\n const argsText = contentPart.argsText + argsTextDelta;\n contentPart = {\n ...contentPart,\n argsText,\n args: parsePartialJson(argsText),\n };\n contentParts = [\n ...contentParts.slice(0, contentPartIdx),\n contentPart,\n ...contentParts.slice(contentPartIdx + 1),\n ];\n }\n\n return {\n ...message,\n content: contentParts,\n };\n};\n\nconst appendOrUpdateToolResult = (\n message: ChatModelRunResult,\n toolCallId: string,\n toolName: string,\n result: any,\n) => {\n let found = false;\n const newContentParts = message.content?.map((part) => {\n if (part.type !== \"tool-call\" || part.toolCallId !== toolCallId)\n return part;\n found = true;\n\n if (part.toolName !== toolName)\n throw new Error(\n `Tool call ${toolCallId} found with tool name ${part.toolName}, but expected ${toolName}`,\n );\n\n return {\n ...part,\n result,\n };\n });\n if (!found)\n throw new Error(\n `Received tool result for unknown tool call \"${toolName}\" / \"${toolCallId}\". This is likely an internal bug in assistant-ui.`,\n );\n\n return {\n ...message,\n content: newContentParts!,\n };\n};\n\nconst appendOrUpdateStepFinish = (\n message: ChatModelRunResult,\n chunk: ToolResultStreamPart & { type: \"step-finish\" },\n): ChatModelRunResult => {\n const { type, ...rest } = chunk;\n const steps = [\n ...(message.metadata?.steps ?? []),\n {\n usage: rest.usage,\n },\n ];\n return {\n ...message,\n metadata: {\n ...message.metadata,\n steps,\n },\n };\n};\n\nconst appendOrUpdateFinish = (\n message: ChatModelRunResult,\n chunk: LanguageModelV1StreamPart & { type: \"finish\" },\n): ChatModelRunResult => {\n const { type, ...rest } = chunk;\n\n const steps = [\n ...(message.metadata?.steps ?? []),\n {\n logprobs: rest.logprobs,\n usage: rest.usage,\n },\n ];\n return {\n ...message,\n status: getStatus(chunk),\n metadata: {\n ...message.metadata,\n steps,\n },\n };\n};\n\nconst getStatus = (\n chunk:\n | (LanguageModelV1StreamPart & { type: \"finish\" })\n | (ToolResultStreamPart & { type: \"step-finish\" }),\n): MessageStatus => {\n if (chunk.finishReason === \"tool-calls\") {\n return {\n type: \"requires-action\",\n reason: \"tool-calls\",\n };\n } else if (\n chunk.finishReason === \"stop\" ||\n chunk.finishReason === \"unknown\"\n ) {\n return {\n type: \"complete\",\n reason: chunk.finishReason,\n };\n } else {\n return {\n type: \"incomplete\",\n reason: chunk.finishReason,\n };\n }\n};\n\nconst appendOrUpdateCancel = (\n message: ChatModelRunResult,\n): ChatModelRunResult => {\n return {\n ...message,\n status: {\n type: \"incomplete\",\n reason: \"cancelled\",\n },\n };\n};\n"],"mappings":"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","names":[]}
|
@@ -1,14 +1,13 @@
|
|
1
1
|
import { AppendMessage, ThreadMessage } from "../../types";
|
2
2
|
import { AttachmentAdapter } from "../attachment";
|
3
|
-
import { AddToolResultOptions, ThreadSuggestion } from "../core/ThreadRuntimeCore";
|
3
|
+
import { AddToolResultOptions, ThreadMetadata, ThreadSuggestion } from "../core/ThreadRuntimeCore";
|
4
4
|
import { FeedbackAdapter } from "../feedback/FeedbackAdapter";
|
5
5
|
import { SpeechSynthesisAdapter } from "../speech/SpeechAdapterTypes";
|
6
|
-
import { ThreadListMetadata } from "../core/ThreadListRuntimeCore";
|
7
6
|
import { ThreadMessageLike } from "./ThreadMessageLike";
|
8
7
|
export type ExternalStoreThreadListAdapter = {
|
9
8
|
threadId?: string | undefined;
|
10
|
-
threads?: readonly
|
11
|
-
archivedThreads?: readonly
|
9
|
+
threads?: readonly ThreadMetadata[] | undefined;
|
10
|
+
archivedThreads?: readonly ThreadMetadata[] | undefined;
|
12
11
|
onSwitchToNewThread?: (() => Promise<void> | void) | undefined;
|
13
12
|
onSwitchToThread?: ((threadId: string) => Promise<void> | void) | undefined;
|
14
13
|
onRename?: (threadId: string, newTitle: string) => (Promise<void> | void) | undefined;
|
@@ -21,18 +20,6 @@ type ExternalStoreMessageConverterAdapter<T> = {
|
|
21
20
|
convertMessage: ExternalStoreMessageConverter<T>;
|
22
21
|
};
|
23
22
|
type ExternalStoreAdapterBase<T> = {
|
24
|
-
/**
|
25
|
-
* @deprecated Use `adapterst.threadList.threadId` instead. This will be removed in 0.6.0.
|
26
|
-
*/
|
27
|
-
threadId?: string | undefined;
|
28
|
-
/**
|
29
|
-
* @deprecated Use `adapters..threadList.onSwitchToThread` instead. This will be removed in 0.6.0.
|
30
|
-
*/
|
31
|
-
onSwitchToThread?: ((threadId: string) => Promise<void> | void) | undefined;
|
32
|
-
/**
|
33
|
-
* @deprecated Use `adapters.threadList.onSwitchToNewThread` instead. This will be removed in 0.6.0.
|
34
|
-
*/
|
35
|
-
onSwitchToNewThread?: (() => Promise<void> | void) | undefined;
|
36
23
|
isDisabled?: boolean | undefined;
|
37
24
|
isRunning?: boolean | undefined;
|
38
25
|
messages: T[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ExternalStoreAdapter.d.ts","sourceRoot":"","sources":["../../../src/runtimes/external-store/ExternalStoreAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"ExternalStoreAdapter.d.ts","sourceRoot":"","sources":["../../../src/runtimes/external-store/ExternalStoreAdapter.tsx"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/external-store/ExternalStoreAdapter.tsx"],"sourcesContent":["import { AppendMessage, ThreadMessage } from \"../../types\";\nimport { AttachmentAdapter } from \"../attachment\";\nimport {\n AddToolResultOptions,\n ThreadSuggestion,\n} from \"../core/ThreadRuntimeCore\";\nimport { FeedbackAdapter } from \"../feedback/FeedbackAdapter\";\nimport { SpeechSynthesisAdapter } from \"../speech/SpeechAdapterTypes\";\nimport {
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/external-store/ExternalStoreAdapter.tsx"],"sourcesContent":["import { AppendMessage, ThreadMessage } from \"../../types\";\nimport { AttachmentAdapter } from \"../attachment\";\nimport {\n AddToolResultOptions,\n ThreadMetadata,\n ThreadSuggestion,\n} from \"../core/ThreadRuntimeCore\";\nimport { FeedbackAdapter } from \"../feedback/FeedbackAdapter\";\nimport { SpeechSynthesisAdapter } from \"../speech/SpeechAdapterTypes\";\nimport { ThreadMessageLike } from \"./ThreadMessageLike\";\n\nexport type ExternalStoreThreadListAdapter = {\n threadId?: string | undefined;\n threads?: readonly ThreadMetadata[] | undefined;\n archivedThreads?: readonly ThreadMetadata[] | undefined;\n onSwitchToNewThread?: (() => Promise<void> | void) | undefined;\n onSwitchToThread?: ((threadId: string) => Promise<void> | void) | undefined;\n onRename?: (\n threadId: string,\n newTitle: string,\n ) => (Promise<void> | void) | undefined;\n onArchive?: ((threadId: string) => Promise<void> | void) | undefined;\n onUnarchive?: ((threadId: string) => Promise<void> | void) | undefined;\n onDelete?: ((threadId: string) => Promise<void> | void) | undefined;\n};\n\nexport type ExternalStoreMessageConverter<T> = (\n message: T,\n idx: number,\n) => ThreadMessageLike;\n\ntype ExternalStoreMessageConverterAdapter<T> = {\n convertMessage: ExternalStoreMessageConverter<T>;\n};\n\ntype ExternalStoreAdapterBase<T> = {\n isDisabled?: boolean | undefined;\n isRunning?: boolean | undefined;\n messages: T[];\n suggestions?: readonly ThreadSuggestion[] | undefined;\n extras?: unknown;\n\n setMessages?: ((messages: T[]) => void) | undefined;\n onNew: (message: AppendMessage) => Promise<void>;\n onEdit?: ((message: AppendMessage) => Promise<void>) | undefined;\n onReload?: ((parentId: string | null) => Promise<void>) | undefined;\n onCancel?: (() => Promise<void>) | undefined;\n onAddToolResult?:\n | ((options: AddToolResultOptions) => Promise<void> | void)\n | undefined;\n convertMessage?: ExternalStoreMessageConverter<T> | undefined;\n adapters?:\n | {\n attachments?: AttachmentAdapter | undefined;\n speech?: SpeechSynthesisAdapter | undefined;\n feedback?: FeedbackAdapter | undefined;\n threadList?: ExternalStoreThreadListAdapter | undefined;\n }\n | undefined;\n unstable_capabilities?:\n | {\n copy?: boolean | undefined;\n }\n | undefined;\n};\n\nexport type ExternalStoreAdapter<T = ThreadMessage> =\n ExternalStoreAdapterBase<T> &\n (T extends ThreadMessage\n ? object\n : ExternalStoreMessageConverterAdapter<T>);\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ExternalStoreRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/external-store/ExternalStoreRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
1
|
+
{"version":3,"file":"ExternalStoreRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/external-store/ExternalStoreRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAS9D,qBAAa,wBAAyB,SAAQ,wBAAwB;IACpE,SAAgB,UAAU,qCAAC;IAE3B,OAAO,CAAC,MAAM,CAA4B;gBAE9B,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC;IAcrC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC;CAKjD"}
|
@@ -28,9 +28,6 @@ var import_ExternalStoreThreadListRuntimeCore = require("./ExternalStoreThreadLi
|
|
28
28
|
var import_ExternalStoreThreadRuntimeCore = require("./ExternalStoreThreadRuntimeCore.cjs");
|
29
29
|
var getThreadListAdapter = (store) => {
|
30
30
|
return {
|
31
|
-
threadId: store.threadId,
|
32
|
-
onSwitchToNewThread: store.onSwitchToNewThread,
|
33
|
-
onSwitchToThread: store.onSwitchToThread,
|
34
31
|
...store.adapters?.threadList
|
35
32
|
};
|
36
33
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/external-store/ExternalStoreRuntimeCore.tsx"],"sourcesContent":["import { BaseAssistantRuntimeCore } from \"../../internal\";\nimport { ExternalStoreThreadListRuntimeCore } from \"./ExternalStoreThreadListRuntimeCore\";\nimport { ExternalStoreAdapter } from \"./ExternalStoreAdapter\";\nimport { ExternalStoreThreadRuntimeCore } from \"./ExternalStoreThreadRuntimeCore\";\n\nconst getThreadListAdapter = (store: ExternalStoreAdapter<any>) => {\n return {\n
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/external-store/ExternalStoreRuntimeCore.tsx"],"sourcesContent":["import { BaseAssistantRuntimeCore } from \"../../internal\";\nimport { ExternalStoreThreadListRuntimeCore } from \"./ExternalStoreThreadListRuntimeCore\";\nimport { ExternalStoreAdapter } from \"./ExternalStoreAdapter\";\nimport { ExternalStoreThreadRuntimeCore } from \"./ExternalStoreThreadRuntimeCore\";\n\nconst getThreadListAdapter = (store: ExternalStoreAdapter<any>) => {\n return {\n ...store.adapters?.threadList,\n };\n};\n\nexport class ExternalStoreRuntimeCore extends BaseAssistantRuntimeCore {\n public readonly threadList;\n\n private _store: ExternalStoreAdapter<any>;\n\n constructor(store: ExternalStoreAdapter<any>) {\n super();\n this._store = store;\n this.threadList = new ExternalStoreThreadListRuntimeCore(\n getThreadListAdapter(store),\n (threadId) =>\n new ExternalStoreThreadRuntimeCore(\n this._proxyConfigProvider,\n threadId,\n this._store,\n ),\n );\n }\n\n public setStore(store: ExternalStoreAdapter<any>) {\n this._store = store;\n this.threadList.setAdapter(getThreadListAdapter(store));\n this.threadList.mainThread.setStore(store);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAyC;AACzC,gDAAmD;AAEnD,4CAA+C;AAE/C,IAAM,uBAAuB,CAAC,UAAqC;AACjE,SAAO;AAAA,IACL,GAAG,MAAM,UAAU;AAAA,EACrB;AACF;AAEO,IAAM,2BAAN,cAAuC,yCAAyB;AAAA,EACrD;AAAA,EAER;AAAA,EAER,YAAY,OAAkC;AAC5C,UAAM;AACN,SAAK,SAAS;AACd,SAAK,aAAa,IAAI;AAAA,MACpB,qBAAqB,KAAK;AAAA,MAC1B,CAAC,aACC,IAAI;AAAA,QACF,KAAK;AAAA,QACL;AAAA,QACA,KAAK;AAAA,MACP;AAAA,IACJ;AAAA,EACF;AAAA,EAEO,SAAS,OAAkC;AAChD,SAAK,SAAS;AACd,SAAK,WAAW,WAAW,qBAAqB,KAAK,CAAC;AACtD,SAAK,WAAW,WAAW,SAAS,KAAK;AAAA,EAC3C;AACF;","names":[]}
|
@@ -4,9 +4,6 @@ import { ExternalStoreThreadListRuntimeCore } from "./ExternalStoreThreadListRun
|
|
4
4
|
import { ExternalStoreThreadRuntimeCore } from "./ExternalStoreThreadRuntimeCore.mjs";
|
5
5
|
var getThreadListAdapter = (store) => {
|
6
6
|
return {
|
7
|
-
threadId: store.threadId,
|
8
|
-
onSwitchToNewThread: store.onSwitchToNewThread,
|
9
|
-
onSwitchToThread: store.onSwitchToThread,
|
10
7
|
...store.adapters?.threadList
|
11
8
|
};
|
12
9
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/external-store/ExternalStoreRuntimeCore.tsx"],"sourcesContent":["import { BaseAssistantRuntimeCore } from \"../../internal\";\nimport { ExternalStoreThreadListRuntimeCore } from \"./ExternalStoreThreadListRuntimeCore\";\nimport { ExternalStoreAdapter } from \"./ExternalStoreAdapter\";\nimport { ExternalStoreThreadRuntimeCore } from \"./ExternalStoreThreadRuntimeCore\";\n\nconst getThreadListAdapter = (store: ExternalStoreAdapter<any>) => {\n return {\n
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/external-store/ExternalStoreRuntimeCore.tsx"],"sourcesContent":["import { BaseAssistantRuntimeCore } from \"../../internal\";\nimport { ExternalStoreThreadListRuntimeCore } from \"./ExternalStoreThreadListRuntimeCore\";\nimport { ExternalStoreAdapter } from \"./ExternalStoreAdapter\";\nimport { ExternalStoreThreadRuntimeCore } from \"./ExternalStoreThreadRuntimeCore\";\n\nconst getThreadListAdapter = (store: ExternalStoreAdapter<any>) => {\n return {\n ...store.adapters?.threadList,\n };\n};\n\nexport class ExternalStoreRuntimeCore extends BaseAssistantRuntimeCore {\n public readonly threadList;\n\n private _store: ExternalStoreAdapter<any>;\n\n constructor(store: ExternalStoreAdapter<any>) {\n super();\n this._store = store;\n this.threadList = new ExternalStoreThreadListRuntimeCore(\n getThreadListAdapter(store),\n (threadId) =>\n new ExternalStoreThreadRuntimeCore(\n this._proxyConfigProvider,\n threadId,\n this._store,\n ),\n );\n }\n\n public setStore(store: ExternalStoreAdapter<any>) {\n this._store = store;\n this.threadList.setAdapter(getThreadListAdapter(store));\n this.threadList.mainThread.setStore(store);\n }\n}\n"],"mappings":";AAAA,SAAS,gCAAgC;AACzC,SAAS,0CAA0C;AAEnD,SAAS,sCAAsC;AAE/C,IAAM,uBAAuB,CAAC,UAAqC;AACjE,SAAO;AAAA,IACL,GAAG,MAAM,UAAU;AAAA,EACrB;AACF;AAEO,IAAM,2BAAN,cAAuC,yBAAyB;AAAA,EACrD;AAAA,EAER;AAAA,EAER,YAAY,OAAkC;AAC5C,UAAM;AACN,SAAK,SAAS;AACd,SAAK,aAAa,IAAI;AAAA,MACpB,qBAAqB,KAAK;AAAA,MAC1B,CAAC,aACC,IAAI;AAAA,QACF,KAAK;AAAA,QACL;AAAA,QACA,KAAK;AAAA,MACP;AAAA,IACJ;AAAA,EACF;AAAA,EAEO,SAAS,OAAkC;AAChD,SAAK,SAAS;AACd,SAAK,WAAW,WAAW,qBAAqB,KAAK,CAAC;AACtD,SAAK,WAAW,WAAW,SAAS,KAAK;AAAA,EAC3C;AACF;","names":[]}
|
@@ -6,24 +6,22 @@ export type ExternalStoreThreadFactory = (threadId: string) => ExternalStoreThre
|
|
6
6
|
export declare class ExternalStoreThreadListRuntimeCore implements ThreadListRuntimeCore {
|
7
7
|
private adapter;
|
8
8
|
private threadFactory;
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
get archivedThreads(): readonly
|
14
|
-
threadId: string;
|
15
|
-
title?: string;
|
16
|
-
}>[];
|
9
|
+
private _threads;
|
10
|
+
private _archivedThreads;
|
11
|
+
get newThread(): undefined;
|
12
|
+
get threads(): readonly string[];
|
13
|
+
get archivedThreads(): readonly string[];
|
17
14
|
private _mainThread;
|
18
15
|
get mainThread(): ExternalStoreThreadRuntimeCore;
|
19
16
|
constructor(adapter: ExternalStoreThreadListAdapter | undefined, threadFactory: ExternalStoreThreadFactory);
|
20
17
|
getThreadMetadataById(threadId: string): Readonly<{
|
21
18
|
threadId: string;
|
22
|
-
|
19
|
+
state: "archived" | "regular" | "new" | "deleted";
|
20
|
+
title?: string | undefined;
|
23
21
|
}> | undefined;
|
24
22
|
setAdapter(adapter: ExternalStoreThreadListAdapter): void;
|
25
|
-
switchToThread(threadId: string): void
|
26
|
-
switchToNewThread(): void
|
23
|
+
switchToThread(threadId: string): Promise<void>;
|
24
|
+
switchToNewThread(): Promise<void>;
|
27
25
|
rename(threadId: string, newTitle: string): Promise<void>;
|
28
26
|
archive(threadId: string): Promise<void>;
|
29
27
|
unarchive(threadId: string): Promise<void>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ExternalStoreThreadListRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAExE,MAAM,MAAM,0BAA0B,GAAG,CACvC,QAAQ,EAAE,MAAM,KACb,8BAA8B,CAAC;AAKpC,qBAAa,kCACX,YAAW,qBAAqB;
|
1
|
+
{"version":3,"file":"ExternalStoreThreadListRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAExE,MAAM,MAAM,0BAA0B,GAAG,CACvC,QAAQ,EAAE,MAAM,KACb,8BAA8B,CAAC;AAKpC,qBAAa,kCACX,YAAW,qBAAqB;IAwB9B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,aAAa;IAvBvB,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,gBAAgB,CAAyB;IAEjD,IAAW,SAAS,cAEnB;IAED,IAAW,OAAO,sBAEjB;IAED,IAAW,eAAe,sBAEzB;IAED,OAAO,CAAC,WAAW,CAAiC;IAEpD,IAAW,UAAU,mCAEpB;gBAGS,OAAO,EAAE,8BAA8B,YAAK,EAC5C,aAAa,EAAE,0BAA0B;IAK5C,qBAAqB,CAAC,QAAQ,EAAE,MAAM;;;;;IAUtC,UAAU,CAAC,OAAO,EAAE,8BAA8B;IAuD5C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUlC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD,OAAO,CAAC,cAAc,CAAyB;IAExC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;IAKnD,OAAO,CAAC,kBAAkB;CAG3B"}
|
@@ -31,21 +31,26 @@ var ExternalStoreThreadListRuntimeCore = class {
|
|
31
31
|
this.threadFactory = threadFactory;
|
32
32
|
this._mainThread = this.threadFactory(DEFAULT_THREAD_ID);
|
33
33
|
}
|
34
|
+
_threads = [];
|
35
|
+
_archivedThreads = [];
|
36
|
+
get newThread() {
|
37
|
+
return void 0;
|
38
|
+
}
|
34
39
|
get threads() {
|
35
|
-
return this.
|
40
|
+
return this._threads;
|
36
41
|
}
|
37
42
|
get archivedThreads() {
|
38
|
-
return this.
|
43
|
+
return this._archivedThreads;
|
39
44
|
}
|
40
45
|
_mainThread;
|
41
46
|
get mainThread() {
|
42
47
|
return this._mainThread;
|
43
48
|
}
|
44
49
|
getThreadMetadataById(threadId) {
|
45
|
-
for (const thread of this.threads) {
|
50
|
+
for (const thread of this.adapter.threads ?? []) {
|
46
51
|
if (thread.threadId === threadId) return thread;
|
47
52
|
}
|
48
|
-
for (const thread of this.archivedThreads) {
|
53
|
+
for (const thread of this.adapter.archivedThreads ?? []) {
|
49
54
|
if (thread.threadId === threadId) return thread;
|
50
55
|
}
|
51
56
|
return void 0;
|
@@ -62,15 +67,32 @@ var ExternalStoreThreadListRuntimeCore = class {
|
|
62
67
|
if (previousThreadId === newThreadId && previousThreads === newThreads && previousArchivedThreads === newArchivedThreads) {
|
63
68
|
return;
|
64
69
|
}
|
70
|
+
if (previousAdapter.threads !== newThreads) {
|
71
|
+
this._threads = this.adapter.threads?.map((t) => t.threadId) ?? EMPTY_ARRAY;
|
72
|
+
}
|
73
|
+
if (previousAdapter.archivedThreads !== newArchivedThreads) {
|
74
|
+
this._archivedThreads = this.adapter.archivedThreads?.map((t) => t.threadId) ?? EMPTY_ARRAY;
|
75
|
+
}
|
65
76
|
if (previousAdapter.threadId !== newThreadId) {
|
66
77
|
this._mainThread._notifyEventSubscribers("switched-away");
|
67
78
|
this._mainThread = this.threadFactory(newThreadId);
|
68
79
|
this._mainThread._notifyEventSubscribers("switched-to");
|
69
80
|
}
|
81
|
+
const previousMainState = this._mainThread.metadata.state;
|
82
|
+
const mainState = this.archivedThreads.includes(
|
83
|
+
this._mainThread.metadata.threadId
|
84
|
+
) ? "archived" : "regular";
|
85
|
+
if (previousMainState !== mainState) {
|
86
|
+
if (mainState === "archived") {
|
87
|
+
this._mainThread.metadata.archive();
|
88
|
+
} else {
|
89
|
+
this._mainThread.metadata.unarchive();
|
90
|
+
}
|
91
|
+
}
|
70
92
|
this._notifySubscribers();
|
71
93
|
}
|
72
|
-
switchToThread(threadId) {
|
73
|
-
if (this._mainThread?.threadId === threadId) return;
|
94
|
+
async switchToThread(threadId) {
|
95
|
+
if (this._mainThread?.metadata.threadId === threadId) return;
|
74
96
|
const onSwitchToThread = this.adapter.onSwitchToThread;
|
75
97
|
if (!onSwitchToThread)
|
76
98
|
throw new Error(
|
@@ -78,7 +100,7 @@ var ExternalStoreThreadListRuntimeCore = class {
|
|
78
100
|
);
|
79
101
|
onSwitchToThread(threadId);
|
80
102
|
}
|
81
|
-
switchToNewThread() {
|
103
|
+
async switchToNewThread() {
|
82
104
|
const onSwitchToNewThread = this.adapter.onSwitchToNewThread;
|
83
105
|
if (!onSwitchToNewThread)
|
84
106
|
throw new Error(
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx"],"sourcesContent":["import type { Unsubscribe } from \"../../types\";\nimport { ExternalStoreThreadRuntimeCore } from \"./ExternalStoreThreadRuntimeCore\";\nimport { ThreadListRuntimeCore } from \"../core/ThreadListRuntimeCore\";\nimport { ExternalStoreThreadListAdapter } from \"./ExternalStoreAdapter\";\n\nexport type ExternalStoreThreadFactory = (\n threadId: string,\n) => ExternalStoreThreadRuntimeCore;\n\nconst EMPTY_ARRAY = Object.freeze([]);\nconst DEFAULT_THREAD_ID = \"DEFAULT_THREAD_ID\";\n\nexport class ExternalStoreThreadListRuntimeCore\n implements ThreadListRuntimeCore\n{\n public get threads() {\n return this.
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx"],"sourcesContent":["import type { Unsubscribe } from \"../../types\";\nimport { ExternalStoreThreadRuntimeCore } from \"./ExternalStoreThreadRuntimeCore\";\nimport { ThreadListRuntimeCore } from \"../core/ThreadListRuntimeCore\";\nimport { ExternalStoreThreadListAdapter } from \"./ExternalStoreAdapter\";\n\nexport type ExternalStoreThreadFactory = (\n threadId: string,\n) => ExternalStoreThreadRuntimeCore;\n\nconst EMPTY_ARRAY = Object.freeze([]);\nconst DEFAULT_THREAD_ID = \"DEFAULT_THREAD_ID\";\n\nexport class ExternalStoreThreadListRuntimeCore\n implements ThreadListRuntimeCore\n{\n private _threads: readonly string[] = [];\n private _archivedThreads: readonly string[] = [];\n\n public get newThread() {\n return undefined;\n }\n\n public get threads() {\n return this._threads;\n }\n\n public get archivedThreads() {\n return this._archivedThreads;\n }\n\n private _mainThread: ExternalStoreThreadRuntimeCore;\n\n public get mainThread() {\n return this._mainThread;\n }\n\n constructor(\n private adapter: ExternalStoreThreadListAdapter = {},\n private threadFactory: ExternalStoreThreadFactory,\n ) {\n this._mainThread = this.threadFactory(DEFAULT_THREAD_ID);\n }\n\n public getThreadMetadataById(threadId: string) {\n for (const thread of this.adapter.threads ?? []) {\n if (thread.threadId === threadId) return thread;\n }\n for (const thread of this.adapter.archivedThreads ?? []) {\n if (thread.threadId === threadId) return thread;\n }\n return undefined;\n }\n\n public setAdapter(adapter: ExternalStoreThreadListAdapter) {\n const previousAdapter = this.adapter;\n this.adapter = adapter;\n\n const newThreadId = adapter.threadId ?? DEFAULT_THREAD_ID;\n const newThreads = adapter.threads ?? EMPTY_ARRAY;\n const newArchivedThreads = adapter.archivedThreads ?? EMPTY_ARRAY;\n\n const previousThreadId = previousAdapter.threadId ?? DEFAULT_THREAD_ID;\n const previousThreads = previousAdapter.threads ?? EMPTY_ARRAY;\n const previousArchivedThreads =\n previousAdapter.archivedThreads ?? EMPTY_ARRAY;\n\n if (\n previousThreadId === newThreadId &&\n previousThreads === newThreads &&\n previousArchivedThreads === newArchivedThreads\n ) {\n return;\n }\n\n if (previousAdapter.threads !== newThreads) {\n this._threads =\n this.adapter.threads?.map((t) => t.threadId) ?? EMPTY_ARRAY;\n }\n\n if (previousAdapter.archivedThreads !== newArchivedThreads) {\n this._archivedThreads =\n this.adapter.archivedThreads?.map((t) => t.threadId) ?? EMPTY_ARRAY;\n }\n\n if (previousAdapter.threadId !== newThreadId) {\n this._mainThread._notifyEventSubscribers(\"switched-away\");\n this._mainThread = this.threadFactory(newThreadId);\n this._mainThread._notifyEventSubscribers(\"switched-to\");\n }\n\n const previousMainState = this._mainThread.metadata.state;\n const mainState = this.archivedThreads.includes(\n this._mainThread.metadata.threadId,\n )\n ? \"archived\"\n : \"regular\";\n\n if (previousMainState !== mainState) {\n if (mainState === \"archived\") {\n this._mainThread.metadata.archive();\n } else {\n this._mainThread.metadata.unarchive();\n }\n }\n\n this._notifySubscribers();\n }\n\n public async switchToThread(threadId: string): Promise<void> {\n if (this._mainThread?.metadata.threadId === threadId) return;\n const onSwitchToThread = this.adapter.onSwitchToThread;\n if (!onSwitchToThread)\n throw new Error(\n \"External store adapter does not support switching to thread\",\n );\n onSwitchToThread(threadId);\n }\n\n public async switchToNewThread(): Promise<void> {\n const onSwitchToNewThread = this.adapter.onSwitchToNewThread;\n if (!onSwitchToNewThread)\n throw new Error(\n \"External store adapter does not support switching to new thread\",\n );\n\n onSwitchToNewThread();\n }\n\n public async rename(threadId: string, newTitle: string): Promise<void> {\n const onRename = this.adapter.onRename;\n if (!onRename)\n throw new Error(\"External store adapter does not support renaming\");\n\n onRename(threadId, newTitle);\n }\n\n public async archive(threadId: string): Promise<void> {\n const onArchive = this.adapter.onArchive;\n if (!onArchive)\n throw new Error(\"External store adapter does not support archiving\");\n\n onArchive(threadId);\n }\n\n public async unarchive(threadId: string): Promise<void> {\n const onUnarchive = this.adapter.onUnarchive;\n if (!onUnarchive)\n throw new Error(\"External store adapter does not support unarchiving\");\n\n onUnarchive(threadId);\n }\n\n public async delete(threadId: string): Promise<void> {\n const onDelete = this.adapter.onDelete;\n if (!onDelete)\n throw new Error(\"External store adapter does not support deleting\");\n\n onDelete(threadId);\n }\n\n private _subscriptions = new Set<() => void>();\n\n public subscribe(callback: () => void): Unsubscribe {\n this._subscriptions.add(callback);\n return () => this._subscriptions.delete(callback);\n }\n\n private _notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n}\n"],"mappings":"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","names":[]}
|