@assistant-ui/react 0.10.9 → 0.10.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/ComposerRuntime.js.map +1 -1
- package/dist/api/ThreadListItemRuntime.js +5 -0
- package/dist/api/ThreadListItemRuntime.js.map +1 -1
- package/dist/dist/api/AssistantRuntime.d.ts +2636 -0
- package/dist/dist/api/AssistantRuntime.d.ts.map +1 -0
- package/dist/dist/api/AttachmentRuntime.d.ts +46 -0
- package/dist/dist/api/AttachmentRuntime.d.ts.map +1 -0
- package/dist/dist/api/ComposerRuntime.d.ts +88 -0
- package/dist/dist/api/ComposerRuntime.d.ts.map +1 -0
- package/dist/dist/api/ContentPartRuntime.d.ts +13 -0
- package/dist/dist/api/ContentPartRuntime.d.ts.map +1 -0
- package/dist/dist/api/MessageRuntime.d.ts +85 -0
- package/dist/dist/api/MessageRuntime.d.ts.map +1 -0
- package/dist/dist/api/ThreadListItemRuntime.d.ts +20 -0
- package/dist/dist/api/ThreadListItemRuntime.d.ts.map +1 -0
- package/dist/dist/api/ThreadListRuntime.d.ts +1316 -0
- package/dist/dist/api/ThreadListRuntime.d.ts.map +1 -0
- package/dist/dist/api/ThreadRuntime.d.ts +319 -0
- package/dist/dist/api/ThreadRuntime.d.ts.map +1 -0
- package/dist/dist/api/index.d.ts +1 -0
- package/dist/dist/api/index.d.ts.map +1 -0
- package/dist/dist/api/subscribable/BaseSubject.d.ts +11 -0
- package/dist/dist/api/subscribable/BaseSubject.d.ts.map +1 -0
- package/dist/dist/api/subscribable/EventSubscriptionSubject.d.ts +15 -0
- package/dist/dist/api/subscribable/EventSubscriptionSubject.d.ts.map +1 -0
- package/dist/dist/api/subscribable/LazyMemoizeSubject.d.ts +17 -0
- package/dist/dist/api/subscribable/LazyMemoizeSubject.d.ts.map +1 -0
- package/dist/dist/api/subscribable/NestedSubscriptionSubject.d.ts +16 -0
- package/dist/dist/api/subscribable/NestedSubscriptionSubject.d.ts.map +1 -0
- package/dist/dist/api/subscribable/SKIP_UPDATE.d.ts +2 -0
- package/dist/dist/api/subscribable/SKIP_UPDATE.d.ts.map +1 -0
- package/dist/dist/api/subscribable/ShallowMemoizeSubject.d.ts +17 -0
- package/dist/dist/api/subscribable/ShallowMemoizeSubject.d.ts.map +1 -0
- package/dist/dist/api/subscribable/shallowEqual.d.ts +2 -0
- package/dist/dist/api/subscribable/shallowEqual.d.ts.map +1 -0
- package/dist/dist/cloud/AssistantCloud.d.ts +27 -0
- package/dist/dist/cloud/AssistantCloud.d.ts.map +1 -0
- package/dist/dist/cloud/AssistantCloudAPI.d.ts +47 -0
- package/dist/dist/cloud/AssistantCloudAPI.d.ts.map +1 -0
- package/dist/dist/cloud/AssistantCloudAuthStrategy.d.ts +47 -0
- package/dist/dist/cloud/AssistantCloudAuthStrategy.d.ts.map +1 -0
- package/dist/dist/cloud/AssistantCloudAuthTokens.d.ts +7 -0
- package/dist/dist/cloud/AssistantCloudAuthTokens.d.ts.map +1 -0
- package/dist/dist/cloud/AssistantCloudRuns.d.ts +7 -0
- package/dist/dist/cloud/AssistantCloudRuns.d.ts.map +1 -0
- package/dist/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts +13 -0
- package/dist/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -0
- package/dist/dist/cloud/AssistantCloudThreadMessages.d.ts +8 -0
- package/dist/dist/cloud/AssistantCloudThreadMessages.d.ts.map +1 -0
- package/dist/dist/cloud/AssistantCloudThreads.d.ts +15 -0
- package/dist/dist/cloud/AssistantCloudThreads.d.ts.map +1 -0
- package/dist/dist/cloud/auiV0.d.ts +49 -0
- package/dist/dist/cloud/auiV0.d.ts.map +1 -0
- package/dist/dist/cloud/index.d.ts +4 -0
- package/dist/dist/cloud/index.d.ts.map +1 -0
- package/dist/dist/cloud/useCloudThreadListRuntime.d.ts +2637 -0
- package/dist/dist/cloud/useCloudThreadListRuntime.d.ts.map +1 -0
- package/dist/dist/context/ReadonlyStore.d.ts +2 -0
- package/dist/dist/context/ReadonlyStore.d.ts.map +1 -0
- package/dist/dist/context/index.d.ts +3 -0
- package/dist/dist/context/index.d.ts.map +1 -0
- package/dist/dist/context/providers/AssistantRuntimeProvider.d.ts +9 -0
- package/dist/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -0
- package/dist/dist/context/providers/AttachmentRuntimeProvider.d.ts +5 -0
- package/dist/dist/context/providers/AttachmentRuntimeProvider.d.ts.map +1 -0
- package/dist/dist/context/providers/ContentPartRuntimeProvider.d.ts +5 -0
- package/dist/dist/context/providers/ContentPartRuntimeProvider.d.ts.map +1 -0
- package/dist/dist/context/providers/MessageRuntimeProvider.d.ts +5 -0
- package/dist/dist/context/providers/MessageRuntimeProvider.d.ts.map +1 -0
- package/dist/dist/context/providers/TextContentPartProvider.d.ts +6 -0
- package/dist/dist/context/providers/TextContentPartProvider.d.ts.map +1 -0
- package/dist/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +5 -0
- package/dist/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -0
- package/dist/dist/context/providers/ThreadRuntimeProvider.d.ts +6 -0
- package/dist/dist/context/providers/ThreadRuntimeProvider.d.ts.map +1 -0
- package/dist/dist/context/providers/ThreadViewportProvider.d.ts +4 -0
- package/dist/dist/context/providers/ThreadViewportProvider.d.ts.map +1 -0
- package/dist/dist/context/providers/index.d.ts +4 -0
- package/dist/dist/context/providers/index.d.ts.map +1 -0
- package/dist/dist/context/react/AssistantContext.d.ts +7 -0
- package/dist/dist/context/react/AssistantContext.d.ts.map +1 -0
- package/dist/dist/context/react/AttachmentContext.d.ts +10 -0
- package/dist/dist/context/react/AttachmentContext.d.ts.map +1 -0
- package/dist/dist/context/react/ComposerContext.d.ts +3 -0
- package/dist/dist/context/react/ComposerContext.d.ts.map +1 -0
- package/dist/dist/context/react/ContentPartContext.d.ts +4 -0
- package/dist/dist/context/react/ContentPartContext.d.ts.map +1 -0
- package/dist/dist/context/react/MessageContext.d.ts +7 -0
- package/dist/dist/context/react/MessageContext.d.ts.map +1 -0
- package/dist/dist/context/react/ThreadContext.d.ts +6 -0
- package/dist/dist/context/react/ThreadContext.d.ts.map +1 -0
- package/dist/dist/context/react/ThreadListItemContext.d.ts +4 -0
- package/dist/dist/context/react/ThreadListItemContext.d.ts.map +1 -0
- package/dist/dist/context/react/ThreadViewportContext.d.ts +4 -0
- package/dist/dist/context/react/ThreadViewportContext.d.ts.map +1 -0
- package/dist/dist/context/react/index.d.ts +27 -0
- package/dist/dist/context/react/index.d.ts.map +1 -0
- package/dist/dist/context/react/utils/createContextHook.d.ts +2 -0
- package/dist/dist/context/react/utils/createContextHook.d.ts.map +1 -0
- package/dist/dist/context/react/utils/createContextStoreHook.d.ts +5 -0
- package/dist/dist/context/react/utils/createContextStoreHook.d.ts.map +1 -0
- package/dist/dist/context/react/utils/createStateHookForRuntime.d.ts +2 -0
- package/dist/dist/context/react/utils/createStateHookForRuntime.d.ts.map +1 -0
- package/dist/dist/context/react/utils/ensureBinding.d.ts +2 -0
- package/dist/dist/context/react/utils/ensureBinding.d.ts.map +1 -0
- package/dist/dist/context/react/utils/useRuntimeState.d.ts +3 -0
- package/dist/dist/context/react/utils/useRuntimeState.d.ts.map +1 -0
- package/dist/dist/context/stores/AssistantToolUIs.d.ts +2 -0
- package/dist/dist/context/stores/AssistantToolUIs.d.ts.map +1 -0
- package/dist/dist/context/stores/MessageUtils.d.ts +2 -0
- package/dist/dist/context/stores/MessageUtils.d.ts.map +1 -0
- package/dist/dist/context/stores/ThreadViewport.d.ts +6 -0
- package/dist/dist/context/stores/ThreadViewport.d.ts.map +1 -0
- package/dist/dist/context/stores/index.d.ts +1 -0
- package/dist/dist/context/stores/index.d.ts.map +1 -0
- package/dist/dist/index.d.ts +8 -0
- package/dist/dist/index.d.ts.map +1 -0
- package/dist/dist/internal.d.ts +13 -0
- package/dist/dist/internal.d.ts.map +1 -0
- package/dist/dist/model-context/ModelContextTypes.d.ts +2 -0
- package/dist/dist/model-context/ModelContextTypes.d.ts.map +1 -0
- package/dist/dist/model-context/index.d.ts +11 -0
- package/dist/dist/model-context/index.d.ts.map +1 -0
- package/dist/dist/model-context/makeAssistantTool.d.ts +5 -0
- package/dist/dist/model-context/makeAssistantTool.d.ts.map +1 -0
- package/dist/dist/model-context/makeAssistantToolUI.d.ts +5 -0
- package/dist/dist/model-context/makeAssistantToolUI.d.ts.map +1 -0
- package/dist/dist/model-context/makeAssistantVisible.d.ts +4 -0
- package/dist/dist/model-context/makeAssistantVisible.d.ts.map +1 -0
- package/dist/dist/model-context/tool.d.ts +2 -0
- package/dist/dist/model-context/tool.d.ts.map +1 -0
- package/dist/dist/model-context/useAssistantInstructions.d.ts +2 -0
- package/dist/dist/model-context/useAssistantInstructions.d.ts.map +1 -0
- package/dist/dist/model-context/useAssistantTool.d.ts +2 -0
- package/dist/dist/model-context/useAssistantTool.d.ts.map +1 -0
- package/dist/dist/model-context/useAssistantToolUI.d.ts +2 -0
- package/dist/dist/model-context/useAssistantToolUI.d.ts.map +1 -0
- package/dist/dist/model-context/useInlineRender.d.ts +2 -0
- package/dist/dist/model-context/useInlineRender.d.ts.map +1 -0
- package/dist/dist/primitives/actionBar/ActionBarCopy.d.ts +2 -0
- package/dist/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -0
- package/dist/dist/primitives/actionBar/ActionBarEdit.d.ts +2 -0
- package/dist/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -0
- package/dist/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +2 -0
- package/dist/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -0
- package/dist/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +2 -0
- package/dist/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -0
- package/dist/dist/primitives/actionBar/ActionBarReload.d.ts +2 -0
- package/dist/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -0
- package/dist/dist/primitives/actionBar/ActionBarRoot.d.ts +2 -0
- package/dist/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -0
- package/dist/dist/primitives/actionBar/ActionBarSpeak.d.ts +2 -0
- package/dist/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -0
- package/dist/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +2 -0
- package/dist/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -0
- package/dist/dist/primitives/actionBar/index.d.ts +10 -0
- package/dist/dist/primitives/actionBar/index.d.ts.map +1 -0
- package/dist/dist/primitives/actionBar/useActionBarFloatStatus.d.ts +7 -0
- package/dist/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -0
- package/dist/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +2 -0
- package/dist/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -0
- package/dist/dist/primitives/assistantModal/AssistantModalContent.d.ts +2 -0
- package/dist/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -0
- package/dist/dist/primitives/assistantModal/AssistantModalRoot.d.ts +12 -0
- package/dist/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -0
- package/dist/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +2 -0
- package/dist/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -0
- package/dist/dist/primitives/assistantModal/index.d.ts +6 -0
- package/dist/dist/primitives/assistantModal/index.d.ts.map +1 -0
- package/dist/dist/primitives/assistantModal/scope.d.ts +4 -0
- package/dist/dist/primitives/assistantModal/scope.d.ts.map +1 -0
- package/dist/dist/primitives/attachment/AttachmentName.d.ts +5 -0
- package/dist/dist/primitives/attachment/AttachmentName.d.ts.map +1 -0
- package/dist/dist/primitives/attachment/AttachmentRemove.d.ts +2 -0
- package/dist/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -0
- package/dist/dist/primitives/attachment/AttachmentRoot.d.ts +2 -0
- package/dist/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -0
- package/dist/dist/primitives/attachment/AttachmentThumb.d.ts +2 -0
- package/dist/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -0
- package/dist/dist/primitives/attachment/index.d.ts +6 -0
- package/dist/dist/primitives/attachment/index.d.ts.map +1 -0
- package/dist/dist/primitives/branchPicker/BranchPickerCount.d.ts +5 -0
- package/dist/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -0
- package/dist/dist/primitives/branchPicker/BranchPickerNext.d.ts +2 -0
- package/dist/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -0
- package/dist/dist/primitives/branchPicker/BranchPickerNumber.d.ts +5 -0
- package/dist/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -0
- package/dist/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +2 -0
- package/dist/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -0
- package/dist/dist/primitives/branchPicker/BranchPickerRoot.d.ts +2 -0
- package/dist/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -0
- package/dist/dist/primitives/branchPicker/index.d.ts +7 -0
- package/dist/dist/primitives/branchPicker/index.d.ts.map +1 -0
- package/dist/dist/primitives/composer/ComposerAddAttachment.d.ts +2 -0
- package/dist/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -0
- package/dist/dist/primitives/composer/ComposerAttachments.d.ts +7 -0
- package/dist/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -0
- package/dist/dist/primitives/composer/ComposerCancel.d.ts +2 -0
- package/dist/dist/primitives/composer/ComposerCancel.d.ts.map +1 -0
- package/dist/dist/primitives/composer/ComposerIf.d.ts +8 -0
- package/dist/dist/primitives/composer/ComposerIf.d.ts.map +1 -0
- package/dist/dist/primitives/composer/ComposerInput.d.ts +2 -0
- package/dist/dist/primitives/composer/ComposerInput.d.ts.map +1 -0
- package/dist/dist/primitives/composer/ComposerRoot.d.ts +2 -0
- package/dist/dist/primitives/composer/ComposerRoot.d.ts.map +1 -0
- package/dist/dist/primitives/composer/ComposerSend.d.ts +3 -0
- package/dist/dist/primitives/composer/ComposerSend.d.ts.map +1 -0
- package/dist/dist/primitives/composer/index.d.ts +9 -0
- package/dist/dist/primitives/composer/index.d.ts.map +1 -0
- package/dist/dist/primitives/contentPart/ContentPartImage.d.ts +2 -0
- package/dist/dist/primitives/contentPart/ContentPartImage.d.ts.map +1 -0
- package/dist/dist/primitives/contentPart/ContentPartInProgress.d.ts +7 -0
- package/dist/dist/primitives/contentPart/ContentPartInProgress.d.ts.map +1 -0
- package/dist/dist/primitives/contentPart/ContentPartText.d.ts +2 -0
- package/dist/dist/primitives/contentPart/ContentPartText.d.ts.map +1 -0
- package/dist/dist/primitives/contentPart/index.d.ts +5 -0
- package/dist/dist/primitives/contentPart/index.d.ts.map +1 -0
- package/dist/dist/primitives/contentPart/useContentPartFile.d.ts +2 -0
- package/dist/dist/primitives/contentPart/useContentPartFile.d.ts.map +1 -0
- package/dist/dist/primitives/contentPart/useContentPartImage.d.ts +2 -0
- package/dist/dist/primitives/contentPart/useContentPartImage.d.ts.map +1 -0
- package/dist/dist/primitives/contentPart/useContentPartReasoning.d.ts +2 -0
- package/dist/dist/primitives/contentPart/useContentPartReasoning.d.ts.map +1 -0
- package/dist/dist/primitives/contentPart/useContentPartSource.d.ts +2 -0
- package/dist/dist/primitives/contentPart/useContentPartSource.d.ts.map +1 -0
- package/dist/dist/primitives/contentPart/useContentPartText.d.ts +2 -0
- package/dist/dist/primitives/contentPart/useContentPartText.d.ts.map +1 -0
- package/dist/dist/primitives/error/ErrorMessage.d.ts +2 -0
- package/dist/dist/primitives/error/ErrorMessage.d.ts.map +1 -0
- package/dist/dist/primitives/error/ErrorRoot.d.ts +2 -0
- package/dist/dist/primitives/error/ErrorRoot.d.ts.map +1 -0
- package/dist/dist/primitives/error/index.d.ts +4 -0
- package/dist/dist/primitives/error/index.d.ts.map +1 -0
- package/dist/dist/primitives/index.d.ts +19 -0
- package/dist/dist/primitives/index.d.ts.map +1 -0
- package/dist/dist/primitives/message/MessageAttachments.d.ts +7 -0
- package/dist/dist/primitives/message/MessageAttachments.d.ts.map +1 -0
- package/dist/dist/primitives/message/MessageContent.d.ts +7 -0
- package/dist/dist/primitives/message/MessageContent.d.ts.map +1 -0
- package/dist/dist/primitives/message/MessageError.d.ts +7 -0
- package/dist/dist/primitives/message/MessageError.d.ts.map +1 -0
- package/dist/dist/primitives/message/MessageIf.d.ts +8 -0
- package/dist/dist/primitives/message/MessageIf.d.ts.map +1 -0
- package/dist/dist/primitives/message/MessageRoot.d.ts +2 -0
- package/dist/dist/primitives/message/MessageRoot.d.ts.map +1 -0
- package/dist/dist/primitives/message/index.d.ts +7 -0
- package/dist/dist/primitives/message/index.d.ts.map +1 -0
- package/dist/dist/primitives/thread/ThreadEmpty.d.ts +7 -0
- package/dist/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -0
- package/dist/dist/primitives/thread/ThreadIf.d.ts +8 -0
- package/dist/dist/primitives/thread/ThreadIf.d.ts.map +1 -0
- package/dist/dist/primitives/thread/ThreadMessages.d.ts +13 -0
- package/dist/dist/primitives/thread/ThreadMessages.d.ts.map +1 -0
- package/dist/dist/primitives/thread/ThreadRoot.d.ts +2 -0
- package/dist/dist/primitives/thread/ThreadRoot.d.ts.map +1 -0
- package/dist/dist/primitives/thread/ThreadScrollToBottom.d.ts +2 -0
- package/dist/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -0
- package/dist/dist/primitives/thread/ThreadSuggestion.d.ts +2 -0
- package/dist/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -0
- package/dist/dist/primitives/thread/ThreadViewport.d.ts +2 -0
- package/dist/dist/primitives/thread/ThreadViewport.d.ts.map +1 -0
- package/dist/dist/primitives/thread/index.d.ts +9 -0
- package/dist/dist/primitives/thread/index.d.ts.map +1 -0
- package/dist/dist/primitives/threadList/ThreadListItems.d.ts +8 -0
- package/dist/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -0
- package/dist/dist/primitives/threadList/ThreadListNew.d.ts +2 -0
- package/dist/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -0
- package/dist/dist/primitives/threadList/ThreadListRoot.d.ts +2 -0
- package/dist/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -0
- package/dist/dist/primitives/threadList/index.d.ts +5 -0
- package/dist/dist/primitives/threadList/index.d.ts.map +1 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +2 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +2 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +2 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemTitle.d.ts +7 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +2 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +2 -0
- package/dist/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -0
- package/dist/dist/primitives/threadListItem/index.d.ts +8 -0
- package/dist/dist/primitives/threadListItem/index.d.ts.map +1 -0
- package/dist/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts +6 -0
- package/dist/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts.map +1 -0
- package/dist/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.d.ts +10 -0
- package/dist/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.d.ts.map +1 -0
- package/dist/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.d.ts +19 -0
- package/dist/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.d.ts.map +1 -0
- package/dist/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.d.ts +19 -0
- package/dist/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.d.ts.map +1 -0
- package/dist/dist/runtimes/adapters/attachment/index.d.ts +5 -0
- package/dist/dist/runtimes/adapters/attachment/index.d.ts.map +1 -0
- package/dist/dist/runtimes/adapters/feedback/index.d.ts +1 -0
- package/dist/dist/runtimes/adapters/feedback/index.d.ts.map +1 -0
- package/dist/dist/runtimes/adapters/index.d.ts +3 -0
- package/dist/dist/runtimes/adapters/index.d.ts.map +1 -0
- package/dist/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.d.ts +12 -0
- package/dist/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.d.ts.map +1 -0
- package/dist/dist/runtimes/adapters/speech/index.d.ts +3 -0
- package/dist/dist/runtimes/adapters/speech/index.d.ts.map +1 -0
- package/dist/dist/runtimes/adapters/suggestion/index.d.ts +1 -0
- package/dist/dist/runtimes/adapters/suggestion/index.d.ts.map +1 -0
- package/dist/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +35 -0
- package/dist/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts +48 -0
- package/dist/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.d.ts +42 -0
- package/dist/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts +14 -0
- package/dist/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +122 -0
- package/dist/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/core/index.d.ts +1 -0
- package/dist/dist/runtimes/core/index.d.ts.map +1 -0
- package/dist/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts +44 -0
- package/dist/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +32 -0
- package/dist/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +161 -0
- package/dist/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/external-store/ThreadMessageConverter.d.ts +7 -0
- package/dist/dist/runtimes/external-store/ThreadMessageConverter.d.ts.map +1 -0
- package/dist/dist/runtimes/external-store/ThreadMessageLike.d.ts +40 -0
- package/dist/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -0
- package/dist/dist/runtimes/external-store/auto-status.d.ts +8 -0
- package/dist/dist/runtimes/external-store/auto-status.d.ts.map +1 -0
- package/dist/dist/runtimes/external-store/createMessageConverter.d.ts +51 -0
- package/dist/dist/runtimes/external-store/createMessageConverter.d.ts.map +1 -0
- package/dist/dist/runtimes/external-store/external-message-converter.d.ts +46 -0
- package/dist/dist/runtimes/external-store/external-message-converter.d.ts.map +1 -0
- package/dist/dist/runtimes/external-store/getExternalStoreMessage.d.ts +4 -0
- package/dist/dist/runtimes/external-store/getExternalStoreMessage.d.ts.map +1 -0
- package/dist/dist/runtimes/external-store/index.d.ts +8 -0
- package/dist/dist/runtimes/external-store/index.d.ts.map +1 -0
- package/dist/dist/runtimes/external-store/useExternalStoreRuntime.d.ts +2634 -0
- package/dist/dist/runtimes/external-store/useExternalStoreRuntime.d.ts.map +1 -0
- package/dist/dist/runtimes/index.d.ts +7 -0
- package/dist/dist/runtimes/index.d.ts.map +1 -0
- package/dist/dist/runtimes/local/LocalRuntimeCore.d.ts +47 -0
- package/dist/dist/runtimes/local/LocalRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/local/LocalRuntimeOptions.d.ts +11 -0
- package/dist/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -0
- package/dist/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +34 -0
- package/dist/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +161 -0
- package/dist/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/local/index.d.ts +3 -0
- package/dist/dist/runtimes/local/index.d.ts.map +1 -0
- package/dist/dist/runtimes/local/shouldContinue.d.ts +2 -0
- package/dist/dist/runtimes/local/shouldContinue.d.ts.map +1 -0
- package/dist/dist/runtimes/local/useLocalRuntime.d.ts +2634 -0
- package/dist/dist/runtimes/local/useLocalRuntime.d.ts.map +1 -0
- package/dist/dist/runtimes/remote-thread-list/BaseSubscribable.d.ts +9 -0
- package/dist/dist/runtimes/remote-thread-list/BaseSubscribable.d.ts.map +1 -0
- package/dist/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts +65 -0
- package/dist/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -0
- package/dist/dist/runtimes/remote-thread-list/OptimisticState.d.ts +17 -0
- package/dist/dist/runtimes/remote-thread-list/OptimisticState.d.ts.map +1 -0
- package/dist/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +23 -0
- package/dist/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -0
- package/dist/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +72 -0
- package/dist/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -0
- package/dist/dist/runtimes/remote-thread-list/adapter/cloud.d.ts +31 -0
- package/dist/dist/runtimes/remote-thread-list/adapter/cloud.d.ts.map +1 -0
- package/dist/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts +17 -0
- package/dist/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +1 -0
- package/dist/dist/runtimes/remote-thread-list/index.d.ts +4 -0
- package/dist/dist/runtimes/remote-thread-list/index.d.ts.map +1 -0
- package/dist/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts +2634 -0
- package/dist/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -0
- package/dist/dist/runtimes/utils/MessageRepository.d.ts +140 -0
- package/dist/dist/runtimes/utils/MessageRepository.d.ts.map +1 -0
- package/dist/dist/types/index.d.ts +1 -0
- package/dist/dist/types/index.d.ts.map +1 -0
- package/dist/dist/utils/CompositeContextProvider.d.ts +11 -0
- package/dist/dist/utils/CompositeContextProvider.d.ts.map +1 -0
- package/dist/dist/utils/combined/createCombinedStore.d.ts +2 -0
- package/dist/dist/utils/combined/createCombinedStore.d.ts.map +1 -0
- package/dist/dist/utils/combined/useCombinedStore.d.ts +2 -0
- package/dist/dist/utils/combined/useCombinedStore.d.ts.map +1 -0
- package/dist/dist/utils/createActionButton.d.ts +2 -0
- package/dist/dist/utils/createActionButton.d.ts.map +1 -0
- package/dist/dist/utils/getThreadMessageText.d.ts +2 -0
- package/dist/dist/utils/getThreadMessageText.d.ts.map +1 -0
- package/dist/dist/utils/hooks/useManagedRef.d.ts +2 -0
- package/dist/dist/utils/hooks/useManagedRef.d.ts.map +1 -0
- package/dist/dist/utils/hooks/useOnResizeContent.d.ts +2 -0
- package/dist/dist/utils/hooks/useOnResizeContent.d.ts.map +1 -0
- package/dist/dist/utils/hooks/useOnScrollToBottom.d.ts +2 -0
- package/dist/dist/utils/hooks/useOnScrollToBottom.d.ts.map +1 -0
- package/dist/dist/utils/idUtils.d.ts +4 -0
- package/dist/dist/utils/idUtils.d.ts.map +1 -0
- package/dist/dist/utils/json/is-json.d.ts +4 -0
- package/dist/dist/utils/json/is-json.d.ts.map +1 -0
- package/dist/dist/utils/smooth/SmoothContext.d.ts +7 -0
- package/dist/dist/utils/smooth/SmoothContext.d.ts.map +1 -0
- package/dist/dist/utils/smooth/index.d.ts +5 -0
- package/dist/dist/utils/smooth/index.d.ts.map +1 -0
- package/dist/dist/utils/smooth/useSmooth.d.ts +2 -0
- package/dist/dist/utils/smooth/useSmooth.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerAttachmentDropzone.js +56 -0
- package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -0
- package/dist/primitives/composer/ComposerInput.js +19 -1
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/error/ErrorMessage.js +19 -0
- package/dist/primitives/error/ErrorMessage.js.map +1 -0
- package/dist/primitives/error/ErrorRoot.js +14 -0
- package/dist/primitives/error/ErrorRoot.js.map +1 -0
- package/dist/primitives/error/index.js +8 -0
- package/dist/primitives/error/index.js.map +1 -0
- package/dist/primitives/index.js +2 -0
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/message/MessageContent.js +10 -3
- package/dist/primitives/message/MessageContent.js.map +1 -1
- package/dist/primitives/message/MessageError.js +16 -0
- package/dist/primitives/message/MessageError.js.map +1 -0
- package/dist/primitives/message/index.js +2 -0
- package/dist/primitives/message/index.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +2 -0
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +3 -0
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +5 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/useLocalRuntime.js +5 -0
- package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +10 -0
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/src/api/AssistantRuntime.d.ts.map +1 -0
- package/dist/src/api/AttachmentRuntime.d.ts.map +1 -0
- package/dist/src/api/ComposerRuntime.d.ts +160 -0
- package/dist/src/api/ComposerRuntime.d.ts.map +1 -0
- package/dist/src/api/ContentPartRuntime.d.ts.map +1 -0
- package/dist/src/api/MessageRuntime.d.ts.map +1 -0
- package/dist/src/api/RuntimePathTypes.d.ts.map +1 -0
- package/dist/src/api/ThreadListItemRuntime.d.ts +60 -0
- package/dist/src/api/ThreadListItemRuntime.d.ts.map +1 -0
- package/dist/src/api/ThreadListRuntime.d.ts.map +1 -0
- package/dist/src/api/ThreadRuntime.d.ts.map +1 -0
- package/dist/src/api/index.d.ts.map +1 -0
- package/dist/src/api/subscribable/BaseSubject.d.ts.map +1 -0
- package/dist/src/api/subscribable/EventSubscriptionSubject.d.ts.map +1 -0
- package/dist/src/api/subscribable/LazyMemoizeSubject.d.ts.map +1 -0
- package/dist/src/api/subscribable/NestedSubscriptionSubject.d.ts.map +1 -0
- package/dist/src/api/subscribable/SKIP_UPDATE.d.ts.map +1 -0
- package/dist/src/api/subscribable/ShallowMemoizeSubject.d.ts.map +1 -0
- package/dist/src/api/subscribable/Subscribable.d.ts.map +1 -0
- package/dist/src/api/subscribable/shallowEqual.d.ts.map +1 -0
- package/dist/src/cloud/AssistantCloud.d.ts.map +1 -0
- package/dist/src/cloud/AssistantCloudAPI.d.ts.map +1 -0
- package/dist/src/cloud/AssistantCloudAuthStrategy.d.ts.map +1 -0
- package/dist/src/cloud/AssistantCloudAuthTokens.d.ts.map +1 -0
- package/dist/src/cloud/AssistantCloudRuns.d.ts.map +1 -0
- package/dist/src/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -0
- package/dist/src/cloud/AssistantCloudThreadMessages.d.ts.map +1 -0
- package/dist/src/cloud/AssistantCloudThreads.d.ts.map +1 -0
- package/dist/src/cloud/auiV0.d.ts.map +1 -0
- package/dist/src/cloud/index.d.ts.map +1 -0
- package/dist/src/cloud/useCloudThreadListRuntime.d.ts.map +1 -0
- package/dist/src/context/ReadonlyStore.d.ts.map +1 -0
- package/dist/src/context/index.d.ts.map +1 -0
- package/dist/src/context/providers/AssistantRuntimeProvider.d.ts.map +1 -0
- package/dist/src/context/providers/AttachmentRuntimeProvider.d.ts.map +1 -0
- package/dist/src/context/providers/ContentPartRuntimeProvider.d.ts.map +1 -0
- package/dist/src/context/providers/MessageRuntimeProvider.d.ts.map +1 -0
- package/dist/src/context/providers/TextContentPartProvider.d.ts.map +1 -0
- package/dist/src/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -0
- package/dist/src/context/providers/ThreadRuntimeProvider.d.ts.map +1 -0
- package/dist/src/context/providers/ThreadViewportProvider.d.ts.map +1 -0
- package/dist/src/context/providers/index.d.ts.map +1 -0
- package/dist/src/context/react/AssistantContext.d.ts.map +1 -0
- package/dist/src/context/react/AttachmentContext.d.ts.map +1 -0
- package/dist/src/context/react/ComposerContext.d.ts.map +1 -0
- package/dist/src/context/react/ContentPartContext.d.ts.map +1 -0
- package/dist/src/context/react/MessageContext.d.ts.map +1 -0
- package/dist/src/context/react/ThreadContext.d.ts.map +1 -0
- package/dist/src/context/react/ThreadListItemContext.d.ts.map +1 -0
- package/dist/src/context/react/ThreadViewportContext.d.ts.map +1 -0
- package/dist/src/context/react/index.d.ts.map +1 -0
- package/dist/src/context/react/utils/createContextHook.d.ts.map +1 -0
- package/dist/src/context/react/utils/createContextStoreHook.d.ts.map +1 -0
- package/dist/src/context/react/utils/createStateHookForRuntime.d.ts.map +1 -0
- package/dist/src/context/react/utils/ensureBinding.d.ts.map +1 -0
- package/dist/src/context/react/utils/useRuntimeState.d.ts.map +1 -0
- package/dist/src/context/stores/AssistantToolUIs.d.ts.map +1 -0
- package/dist/src/context/stores/MessageUtils.d.ts.map +1 -0
- package/dist/src/context/stores/ThreadViewport.d.ts.map +1 -0
- package/dist/src/context/stores/index.d.ts.map +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/internal.d.ts.map +1 -0
- package/dist/src/model-context/ModelContextTypes.d.ts.map +1 -0
- package/dist/src/model-context/index.d.ts.map +1 -0
- package/dist/src/model-context/makeAssistantTool.d.ts.map +1 -0
- package/dist/src/model-context/makeAssistantToolUI.d.ts.map +1 -0
- package/dist/src/model-context/makeAssistantVisible.d.ts.map +1 -0
- package/dist/src/model-context/tool.d.ts.map +1 -0
- package/dist/src/model-context/useAssistantInstructions.d.ts.map +1 -0
- package/dist/src/model-context/useAssistantTool.d.ts.map +1 -0
- package/dist/src/model-context/useAssistantToolUI.d.ts.map +1 -0
- package/dist/src/model-context/useInlineRender.d.ts.map +1 -0
- package/dist/src/primitives/actionBar/ActionBarCopy.d.ts.map +1 -0
- package/dist/src/primitives/actionBar/ActionBarEdit.d.ts.map +1 -0
- package/dist/src/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -0
- package/dist/src/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -0
- package/dist/src/primitives/actionBar/ActionBarReload.d.ts.map +1 -0
- package/dist/src/primitives/actionBar/ActionBarRoot.d.ts.map +1 -0
- package/dist/src/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -0
- package/dist/src/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -0
- package/dist/src/primitives/actionBar/index.d.ts.map +1 -0
- package/dist/src/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -0
- package/dist/src/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -0
- package/dist/src/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -0
- package/dist/src/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -0
- package/dist/src/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -0
- package/dist/src/primitives/assistantModal/index.d.ts.map +1 -0
- package/dist/src/primitives/assistantModal/scope.d.ts.map +1 -0
- package/dist/src/primitives/attachment/AttachmentName.d.ts.map +1 -0
- package/dist/src/primitives/attachment/AttachmentRemove.d.ts.map +1 -0
- package/dist/src/primitives/attachment/AttachmentRoot.d.ts.map +1 -0
- package/dist/src/primitives/attachment/AttachmentThumb.d.ts.map +1 -0
- package/dist/src/primitives/attachment/index.d.ts.map +1 -0
- package/dist/src/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -0
- package/dist/src/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -0
- package/dist/src/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -0
- package/dist/src/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -0
- package/dist/src/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -0
- package/dist/src/primitives/branchPicker/index.d.ts.map +1 -0
- package/dist/src/primitives/composer/ComposerAddAttachment.d.ts.map +1 -0
- package/dist/src/primitives/composer/ComposerAttachmentDropzone.d.ts +13 -0
- package/dist/src/primitives/composer/ComposerAttachmentDropzone.d.ts.map +1 -0
- package/dist/src/primitives/composer/ComposerAttachments.d.ts.map +1 -0
- package/dist/src/primitives/composer/ComposerCancel.d.ts.map +1 -0
- package/dist/src/primitives/composer/ComposerIf.d.ts.map +1 -0
- package/dist/src/primitives/composer/ComposerInput.d.ts +23 -0
- package/dist/src/primitives/composer/ComposerInput.d.ts.map +1 -0
- package/dist/src/primitives/composer/ComposerRoot.d.ts.map +1 -0
- package/dist/src/primitives/composer/ComposerSend.d.ts.map +1 -0
- package/dist/src/primitives/composer/index.d.ts.map +1 -0
- package/dist/src/primitives/contentPart/ContentPartImage.d.ts.map +1 -0
- package/dist/src/primitives/contentPart/ContentPartInProgress.d.ts.map +1 -0
- package/dist/src/primitives/contentPart/ContentPartText.d.ts.map +1 -0
- package/dist/src/primitives/contentPart/index.d.ts.map +1 -0
- package/dist/src/primitives/contentPart/useContentPartFile.d.ts.map +1 -0
- package/dist/src/primitives/contentPart/useContentPartImage.d.ts.map +1 -0
- package/dist/src/primitives/contentPart/useContentPartReasoning.d.ts.map +1 -0
- package/dist/src/primitives/contentPart/useContentPartSource.d.ts.map +1 -0
- package/dist/src/primitives/contentPart/useContentPartText.d.ts.map +1 -0
- package/dist/src/primitives/error/ErrorMessage.d.ts +10 -0
- package/dist/src/primitives/error/ErrorMessage.d.ts.map +1 -0
- package/dist/src/primitives/error/ErrorRoot.d.ts +10 -0
- package/dist/src/primitives/error/ErrorRoot.d.ts.map +1 -0
- package/dist/src/primitives/error/index.d.ts +3 -0
- package/dist/src/primitives/error/index.d.ts.map +1 -0
- package/dist/src/primitives/index.d.ts +18 -0
- package/dist/src/primitives/index.d.ts.map +1 -0
- package/dist/src/primitives/message/MessageAttachments.d.ts.map +1 -0
- package/dist/src/primitives/message/MessageContent.d.ts.map +1 -0
- package/dist/src/primitives/message/MessageError.d.ts +3 -0
- package/dist/src/primitives/message/MessageError.d.ts.map +1 -0
- package/dist/src/primitives/message/MessageIf.d.ts.map +1 -0
- package/dist/src/primitives/message/MessageRoot.d.ts.map +1 -0
- package/dist/src/primitives/message/index.d.ts +6 -0
- package/dist/src/primitives/message/index.d.ts.map +1 -0
- package/dist/src/primitives/thread/ThreadEmpty.d.ts.map +1 -0
- package/dist/src/primitives/thread/ThreadIf.d.ts.map +1 -0
- package/dist/src/primitives/thread/ThreadMessages.d.ts.map +1 -0
- package/dist/src/primitives/thread/ThreadRoot.d.ts.map +1 -0
- package/dist/src/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -0
- package/dist/src/primitives/thread/ThreadSuggestion.d.ts.map +1 -0
- package/dist/src/primitives/thread/ThreadViewport.d.ts.map +1 -0
- package/dist/src/primitives/thread/index.d.ts.map +1 -0
- package/dist/src/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -0
- package/dist/src/primitives/threadList/ThreadListItems.d.ts.map +1 -0
- package/dist/src/primitives/threadList/ThreadListNew.d.ts.map +1 -0
- package/dist/src/primitives/threadList/ThreadListRoot.d.ts.map +1 -0
- package/dist/src/primitives/threadList/index.d.ts.map +1 -0
- package/dist/src/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -0
- package/dist/src/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -0
- package/dist/src/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -0
- package/dist/src/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -0
- package/dist/src/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -0
- package/dist/src/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -0
- package/dist/src/primitives/threadListItem/index.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/RuntimeAdapterProvider.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/attachment/AttachmentAdapter.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/attachment/CompositeAttachmentAdapter.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/attachment/index.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/feedback/FeedbackAdapter.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/feedback/index.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/index.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/speech/SpeechAdapterTypes.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/speech/WebSpeechSynthesisAdapter.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/speech/index.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/suggestion/SuggestionAdapter.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/suggestion/index.d.ts.map +1 -0
- package/dist/src/runtimes/adapters/thread-history/ThreadHistoryAdapter.d.ts.map +1 -0
- package/dist/src/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/composer/DefaultThreadComposerRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/core/AssistantRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/core/BaseAssistantRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/core/ThreadListRuntimeCore.d.ts +35 -0
- package/dist/src/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/core/index.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +36 -0
- package/dist/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/ThreadMessageConverter.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/auto-status.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/createMessageConverter.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/external-message-converter.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/getExternalStoreMessage.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/index.d.ts.map +1 -0
- package/dist/src/runtimes/external-store/useExternalStoreRuntime.d.ts.map +1 -0
- package/dist/src/runtimes/index.d.ts.map +1 -0
- package/dist/src/runtimes/local/ChatModelAdapter.d.ts.map +1 -0
- package/dist/src/runtimes/local/LocalRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -0
- package/dist/src/runtimes/local/LocalThreadListRuntimeCore.d.ts +33 -0
- package/dist/src/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/local/LocalThreadRuntimeCore.d.ts +46 -0
- package/dist/src/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/local/index.d.ts.map +1 -0
- package/dist/src/runtimes/local/shouldContinue.d.ts.map +1 -0
- package/dist/src/runtimes/local/useLocalRuntime.d.ts.map +1 -0
- package/dist/src/runtimes/remote-thread-list/BaseSubscribable.d.ts.map +1 -0
- package/dist/src/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -0
- package/dist/src/runtimes/remote-thread-list/OptimisticState.d.ts.map +1 -0
- package/dist/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -0
- package/dist/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +122 -0
- package/dist/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -0
- package/dist/src/runtimes/remote-thread-list/adapter/cloud.d.ts.map +1 -0
- package/dist/src/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +1 -0
- package/dist/src/runtimes/remote-thread-list/index.d.ts.map +1 -0
- package/dist/src/runtimes/remote-thread-list/types.d.ts.map +1 -0
- package/dist/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -0
- package/dist/src/runtimes/utils/MessageRepository.d.ts.map +1 -0
- package/dist/src/tests/setup.d.ts.map +1 -0
- package/dist/src/types/AssistantTypes.d.ts.map +1 -0
- package/dist/src/types/AttachmentTypes.d.ts.map +1 -0
- package/dist/src/types/ContentPartComponentTypes.d.ts.map +1 -0
- package/dist/src/types/Unsubscribe.d.ts.map +1 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/utils/CompositeContextProvider.d.ts.map +1 -0
- package/dist/src/utils/RequireAtLeastOne.d.ts.map +1 -0
- package/dist/src/utils/combined/createCombinedStore.d.ts.map +1 -0
- package/dist/src/utils/combined/useCombinedStore.d.ts.map +1 -0
- package/dist/src/utils/createActionButton.d.ts.map +1 -0
- package/dist/src/utils/getThreadMessageText.d.ts.map +1 -0
- package/dist/src/utils/hooks/useManagedRef.d.ts.map +1 -0
- package/dist/src/utils/hooks/useOnResizeContent.d.ts.map +1 -0
- package/dist/src/utils/hooks/useOnScrollToBottom.d.ts.map +1 -0
- package/dist/src/utils/idUtils.d.ts.map +1 -0
- package/dist/src/utils/json/is-json.d.ts.map +1 -0
- package/dist/src/utils/smooth/SmoothContext.d.ts.map +1 -0
- package/dist/src/utils/smooth/index.d.ts.map +1 -0
- package/dist/src/utils/smooth/useSmooth.d.ts.map +1 -0
- package/dist/src/utils/useToolArgsFieldStatus.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/api/ComposerRuntime.ts +54 -0
- package/src/api/ThreadListItemRuntime.ts +12 -0
- package/src/primitives/composer/ComposerAttachmentDropzone.tsx +70 -0
- package/src/primitives/composer/ComposerInput.tsx +22 -0
- package/src/primitives/error/ErrorMessage.tsx +31 -0
- package/src/primitives/error/ErrorRoot.tsx +18 -0
- package/src/primitives/error/index.ts +2 -0
- package/src/primitives/index.ts +1 -0
- package/src/primitives/message/MessageContent.tsx +16 -4
- package/src/primitives/message/MessageError.tsx +13 -0
- package/src/primitives/message/index.ts +1 -0
- package/src/runtimes/core/ThreadListRuntimeCore.tsx +1 -0
- package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +4 -0
- package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +4 -0
- package/src/runtimes/local/LocalThreadRuntimeCore.tsx +6 -1
- package/src/runtimes/local/useLocalRuntime.tsx +6 -0
- package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +2 -0
- package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +15 -1
- package/dist/api/AssistantRuntime.d.ts.map +0 -1
- package/dist/api/AttachmentRuntime.d.ts.map +0 -1
- package/dist/api/ComposerRuntime.d.ts +0 -114
- package/dist/api/ComposerRuntime.d.ts.map +0 -1
- package/dist/api/ContentPartRuntime.d.ts.map +0 -1
- package/dist/api/MessageRuntime.d.ts.map +0 -1
- package/dist/api/RuntimePathTypes.d.ts.map +0 -1
- package/dist/api/ThreadListItemRuntime.d.ts +0 -55
- package/dist/api/ThreadListItemRuntime.d.ts.map +0 -1
- package/dist/api/ThreadListRuntime.d.ts.map +0 -1
- package/dist/api/ThreadRuntime.d.ts.map +0 -1
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/subscribable/BaseSubject.d.ts.map +0 -1
- package/dist/api/subscribable/EventSubscriptionSubject.d.ts.map +0 -1
- package/dist/api/subscribable/LazyMemoizeSubject.d.ts.map +0 -1
- package/dist/api/subscribable/NestedSubscriptionSubject.d.ts.map +0 -1
- package/dist/api/subscribable/SKIP_UPDATE.d.ts.map +0 -1
- package/dist/api/subscribable/ShallowMemoizeSubject.d.ts.map +0 -1
- package/dist/api/subscribable/Subscribable.d.ts.map +0 -1
- package/dist/api/subscribable/shallowEqual.d.ts.map +0 -1
- package/dist/cloud/AssistantCloud.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudAPI.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudAuthStrategy.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudAuthTokens.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudRuns.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudThreadMessages.d.ts.map +0 -1
- package/dist/cloud/AssistantCloudThreads.d.ts.map +0 -1
- package/dist/cloud/auiV0.d.ts.map +0 -1
- package/dist/cloud/index.d.ts.map +0 -1
- package/dist/cloud/useCloudThreadListRuntime.d.ts.map +0 -1
- package/dist/context/ReadonlyStore.d.ts.map +0 -1
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/AttachmentRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/ContentPartRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/MessageRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/TextContentPartProvider.d.ts.map +0 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +0 -1
- package/dist/context/providers/ThreadViewportProvider.d.ts.map +0 -1
- package/dist/context/providers/index.d.ts.map +0 -1
- package/dist/context/react/AssistantContext.d.ts.map +0 -1
- package/dist/context/react/AttachmentContext.d.ts.map +0 -1
- package/dist/context/react/ComposerContext.d.ts.map +0 -1
- package/dist/context/react/ContentPartContext.d.ts.map +0 -1
- package/dist/context/react/MessageContext.d.ts.map +0 -1
- package/dist/context/react/ThreadContext.d.ts.map +0 -1
- package/dist/context/react/ThreadListItemContext.d.ts.map +0 -1
- package/dist/context/react/ThreadViewportContext.d.ts.map +0 -1
- package/dist/context/react/index.d.ts.map +0 -1
- package/dist/context/react/utils/createContextHook.d.ts.map +0 -1
- package/dist/context/react/utils/createContextStoreHook.d.ts.map +0 -1
- package/dist/context/react/utils/createStateHookForRuntime.d.ts.map +0 -1
- package/dist/context/react/utils/ensureBinding.d.ts.map +0 -1
- package/dist/context/react/utils/useRuntimeState.d.ts.map +0 -1
- package/dist/context/stores/AssistantToolUIs.d.ts.map +0 -1
- package/dist/context/stores/MessageUtils.d.ts.map +0 -1
- package/dist/context/stores/ThreadViewport.d.ts.map +0 -1
- package/dist/context/stores/index.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/internal.d.ts.map +0 -1
- package/dist/model-context/ModelContextTypes.d.ts.map +0 -1
- package/dist/model-context/index.d.ts.map +0 -1
- package/dist/model-context/makeAssistantTool.d.ts.map +0 -1
- package/dist/model-context/makeAssistantToolUI.d.ts.map +0 -1
- package/dist/model-context/makeAssistantVisible.d.ts.map +0 -1
- package/dist/model-context/tool.d.ts.map +0 -1
- package/dist/model-context/useAssistantInstructions.d.ts.map +0 -1
- package/dist/model-context/useAssistantTool.d.ts.map +0 -1
- package/dist/model-context/useAssistantToolUI.d.ts.map +0 -1
- package/dist/model-context/useInlineRender.d.ts.map +0 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +0 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +0 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +0 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +0 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +0 -1
- package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +0 -1
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +0 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +0 -1
- package/dist/primitives/actionBar/index.d.ts.map +0 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +0 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +0 -1
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +0 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +0 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +0 -1
- package/dist/primitives/assistantModal/index.d.ts.map +0 -1
- package/dist/primitives/assistantModal/scope.d.ts.map +0 -1
- package/dist/primitives/attachment/AttachmentName.d.ts.map +0 -1
- package/dist/primitives/attachment/AttachmentRemove.d.ts.map +0 -1
- package/dist/primitives/attachment/AttachmentRoot.d.ts.map +0 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts.map +0 -1
- package/dist/primitives/attachment/index.d.ts.map +0 -1
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +0 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +0 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +0 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +0 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +0 -1
- package/dist/primitives/branchPicker/index.d.ts.map +0 -1
- package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +0 -1
- package/dist/primitives/composer/ComposerAttachments.d.ts.map +0 -1
- package/dist/primitives/composer/ComposerCancel.d.ts.map +0 -1
- package/dist/primitives/composer/ComposerIf.d.ts.map +0 -1
- package/dist/primitives/composer/ComposerInput.d.ts +0 -21
- package/dist/primitives/composer/ComposerInput.d.ts.map +0 -1
- package/dist/primitives/composer/ComposerRoot.d.ts.map +0 -1
- package/dist/primitives/composer/ComposerSend.d.ts.map +0 -1
- package/dist/primitives/composer/index.d.ts.map +0 -1
- package/dist/primitives/contentPart/ContentPartImage.d.ts.map +0 -1
- package/dist/primitives/contentPart/ContentPartInProgress.d.ts.map +0 -1
- package/dist/primitives/contentPart/ContentPartText.d.ts.map +0 -1
- package/dist/primitives/contentPart/index.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartFile.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartImage.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartReasoning.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartSource.d.ts.map +0 -1
- package/dist/primitives/contentPart/useContentPartText.d.ts.map +0 -1
- package/dist/primitives/index.d.ts +0 -17
- package/dist/primitives/index.d.ts.map +0 -1
- package/dist/primitives/message/MessageAttachments.d.ts.map +0 -1
- package/dist/primitives/message/MessageContent.d.ts.map +0 -1
- package/dist/primitives/message/MessageIf.d.ts.map +0 -1
- package/dist/primitives/message/MessageRoot.d.ts.map +0 -1
- package/dist/primitives/message/index.d.ts +0 -5
- package/dist/primitives/message/index.d.ts.map +0 -1
- package/dist/primitives/thread/ThreadEmpty.d.ts.map +0 -1
- package/dist/primitives/thread/ThreadIf.d.ts.map +0 -1
- package/dist/primitives/thread/ThreadMessages.d.ts.map +0 -1
- package/dist/primitives/thread/ThreadRoot.d.ts.map +0 -1
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +0 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +0 -1
- package/dist/primitives/thread/ThreadViewport.d.ts.map +0 -1
- package/dist/primitives/thread/index.d.ts.map +0 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +0 -1
- package/dist/primitives/threadList/ThreadListItems.d.ts.map +0 -1
- package/dist/primitives/threadList/ThreadListNew.d.ts.map +0 -1
- package/dist/primitives/threadList/ThreadListRoot.d.ts.map +0 -1
- package/dist/primitives/threadList/index.d.ts.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +0 -1
- package/dist/primitives/threadListItem/index.d.ts.map +0 -1
- package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts.map +0 -1
- package/dist/runtimes/adapters/attachment/AttachmentAdapter.d.ts.map +0 -1
- package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.d.ts.map +0 -1
- package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.d.ts.map +0 -1
- package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.d.ts.map +0 -1
- package/dist/runtimes/adapters/attachment/index.d.ts.map +0 -1
- package/dist/runtimes/adapters/feedback/FeedbackAdapter.d.ts.map +0 -1
- package/dist/runtimes/adapters/feedback/index.d.ts.map +0 -1
- package/dist/runtimes/adapters/index.d.ts.map +0 -1
- package/dist/runtimes/adapters/speech/SpeechAdapterTypes.d.ts.map +0 -1
- package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.d.ts.map +0 -1
- package/dist/runtimes/adapters/speech/index.d.ts.map +0 -1
- package/dist/runtimes/adapters/suggestion/SuggestionAdapter.d.ts.map +0 -1
- package/dist/runtimes/adapters/suggestion/index.d.ts.map +0 -1
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.d.ts.map +0 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/core/AssistantRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +0 -34
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/core/index.d.ts.map +0 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +0 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +0 -35
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/external-store/ThreadMessageConverter.d.ts.map +0 -1
- package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +0 -1
- package/dist/runtimes/external-store/auto-status.d.ts.map +0 -1
- package/dist/runtimes/external-store/createMessageConverter.d.ts.map +0 -1
- package/dist/runtimes/external-store/external-message-converter.d.ts.map +0 -1
- package/dist/runtimes/external-store/getExternalStoreMessage.d.ts.map +0 -1
- package/dist/runtimes/external-store/index.d.ts.map +0 -1
- package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts.map +0 -1
- package/dist/runtimes/index.d.ts.map +0 -1
- package/dist/runtimes/local/ChatModelAdapter.d.ts.map +0 -1
- package/dist/runtimes/local/LocalRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +0 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +0 -32
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +0 -45
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/local/index.d.ts.map +0 -1
- package/dist/runtimes/local/shouldContinue.d.ts.map +0 -1
- package/dist/runtimes/local/useLocalRuntime.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/BaseSubscribable.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/OptimisticState.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +0 -121
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/index.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/types.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +0 -1
- package/dist/runtimes/utils/MessageRepository.d.ts.map +0 -1
- package/dist/tests/setup.d.ts.map +0 -1
- package/dist/types/AssistantTypes.d.ts.map +0 -1
- package/dist/types/AttachmentTypes.d.ts.map +0 -1
- package/dist/types/ContentPartComponentTypes.d.ts.map +0 -1
- package/dist/types/Unsubscribe.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/utils/CompositeContextProvider.d.ts.map +0 -1
- package/dist/utils/RequireAtLeastOne.d.ts.map +0 -1
- package/dist/utils/combined/createCombinedStore.d.ts.map +0 -1
- package/dist/utils/combined/useCombinedStore.d.ts.map +0 -1
- package/dist/utils/createActionButton.d.ts.map +0 -1
- package/dist/utils/getThreadMessageText.d.ts.map +0 -1
- package/dist/utils/hooks/useManagedRef.d.ts.map +0 -1
- package/dist/utils/hooks/useOnResizeContent.d.ts.map +0 -1
- package/dist/utils/hooks/useOnScrollToBottom.d.ts.map +0 -1
- package/dist/utils/idUtils.d.ts.map +0 -1
- package/dist/utils/json/is-json.d.ts.map +0 -1
- package/dist/utils/smooth/SmoothContext.d.ts.map +0 -1
- package/dist/utils/smooth/index.d.ts.map +0 -1
- package/dist/utils/smooth/useSmooth.d.ts.map +0 -1
- package/dist/utils/useToolArgsFieldStatus.d.ts.map +0 -1
- /package/dist/{api → src/api}/AssistantRuntime.d.ts +0 -0
- /package/dist/{api → src/api}/AttachmentRuntime.d.ts +0 -0
- /package/dist/{api → src/api}/ContentPartRuntime.d.ts +0 -0
- /package/dist/{api → src/api}/MessageRuntime.d.ts +0 -0
- /package/dist/{api → src/api}/RuntimePathTypes.d.ts +0 -0
- /package/dist/{api → src/api}/ThreadListRuntime.d.ts +0 -0
- /package/dist/{api → src/api}/ThreadRuntime.d.ts +0 -0
- /package/dist/{api → src/api}/index.d.ts +0 -0
- /package/dist/{api → src/api}/subscribable/BaseSubject.d.ts +0 -0
- /package/dist/{api → src/api}/subscribable/EventSubscriptionSubject.d.ts +0 -0
- /package/dist/{api → src/api}/subscribable/LazyMemoizeSubject.d.ts +0 -0
- /package/dist/{api → src/api}/subscribable/NestedSubscriptionSubject.d.ts +0 -0
- /package/dist/{api → src/api}/subscribable/SKIP_UPDATE.d.ts +0 -0
- /package/dist/{api → src/api}/subscribable/ShallowMemoizeSubject.d.ts +0 -0
- /package/dist/{api → src/api}/subscribable/Subscribable.d.ts +0 -0
- /package/dist/{api → src/api}/subscribable/shallowEqual.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/AssistantCloud.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/AssistantCloudAPI.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/AssistantCloudAuthStrategy.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/AssistantCloudAuthTokens.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/AssistantCloudRuns.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/AssistantCloudThreadHistoryAdapter.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/AssistantCloudThreadMessages.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/AssistantCloudThreads.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/auiV0.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/index.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/useCloudThreadListRuntime.d.ts +0 -0
- /package/dist/{context → src/context}/ReadonlyStore.d.ts +0 -0
- /package/dist/{context → src/context}/index.d.ts +0 -0
- /package/dist/{context → src/context}/providers/AssistantRuntimeProvider.d.ts +0 -0
- /package/dist/{context → src/context}/providers/AttachmentRuntimeProvider.d.ts +0 -0
- /package/dist/{context → src/context}/providers/ContentPartRuntimeProvider.d.ts +0 -0
- /package/dist/{context → src/context}/providers/MessageRuntimeProvider.d.ts +0 -0
- /package/dist/{context → src/context}/providers/TextContentPartProvider.d.ts +0 -0
- /package/dist/{context → src/context}/providers/ThreadListItemRuntimeProvider.d.ts +0 -0
- /package/dist/{context → src/context}/providers/ThreadRuntimeProvider.d.ts +0 -0
- /package/dist/{context → src/context}/providers/ThreadViewportProvider.d.ts +0 -0
- /package/dist/{context → src/context}/providers/index.d.ts +0 -0
- /package/dist/{context → src/context}/react/AssistantContext.d.ts +0 -0
- /package/dist/{context → src/context}/react/AttachmentContext.d.ts +0 -0
- /package/dist/{context → src/context}/react/ComposerContext.d.ts +0 -0
- /package/dist/{context → src/context}/react/ContentPartContext.d.ts +0 -0
- /package/dist/{context → src/context}/react/MessageContext.d.ts +0 -0
- /package/dist/{context → src/context}/react/ThreadContext.d.ts +0 -0
- /package/dist/{context → src/context}/react/ThreadListItemContext.d.ts +0 -0
- /package/dist/{context → src/context}/react/ThreadViewportContext.d.ts +0 -0
- /package/dist/{context → src/context}/react/index.d.ts +0 -0
- /package/dist/{context → src/context}/react/utils/createContextHook.d.ts +0 -0
- /package/dist/{context → src/context}/react/utils/createContextStoreHook.d.ts +0 -0
- /package/dist/{context → src/context}/react/utils/createStateHookForRuntime.d.ts +0 -0
- /package/dist/{context → src/context}/react/utils/ensureBinding.d.ts +0 -0
- /package/dist/{context → src/context}/react/utils/useRuntimeState.d.ts +0 -0
- /package/dist/{context → src/context}/stores/AssistantToolUIs.d.ts +0 -0
- /package/dist/{context → src/context}/stores/MessageUtils.d.ts +0 -0
- /package/dist/{context → src/context}/stores/ThreadViewport.d.ts +0 -0
- /package/dist/{context → src/context}/stores/index.d.ts +0 -0
- /package/dist/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/{internal.d.ts → src/internal.d.ts} +0 -0
- /package/dist/{model-context → src/model-context}/ModelContextTypes.d.ts +0 -0
- /package/dist/{model-context → src/model-context}/index.d.ts +0 -0
- /package/dist/{model-context → src/model-context}/makeAssistantTool.d.ts +0 -0
- /package/dist/{model-context → src/model-context}/makeAssistantToolUI.d.ts +0 -0
- /package/dist/{model-context → src/model-context}/makeAssistantVisible.d.ts +0 -0
- /package/dist/{model-context → src/model-context}/tool.d.ts +0 -0
- /package/dist/{model-context → src/model-context}/useAssistantInstructions.d.ts +0 -0
- /package/dist/{model-context → src/model-context}/useAssistantTool.d.ts +0 -0
- /package/dist/{model-context → src/model-context}/useAssistantToolUI.d.ts +0 -0
- /package/dist/{model-context → src/model-context}/useInlineRender.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/actionBar/ActionBarCopy.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/actionBar/ActionBarEdit.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/actionBar/ActionBarFeedbackNegative.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/actionBar/ActionBarFeedbackPositive.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/actionBar/ActionBarReload.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/actionBar/ActionBarRoot.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/actionBar/ActionBarSpeak.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/actionBar/ActionBarStopSpeaking.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/actionBar/index.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/actionBar/useActionBarFloatStatus.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/assistantModal/AssistantModalAnchor.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/assistantModal/AssistantModalContent.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/assistantModal/AssistantModalRoot.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/assistantModal/AssistantModalTrigger.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/assistantModal/index.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/assistantModal/scope.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/attachment/AttachmentName.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/attachment/AttachmentRemove.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/attachment/AttachmentRoot.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/attachment/AttachmentThumb.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/attachment/index.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/branchPicker/BranchPickerCount.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/branchPicker/BranchPickerNext.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/branchPicker/BranchPickerNumber.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/branchPicker/BranchPickerPrevious.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/branchPicker/BranchPickerRoot.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/branchPicker/index.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/composer/ComposerAddAttachment.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/composer/ComposerAttachments.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/composer/ComposerCancel.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/composer/ComposerIf.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/composer/ComposerRoot.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/composer/ComposerSend.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/composer/index.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/contentPart/ContentPartImage.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/contentPart/ContentPartInProgress.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/contentPart/ContentPartText.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/contentPart/index.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/contentPart/useContentPartFile.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/contentPart/useContentPartImage.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/contentPart/useContentPartReasoning.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/contentPart/useContentPartSource.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/contentPart/useContentPartText.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/message/MessageAttachments.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/message/MessageContent.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/message/MessageIf.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/message/MessageRoot.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/thread/ThreadEmpty.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/thread/ThreadIf.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/thread/ThreadMessages.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/thread/ThreadRoot.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/thread/ThreadScrollToBottom.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/thread/ThreadSuggestion.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/thread/ThreadViewport.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/thread/index.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/thread/useThreadViewportAutoScroll.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/threadList/ThreadListItems.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/threadList/ThreadListNew.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/threadList/ThreadListRoot.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/threadList/index.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/threadListItem/ThreadListItemArchive.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/threadListItem/ThreadListItemDelete.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/threadListItem/ThreadListItemRoot.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/threadListItem/ThreadListItemTitle.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/threadListItem/ThreadListItemTrigger.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/threadListItem/ThreadListItemUnarchive.d.ts +0 -0
- /package/dist/{primitives → src/primitives}/threadListItem/index.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/RuntimeAdapterProvider.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/attachment/AttachmentAdapter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/attachment/CompositeAttachmentAdapter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/attachment/SimpleImageAttachmentAdapter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/attachment/SimpleTextAttachmentAdapter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/attachment/index.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/feedback/FeedbackAdapter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/feedback/index.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/index.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/speech/SpeechAdapterTypes.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/speech/WebSpeechSynthesisAdapter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/speech/index.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/suggestion/SuggestionAdapter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/suggestion/index.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/adapters/thread-history/ThreadHistoryAdapter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/composer/BaseComposerRuntimeCore.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/composer/DefaultEditComposerRuntimeCore.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/composer/DefaultThreadComposerRuntimeCore.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/core/AssistantRuntimeCore.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/core/BaseAssistantRuntimeCore.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/core/BaseThreadRuntimeCore.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/core/ComposerRuntimeCore.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/core/ThreadRuntimeCore.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/core/index.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/external-store/ExternalStoreAdapter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/external-store/ExternalStoreRuntimeCore.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/external-store/ExternalStoreThreadRuntimeCore.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/external-store/ThreadMessageConverter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/external-store/ThreadMessageLike.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/external-store/auto-status.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/external-store/createMessageConverter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/external-store/external-message-converter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/external-store/getExternalStoreMessage.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/external-store/index.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/external-store/useExternalStoreRuntime.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/index.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/local/ChatModelAdapter.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/local/LocalRuntimeCore.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/local/LocalRuntimeOptions.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/local/index.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/local/shouldContinue.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/local/useLocalRuntime.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/remote-thread-list/BaseSubscribable.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/remote-thread-list/EMPTY_THREAD_CORE.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/remote-thread-list/OptimisticState.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/remote-thread-list/adapter/cloud.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/remote-thread-list/adapter/in-memory.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/remote-thread-list/index.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/remote-thread-list/types.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/remote-thread-list/useRemoteThreadListRuntime.d.ts +0 -0
- /package/dist/{runtimes → src/runtimes}/utils/MessageRepository.d.ts +0 -0
- /package/dist/{tests → src/tests}/setup.d.ts +0 -0
- /package/dist/{types → src/types}/AssistantTypes.d.ts +0 -0
- /package/dist/{types → src/types}/AttachmentTypes.d.ts +0 -0
- /package/dist/{types → src/types}/ContentPartComponentTypes.d.ts +0 -0
- /package/dist/{types → src/types}/Unsubscribe.d.ts +0 -0
- /package/dist/{types → src/types}/index.d.ts +0 -0
- /package/dist/{utils → src/utils}/CompositeContextProvider.d.ts +0 -0
- /package/dist/{utils → src/utils}/RequireAtLeastOne.d.ts +0 -0
- /package/dist/{utils → src/utils}/combined/createCombinedStore.d.ts +0 -0
- /package/dist/{utils → src/utils}/combined/useCombinedStore.d.ts +0 -0
- /package/dist/{utils → src/utils}/createActionButton.d.ts +0 -0
- /package/dist/{utils → src/utils}/getThreadMessageText.d.ts +0 -0
- /package/dist/{utils → src/utils}/hooks/useManagedRef.d.ts +0 -0
- /package/dist/{utils → src/utils}/hooks/useOnResizeContent.d.ts +0 -0
- /package/dist/{utils → src/utils}/hooks/useOnScrollToBottom.d.ts +0 -0
- /package/dist/{utils → src/utils}/idUtils.d.ts +0 -0
- /package/dist/{utils → src/utils}/json/is-json.d.ts +0 -0
- /package/dist/{utils → src/utils}/smooth/SmoothContext.d.ts +0 -0
- /package/dist/{utils → src/utils}/smooth/index.d.ts +0 -0
- /package/dist/{utils → src/utils}/smooth/useSmooth.d.ts +0 -0
- /package/dist/{utils → src/utils}/useToolArgsFieldStatus.d.ts +0 -0
@@ -0,0 +1,16 @@
|
|
1
|
+
"use client";
|
2
|
+
|
3
|
+
// src/primitives/message/MessageError.tsx
|
4
|
+
import { useMessage } from "../../context/react/MessageContext.js";
|
5
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
6
|
+
var MessagePrimitiveError = ({ children }) => {
|
7
|
+
const hasError = useMessage(
|
8
|
+
(m) => m.status?.type === "incomplete" && m.status.reason === "error"
|
9
|
+
);
|
10
|
+
return hasError ? /* @__PURE__ */ jsx(Fragment, { children }) : null;
|
11
|
+
};
|
12
|
+
MessagePrimitiveError.displayName = "MessagePrimitive.Error";
|
13
|
+
export {
|
14
|
+
MessagePrimitiveError
|
15
|
+
};
|
16
|
+
//# sourceMappingURL=MessageError.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/primitives/message/MessageError.tsx"],"sourcesContent":["\"use client\";\n\nimport { FC, PropsWithChildren } from \"react\";\nimport { useMessage } from \"../../context/react/MessageContext\";\n\nexport const MessagePrimitiveError: FC<PropsWithChildren> = ({ children }) => {\n const hasError = useMessage(\n (m) => m.status?.type === \"incomplete\" && m.status.reason === \"error\",\n );\n return hasError ? <>{children}</> : null;\n};\n\nMessagePrimitiveError.displayName = \"MessagePrimitive.Error\";\n"],"mappings":";;;AAGA,SAAS,kBAAkB;AAMP;AAJb,IAAM,wBAA+C,CAAC,EAAE,SAAS,MAAM;AAC5E,QAAM,WAAW;AAAA,IACf,CAAC,MAAM,EAAE,QAAQ,SAAS,gBAAgB,EAAE,OAAO,WAAW;AAAA,EAChE;AACA,SAAO,WAAW,gCAAG,UAAS,IAAM;AACtC;AAEA,sBAAsB,cAAc;","names":[]}
|
@@ -3,9 +3,11 @@ import { MessagePrimitiveRoot } from "./MessageRoot.js";
|
|
3
3
|
import { MessagePrimitiveIf } from "./MessageIf.js";
|
4
4
|
import { MessagePrimitiveContent } from "./MessageContent.js";
|
5
5
|
import { MessagePrimitiveAttachments } from "./MessageAttachments.js";
|
6
|
+
import { MessagePrimitiveError } from "./MessageError.js";
|
6
7
|
export {
|
7
8
|
MessagePrimitiveAttachments as Attachments,
|
8
9
|
MessagePrimitiveContent as Content,
|
10
|
+
MessagePrimitiveError as Error,
|
9
11
|
MessagePrimitiveIf as If,
|
10
12
|
MessagePrimitiveRoot as Root
|
11
13
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/message/index.ts"],"sourcesContent":["export { MessagePrimitiveRoot as Root } from \"./MessageRoot\";\nexport { MessagePrimitiveIf as If } from \"./MessageIf\";\nexport { MessagePrimitiveContent as Content } from \"./MessageContent\";\nexport { MessagePrimitiveAttachments as Attachments } from \"./MessageAttachments\";\n"],"mappings":";AAAA,SAAiC,4BAAY;AAC7C,SAA+B,0BAAU;AACzC,SAAoC,+BAAe;AACnD,SAAwC,mCAAmB;","names":[]}
|
1
|
+
{"version":3,"sources":["../../../src/primitives/message/index.ts"],"sourcesContent":["export { MessagePrimitiveRoot as Root } from \"./MessageRoot\";\nexport { MessagePrimitiveIf as If } from \"./MessageIf\";\nexport { MessagePrimitiveContent as Content } from \"./MessageContent\";\nexport { MessagePrimitiveAttachments as Attachments } from \"./MessageAttachments\";\nexport { MessagePrimitiveError as Error } from \"./MessageError\";\n"],"mappings":";AAAA,SAAiC,4BAAY;AAC7C,SAA+B,0BAAU;AACzC,SAAoC,+BAAe;AACnD,SAAwC,mCAAmB;AAC3D,SAAkC,6BAAa;","names":[]}
|
@@ -95,6 +95,8 @@ var ExternalStoreThreadListRuntimeCore = class {
|
|
95
95
|
throw new Error("External store adapter does not support renaming");
|
96
96
|
onRename(threadId, newTitle);
|
97
97
|
}
|
98
|
+
async detach() {
|
99
|
+
}
|
98
100
|
async archive(threadId) {
|
99
101
|
const onArchive = this.adapter.onArchive;
|
100
102
|
if (!onArchive)
|
@@ -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 {\n ExternalStoreThreadData,\n ExternalStoreThreadListAdapter,\n} from \"./ExternalStoreAdapter\";\n\nexport type ExternalStoreThreadFactory = () => ExternalStoreThreadRuntimeCore;\n\nconst EMPTY_ARRAY = Object.freeze([]);\nconst DEFAULT_THREAD_ID = \"DEFAULT_THREAD_ID\";\nconst DEFAULT_THREADS = Object.freeze([DEFAULT_THREAD_ID]);\nconst DEFAULT_THREAD: ExternalStoreThreadData<\"regular\"> = Object.freeze({\n threadId: DEFAULT_THREAD_ID,\n status: \"regular\",\n});\nconst RESOLVED_PROMISE = Promise.resolve();\n\nexport class ExternalStoreThreadListRuntimeCore\n implements ThreadListRuntimeCore\n{\n private _mainThreadId: string = DEFAULT_THREAD_ID;\n private _threads: readonly string[] = DEFAULT_THREADS;\n private _archivedThreads: readonly string[] = EMPTY_ARRAY;\n\n public get newThreadId() {\n return undefined;\n }\n\n public get threadIds() {\n return this._threads;\n }\n\n public get archivedThreadIds() {\n return this._archivedThreads;\n }\n\n public getLoadThreadsPromise() {\n return RESOLVED_PROMISE;\n }\n\n private _mainThread: ExternalStoreThreadRuntimeCore;\n\n public get mainThreadId() {\n return this._mainThreadId;\n }\n\n constructor(\n private adapter: ExternalStoreThreadListAdapter = {},\n private threadFactory: ExternalStoreThreadFactory,\n ) {\n this._mainThread = this.threadFactory();\n }\n\n public getMainThreadRuntimeCore() {\n return this._mainThread;\n }\n\n public getThreadRuntimeCore(): never {\n throw new Error(\"Method not implemented.\");\n }\n\n public getItemById(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 if (threadId === DEFAULT_THREAD_ID) return DEFAULT_THREAD;\n return undefined;\n }\n\n public __internal_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 (previousThreads !== newThreads) {\n this._threads =\n this.adapter.threads?.map((t) => t.threadId) ?? EMPTY_ARRAY;\n }\n\n if (previousArchivedThreads !== newArchivedThreads) {\n this._archivedThreads =\n this.adapter.archivedThreads?.map((t) => t.threadId) ?? EMPTY_ARRAY;\n }\n\n if (previousThreadId !== newThreadId) {\n this._mainThreadId = newThreadId;\n this._mainThread = this.threadFactory();\n }\n\n this._notifySubscribers();\n }\n\n public async switchToThread(threadId: string): Promise<void> {\n if (this._mainThreadId === 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 public initialize(): never {\n throw new Error(\"Method not implemented.\");\n }\n\n public generateTitle(): never {\n throw new Error(\"Method not implemented.\");\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":[]}
|
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 {\n ExternalStoreThreadData,\n ExternalStoreThreadListAdapter,\n} from \"./ExternalStoreAdapter\";\n\nexport type ExternalStoreThreadFactory = () => ExternalStoreThreadRuntimeCore;\n\nconst EMPTY_ARRAY = Object.freeze([]);\nconst DEFAULT_THREAD_ID = \"DEFAULT_THREAD_ID\";\nconst DEFAULT_THREADS = Object.freeze([DEFAULT_THREAD_ID]);\nconst DEFAULT_THREAD: ExternalStoreThreadData<\"regular\"> = Object.freeze({\n threadId: DEFAULT_THREAD_ID,\n status: \"regular\",\n});\nconst RESOLVED_PROMISE = Promise.resolve();\n\nexport class ExternalStoreThreadListRuntimeCore\n implements ThreadListRuntimeCore\n{\n private _mainThreadId: string = DEFAULT_THREAD_ID;\n private _threads: readonly string[] = DEFAULT_THREADS;\n private _archivedThreads: readonly string[] = EMPTY_ARRAY;\n\n public get newThreadId() {\n return undefined;\n }\n\n public get threadIds() {\n return this._threads;\n }\n\n public get archivedThreadIds() {\n return this._archivedThreads;\n }\n\n public getLoadThreadsPromise() {\n return RESOLVED_PROMISE;\n }\n\n private _mainThread: ExternalStoreThreadRuntimeCore;\n\n public get mainThreadId() {\n return this._mainThreadId;\n }\n\n constructor(\n private adapter: ExternalStoreThreadListAdapter = {},\n private threadFactory: ExternalStoreThreadFactory,\n ) {\n this._mainThread = this.threadFactory();\n }\n\n public getMainThreadRuntimeCore() {\n return this._mainThread;\n }\n\n public getThreadRuntimeCore(): never {\n throw new Error(\"Method not implemented.\");\n }\n\n public getItemById(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 if (threadId === DEFAULT_THREAD_ID) return DEFAULT_THREAD;\n return undefined;\n }\n\n public __internal_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 (previousThreads !== newThreads) {\n this._threads =\n this.adapter.threads?.map((t) => t.threadId) ?? EMPTY_ARRAY;\n }\n\n if (previousArchivedThreads !== newArchivedThreads) {\n this._archivedThreads =\n this.adapter.archivedThreads?.map((t) => t.threadId) ?? EMPTY_ARRAY;\n }\n\n if (previousThreadId !== newThreadId) {\n this._mainThreadId = newThreadId;\n this._mainThread = this.threadFactory();\n }\n\n this._notifySubscribers();\n }\n\n public async switchToThread(threadId: string): Promise<void> {\n if (this._mainThreadId === 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 detach(): Promise<void> {\n // no-op\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 public initialize(): never {\n throw new Error(\"Method not implemented.\");\n }\n\n public generateTitle(): never {\n throw new Error(\"Method not implemented.\");\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":[]}
|
@@ -53,6 +53,9 @@ var LocalThreadListRuntimeCore = class extends BaseSubscribable {
|
|
53
53
|
archive() {
|
54
54
|
throw new Error("Method not implemented.");
|
55
55
|
}
|
56
|
+
detach() {
|
57
|
+
throw new Error("Method not implemented.");
|
58
|
+
}
|
56
59
|
unarchive() {
|
57
60
|
throw new Error("Method not implemented.");
|
58
61
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/local/LocalThreadListRuntimeCore.tsx"],"sourcesContent":["import { ThreadListRuntimeCore } from \"../core/ThreadListRuntimeCore\";\nimport { BaseSubscribable } from \"../remote-thread-list/BaseSubscribable\";\nimport { LocalThreadRuntimeCore } from \"./LocalThreadRuntimeCore\";\n\nexport type LocalThreadFactory = () => LocalThreadRuntimeCore;\n\nconst EMPTY_ARRAY = Object.freeze([]);\nexport class LocalThreadListRuntimeCore\n extends BaseSubscribable\n implements ThreadListRuntimeCore\n{\n private _mainThread: LocalThreadRuntimeCore;\n constructor(_threadFactory: LocalThreadFactory) {\n super();\n\n this._mainThread = _threadFactory();\n }\n\n public getMainThreadRuntimeCore() {\n return this._mainThread;\n }\n\n public get newThreadId(): string {\n throw new Error(\"Method not implemented.\");\n }\n\n public get threadIds(): readonly string[] {\n throw EMPTY_ARRAY;\n }\n\n public get archivedThreadIds(): readonly string[] {\n throw EMPTY_ARRAY;\n }\n\n public get mainThreadId(): string {\n return \"__DEFAULT_ID__\";\n }\n\n public getThreadRuntimeCore(): never {\n throw new Error(\"Method not implemented.\");\n }\n\n public getLoadThreadsPromise(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public getItemById(threadId: string) {\n if (threadId === this.mainThreadId) {\n return {\n status: \"regular\" as const,\n threadId: this.mainThreadId,\n remoteId: this.mainThreadId,\n externalId: undefined,\n title: undefined,\n isMain: true,\n };\n }\n throw new Error(\"Method not implemented\");\n }\n\n public async switchToThread(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public switchToNewThread(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public rename(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public archive(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public unarchive(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public delete(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public initialize(): never {\n throw new Error(\"Method not implemented.\");\n }\n\n public generateTitle(): never {\n throw new Error(\"Method not implemented.\");\n }\n}\n"],"mappings":";AACA,SAAS,wBAAwB;AAKjC,IAAM,cAAc,OAAO,OAAO,CAAC,CAAC;AAC7B,IAAM,6BAAN,cACG,iBAEV;AAAA,EACU;AAAA,EACR,YAAY,gBAAoC;AAC9C,UAAM;AAEN,SAAK,cAAc,eAAe;AAAA,EACpC;AAAA,EAEO,2BAA2B;AAChC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAW,cAAsB;AAC/B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEA,IAAW,YAA+B;AACxC,UAAM;AAAA,EACR;AAAA,EAEA,IAAW,oBAAuC;AAChD,UAAM;AAAA,EACR;AAAA,EAEA,IAAW,eAAuB;AAChC,WAAO;AAAA,EACT;AAAA,EAEO,uBAA8B;AACnC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,wBAAuC;AAC5C,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,YAAY,UAAkB;AACnC,QAAI,aAAa,KAAK,cAAc;AAClC,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,UAAU,KAAK;AAAA,QACf,UAAU,KAAK;AAAA,QACf,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,IACF;AACA,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAAA,EAEA,MAAa,iBAAgC;AAC3C,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,oBAAmC;AACxC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,SAAwB;AAC7B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,UAAyB;AAC9B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,YAA2B;AAChC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,SAAwB;AAC7B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,aAAoB;AACzB,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,gBAAuB;AAC5B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AACF;","names":[]}
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/local/LocalThreadListRuntimeCore.tsx"],"sourcesContent":["import { ThreadListRuntimeCore } from \"../core/ThreadListRuntimeCore\";\nimport { BaseSubscribable } from \"../remote-thread-list/BaseSubscribable\";\nimport { LocalThreadRuntimeCore } from \"./LocalThreadRuntimeCore\";\n\nexport type LocalThreadFactory = () => LocalThreadRuntimeCore;\n\nconst EMPTY_ARRAY = Object.freeze([]);\nexport class LocalThreadListRuntimeCore\n extends BaseSubscribable\n implements ThreadListRuntimeCore\n{\n private _mainThread: LocalThreadRuntimeCore;\n constructor(_threadFactory: LocalThreadFactory) {\n super();\n\n this._mainThread = _threadFactory();\n }\n\n public getMainThreadRuntimeCore() {\n return this._mainThread;\n }\n\n public get newThreadId(): string {\n throw new Error(\"Method not implemented.\");\n }\n\n public get threadIds(): readonly string[] {\n throw EMPTY_ARRAY;\n }\n\n public get archivedThreadIds(): readonly string[] {\n throw EMPTY_ARRAY;\n }\n\n public get mainThreadId(): string {\n return \"__DEFAULT_ID__\";\n }\n\n public getThreadRuntimeCore(): never {\n throw new Error(\"Method not implemented.\");\n }\n\n public getLoadThreadsPromise(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public getItemById(threadId: string) {\n if (threadId === this.mainThreadId) {\n return {\n status: \"regular\" as const,\n threadId: this.mainThreadId,\n remoteId: this.mainThreadId,\n externalId: undefined,\n title: undefined,\n isMain: true,\n };\n }\n throw new Error(\"Method not implemented\");\n }\n\n public async switchToThread(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public switchToNewThread(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public rename(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public archive(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public detach(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public unarchive(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public delete(): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n\n public initialize(): never {\n throw new Error(\"Method not implemented.\");\n }\n\n public generateTitle(): never {\n throw new Error(\"Method not implemented.\");\n }\n}\n"],"mappings":";AACA,SAAS,wBAAwB;AAKjC,IAAM,cAAc,OAAO,OAAO,CAAC,CAAC;AAC7B,IAAM,6BAAN,cACG,iBAEV;AAAA,EACU;AAAA,EACR,YAAY,gBAAoC;AAC9C,UAAM;AAEN,SAAK,cAAc,eAAe;AAAA,EACpC;AAAA,EAEO,2BAA2B;AAChC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAW,cAAsB;AAC/B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEA,IAAW,YAA+B;AACxC,UAAM;AAAA,EACR;AAAA,EAEA,IAAW,oBAAuC;AAChD,UAAM;AAAA,EACR;AAAA,EAEA,IAAW,eAAuB;AAChC,WAAO;AAAA,EACT;AAAA,EAEO,uBAA8B;AACnC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,wBAAuC;AAC5C,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,YAAY,UAAkB;AACnC,QAAI,aAAa,KAAK,cAAc;AAClC,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,UAAU,KAAK;AAAA,QACf,UAAU,KAAK;AAAA,QACf,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,IACF;AACA,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAAA,EAEA,MAAa,iBAAgC;AAC3C,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,oBAAmC;AACxC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,SAAwB;AAC7B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,UAAyB;AAC9B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,SAAwB;AAC7B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,YAA2B;AAChC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,SAAwB;AAC7B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,aAAoB;AACzB,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAAA,EAEO,gBAAuB;AAC5B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AACF;","names":[]}
|
@@ -267,8 +267,12 @@ var LocalThreadRuntimeCore = class extends BaseThreadRuntimeCore {
|
|
267
267
|
}
|
268
268
|
return message;
|
269
269
|
}
|
270
|
+
detach() {
|
271
|
+
this.abortController?.abort({ detach: true });
|
272
|
+
this.abortController = null;
|
273
|
+
}
|
270
274
|
cancelRun() {
|
271
|
-
this.abortController?.abort();
|
275
|
+
this.abortController?.abort({ detach: false });
|
272
276
|
this.abortController = null;
|
273
277
|
}
|
274
278
|
addToolResult({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/local/LocalThreadRuntimeCore.tsx"],"sourcesContent":["import { fromThreadMessageLike, generateId } from \"../../internal\";\nimport type { AppendMessage, ThreadAssistantMessage } from \"../../types\";\nimport type { ChatModelAdapter, ChatModelRunResult } from \"./ChatModelAdapter\";\nimport { shouldContinue } from \"./shouldContinue\";\nimport { LocalRuntimeOptionsBase } from \"./LocalRuntimeOptions\";\nimport {\n AddToolResultOptions,\n ThreadSuggestion,\n ThreadRuntimeCore,\n StartRunConfig,\n ResumeRunConfig,\n} from \"../core/ThreadRuntimeCore\";\nimport { BaseThreadRuntimeCore } from \"../core/BaseThreadRuntimeCore\";\nimport { RunConfig } from \"../../types/AssistantTypes\";\nimport { ModelContextProvider } from \"../../model-context\";\n\nexport class LocalThreadRuntimeCore\n extends BaseThreadRuntimeCore\n implements ThreadRuntimeCore\n{\n public readonly capabilities = {\n switchToBranch: true,\n edit: true,\n reload: true,\n cancel: true,\n unstable_copy: true,\n speech: false,\n attachments: false,\n feedback: false,\n };\n\n private abortController: AbortController | null = null;\n\n public readonly isDisabled = false;\n\n private _suggestions: readonly ThreadSuggestion[] = [];\n private _suggestionsController: AbortController | null = null;\n public get suggestions(): readonly ThreadSuggestion[] {\n return this._suggestions;\n }\n\n public get adapters() {\n return this._options.adapters;\n }\n\n constructor(\n contextProvider: ModelContextProvider,\n options: LocalRuntimeOptionsBase,\n ) {\n super(contextProvider);\n this.__internal_setOptions(options);\n }\n\n private _options!: LocalRuntimeOptionsBase;\n\n private _lastRunConfig: RunConfig = {};\n\n public get extras() {\n return undefined;\n }\n\n public __internal_setOptions(options: LocalRuntimeOptionsBase) {\n if (this._options === options) return;\n\n this._options = options;\n\n let hasUpdates = false;\n\n const canSpeak = options.adapters?.speech !== undefined;\n if (this.capabilities.speech !== canSpeak) {\n this.capabilities.speech = canSpeak;\n hasUpdates = true;\n }\n\n const canAttach = options.adapters?.attachments !== undefined;\n if (this.capabilities.attachments !== canAttach) {\n this.capabilities.attachments = canAttach;\n hasUpdates = true;\n }\n\n const canFeedback = options.adapters?.feedback !== undefined;\n if (this.capabilities.feedback !== canFeedback) {\n this.capabilities.feedback = canFeedback;\n hasUpdates = true;\n }\n\n if (hasUpdates) this._notifySubscribers();\n }\n\n private _loadPromise: Promise<void> | undefined;\n public __internal_load() {\n if (this._loadPromise) return this._loadPromise;\n\n const promise = this.adapters.history?.load() ?? Promise.resolve(null);\n\n this._loadPromise = promise.then((repo) => {\n if (!repo) return;\n this.repository.import(repo);\n this._notifySubscribers();\n\n const resume = this.adapters.history?.resume?.bind(this.adapters.history);\n if (repo.unstable_resume && resume) {\n this.startRun(\n {\n parentId: this.repository.headId,\n sourceId: this.repository.headId,\n runConfig: this._lastRunConfig,\n },\n resume,\n );\n }\n });\n\n return this._loadPromise;\n }\n\n public async append(message: AppendMessage): Promise<void> {\n this.ensureInitialized();\n\n const newMessage = fromThreadMessageLike(message, generateId(), {\n type: \"complete\",\n reason: \"unknown\",\n });\n this.repository.addOrUpdateMessage(message.parentId, newMessage);\n this._options.adapters.history?.append({\n parentId: message.parentId,\n message: newMessage,\n });\n\n const startRun = message.startRun ?? message.role === \"user\";\n if (startRun) {\n await this.startRun({\n parentId: newMessage.id,\n sourceId: message.sourceId,\n runConfig: message.runConfig ?? {},\n });\n } else {\n this.repository.resetHead(newMessage.id);\n this._notifySubscribers();\n }\n }\n\n public resumeRun({ stream, ...startConfig }: ResumeRunConfig): Promise<void> {\n return this.startRun(startConfig, stream);\n }\n\n public async startRun(\n { parentId, runConfig }: StartRunConfig,\n runCallback?: ChatModelAdapter[\"run\"],\n ): Promise<void> {\n this.ensureInitialized();\n\n this.repository.resetHead(parentId);\n\n // add assistant message\n const id = generateId();\n let message: ThreadAssistantMessage = {\n id,\n role: \"assistant\",\n status: { type: \"running\" },\n content: [],\n metadata: {\n unstable_state: this.state,\n unstable_annotations: [],\n unstable_data: [],\n steps: [],\n custom: {},\n },\n createdAt: new Date(),\n };\n\n this._notifyEventSubscribers(\"run-start\");\n\n try {\n this._suggestions = [];\n this._suggestionsController?.abort();\n this._suggestionsController = null;\n\n do {\n message = await this.performRoundtrip(\n parentId,\n message,\n runConfig,\n runCallback,\n );\n runCallback = undefined;\n } while (shouldContinue(message, this._options.unstable_humanToolNames));\n } finally {\n this._notifyEventSubscribers(\"run-end\");\n }\n\n this._suggestionsController = new AbortController();\n const signal = this._suggestionsController.signal;\n if (\n this.adapters.suggestion &&\n message.status?.type !== \"requires-action\"\n ) {\n const promiseOrGenerator = this.adapters.suggestion?.generate({\n messages: this.messages,\n });\n\n if (Symbol.asyncIterator in promiseOrGenerator) {\n for await (const r of promiseOrGenerator) {\n if (signal.aborted) break;\n this._suggestions = r;\n }\n } else {\n const result = await promiseOrGenerator;\n if (signal.aborted) return;\n this._suggestions = result;\n }\n }\n }\n\n private async performRoundtrip(\n parentId: string | null,\n message: ThreadAssistantMessage,\n runConfig: RunConfig | undefined,\n runCallback?: ChatModelAdapter[\"run\"],\n ) {\n const messages = this.repository.getMessages();\n\n // abort existing run\n this.abortController?.abort();\n this.abortController = new AbortController();\n\n const initialContent = message.content;\n const initialAnnotations = message.metadata?.unstable_annotations;\n const initialData = message.metadata?.unstable_data;\n const initialSteps = message.metadata?.steps;\n const initalCustom = message.metadata?.custom;\n const updateMessage = (m: Partial<ChatModelRunResult>) => {\n const newSteps = m.metadata?.steps;\n const steps = newSteps\n ? [...(initialSteps ?? []), ...newSteps]\n : undefined;\n\n const newAnnotations = m.metadata?.unstable_annotations;\n const newData = m.metadata?.unstable_data;\n const annotations = newAnnotations\n ? [...(initialAnnotations ?? []), ...newAnnotations]\n : undefined;\n const data = newData ? [...(initialData ?? []), ...newData] : undefined;\n\n message = {\n ...message,\n ...(m.content\n ? { content: [...initialContent, ...(m.content ?? [])] }\n : undefined),\n status: m.status ?? message.status,\n ...(m.metadata\n ? {\n metadata: {\n ...message.metadata,\n ...(m.metadata.unstable_state\n ? { unstable_state: m.metadata.unstable_state }\n : undefined),\n ...(annotations\n ? { unstable_annotations: annotations }\n : undefined),\n ...(data ? { unstable_data: data } : undefined),\n ...(steps ? { steps } : undefined),\n ...(m.metadata?.custom\n ? {\n custom: { ...(initalCustom ?? {}), ...m.metadata.custom },\n }\n : undefined),\n },\n }\n : undefined),\n };\n this.repository.addOrUpdateMessage(parentId, message);\n this._notifySubscribers();\n };\n\n const maxSteps = this._options.maxSteps ?? 2;\n\n const steps = message.metadata?.steps?.length ?? 0;\n if (steps >= maxSteps) {\n // reached max tool steps\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"tool-calls\",\n },\n });\n return message;\n } else {\n updateMessage({\n status: {\n type: \"running\",\n },\n });\n }\n\n try {\n this._lastRunConfig = runConfig ?? {};\n const context = this.getModelContext();\n\n runCallback =\n runCallback ??\n this.adapters.chatModel.run.bind(this.adapters.chatModel);\n\n const abortSignal = this.abortController.signal;\n const promiseOrGenerator = runCallback({\n messages,\n runConfig: this._lastRunConfig,\n abortSignal,\n context,\n config: context,\n unstable_assistantMessageId: message.id,\n unstable_getMessage() {\n return message;\n },\n });\n\n // handle async iterator for streaming results\n if (Symbol.asyncIterator in promiseOrGenerator) {\n for await (const r of promiseOrGenerator) {\n if (abortSignal.aborted) {\n updateMessage({\n status: { type: \"incomplete\", reason: \"cancelled\" },\n });\n break;\n }\n\n updateMessage(r);\n }\n } else {\n updateMessage(await promiseOrGenerator);\n }\n\n if (message.status.type === \"running\") {\n updateMessage({\n status: { type: \"complete\", reason: \"unknown\" },\n });\n }\n } catch (e) {\n // TODO this should be handled by the run result stream\n if (e instanceof Error && e.name === \"AbortError\") {\n updateMessage({\n status: { type: \"incomplete\", reason: \"cancelled\" },\n });\n } else {\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"error\",\n error:\n e instanceof Error\n ? e.message\n : `[${typeof e}] ${new String(e).toString()}`,\n },\n });\n\n throw e;\n }\n } finally {\n this.abortController = null;\n\n if (\n message.status.type === \"complete\" ||\n message.status.type === \"incomplete\"\n ) {\n await this._options.adapters.history?.append({\n parentId,\n message: message,\n });\n }\n }\n return message;\n }\n\n public cancelRun() {\n this.abortController?.abort();\n this.abortController = null;\n }\n\n public addToolResult({\n messageId,\n toolCallId,\n result,\n }: AddToolResultOptions) {\n const messageData = this.repository.getMessage(messageId);\n const { parentId } = messageData;\n let { message } = messageData;\n\n if (message.role !== \"assistant\")\n throw new Error(\"Tried to add tool result to non-assistant message\");\n\n let added = false;\n let found = false;\n const newContent = message.content.map((c) => {\n if (c.type !== \"tool-call\") return c;\n if (c.toolCallId !== toolCallId) return c;\n found = true;\n if (!c.result) added = true;\n return {\n ...c,\n result,\n };\n });\n\n if (!found)\n throw new Error(\"Tried to add tool result to non-existing tool call\");\n\n message = {\n ...message,\n content: newContent,\n };\n this.repository.addOrUpdateMessage(parentId, message);\n\n if (\n added &&\n shouldContinue(message, this._options.unstable_humanToolNames)\n ) {\n this.performRoundtrip(parentId, message, this._lastRunConfig);\n }\n }\n}\n"],"mappings":"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","names":["steps"]}
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/local/LocalThreadRuntimeCore.tsx"],"sourcesContent":["import { fromThreadMessageLike, generateId } from \"../../internal\";\nimport type { AppendMessage, ThreadAssistantMessage } from \"../../types\";\nimport type { ChatModelAdapter, ChatModelRunResult } from \"./ChatModelAdapter\";\nimport { shouldContinue } from \"./shouldContinue\";\nimport { LocalRuntimeOptionsBase } from \"./LocalRuntimeOptions\";\nimport {\n AddToolResultOptions,\n ThreadSuggestion,\n ThreadRuntimeCore,\n StartRunConfig,\n ResumeRunConfig,\n} from \"../core/ThreadRuntimeCore\";\nimport { BaseThreadRuntimeCore } from \"../core/BaseThreadRuntimeCore\";\nimport { RunConfig } from \"../../types/AssistantTypes\";\nimport { ModelContextProvider } from \"../../model-context\";\n\nexport class LocalThreadRuntimeCore\n extends BaseThreadRuntimeCore\n implements ThreadRuntimeCore\n{\n public readonly capabilities = {\n switchToBranch: true,\n edit: true,\n reload: true,\n cancel: true,\n unstable_copy: true,\n speech: false,\n attachments: false,\n feedback: false,\n };\n\n private abortController: AbortController | null = null;\n\n public readonly isDisabled = false;\n\n private _suggestions: readonly ThreadSuggestion[] = [];\n private _suggestionsController: AbortController | null = null;\n public get suggestions(): readonly ThreadSuggestion[] {\n return this._suggestions;\n }\n\n public get adapters() {\n return this._options.adapters;\n }\n\n constructor(\n contextProvider: ModelContextProvider,\n options: LocalRuntimeOptionsBase,\n ) {\n super(contextProvider);\n this.__internal_setOptions(options);\n }\n\n private _options!: LocalRuntimeOptionsBase;\n\n private _lastRunConfig: RunConfig = {};\n\n public get extras() {\n return undefined;\n }\n\n public __internal_setOptions(options: LocalRuntimeOptionsBase) {\n if (this._options === options) return;\n\n this._options = options;\n\n let hasUpdates = false;\n\n const canSpeak = options.adapters?.speech !== undefined;\n if (this.capabilities.speech !== canSpeak) {\n this.capabilities.speech = canSpeak;\n hasUpdates = true;\n }\n\n const canAttach = options.adapters?.attachments !== undefined;\n if (this.capabilities.attachments !== canAttach) {\n this.capabilities.attachments = canAttach;\n hasUpdates = true;\n }\n\n const canFeedback = options.adapters?.feedback !== undefined;\n if (this.capabilities.feedback !== canFeedback) {\n this.capabilities.feedback = canFeedback;\n hasUpdates = true;\n }\n\n if (hasUpdates) this._notifySubscribers();\n }\n\n private _loadPromise: Promise<void> | undefined;\n public __internal_load() {\n if (this._loadPromise) return this._loadPromise;\n\n const promise = this.adapters.history?.load() ?? Promise.resolve(null);\n\n this._loadPromise = promise.then((repo) => {\n if (!repo) return;\n this.repository.import(repo);\n this._notifySubscribers();\n\n const resume = this.adapters.history?.resume?.bind(this.adapters.history);\n if (repo.unstable_resume && resume) {\n this.startRun(\n {\n parentId: this.repository.headId,\n sourceId: this.repository.headId,\n runConfig: this._lastRunConfig,\n },\n resume,\n );\n }\n });\n\n return this._loadPromise;\n }\n\n public async append(message: AppendMessage): Promise<void> {\n this.ensureInitialized();\n\n const newMessage = fromThreadMessageLike(message, generateId(), {\n type: \"complete\",\n reason: \"unknown\",\n });\n this.repository.addOrUpdateMessage(message.parentId, newMessage);\n this._options.adapters.history?.append({\n parentId: message.parentId,\n message: newMessage,\n });\n\n const startRun = message.startRun ?? message.role === \"user\";\n if (startRun) {\n await this.startRun({\n parentId: newMessage.id,\n sourceId: message.sourceId,\n runConfig: message.runConfig ?? {},\n });\n } else {\n this.repository.resetHead(newMessage.id);\n this._notifySubscribers();\n }\n }\n\n public resumeRun({ stream, ...startConfig }: ResumeRunConfig): Promise<void> {\n return this.startRun(startConfig, stream);\n }\n\n public async startRun(\n { parentId, runConfig }: StartRunConfig,\n runCallback?: ChatModelAdapter[\"run\"],\n ): Promise<void> {\n this.ensureInitialized();\n\n this.repository.resetHead(parentId);\n\n // add assistant message\n const id = generateId();\n let message: ThreadAssistantMessage = {\n id,\n role: \"assistant\",\n status: { type: \"running\" },\n content: [],\n metadata: {\n unstable_state: this.state,\n unstable_annotations: [],\n unstable_data: [],\n steps: [],\n custom: {},\n },\n createdAt: new Date(),\n };\n\n this._notifyEventSubscribers(\"run-start\");\n\n try {\n this._suggestions = [];\n this._suggestionsController?.abort();\n this._suggestionsController = null;\n\n do {\n message = await this.performRoundtrip(\n parentId,\n message,\n runConfig,\n runCallback,\n );\n runCallback = undefined;\n } while (shouldContinue(message, this._options.unstable_humanToolNames));\n } finally {\n this._notifyEventSubscribers(\"run-end\");\n }\n\n this._suggestionsController = new AbortController();\n const signal = this._suggestionsController.signal;\n if (\n this.adapters.suggestion &&\n message.status?.type !== \"requires-action\"\n ) {\n const promiseOrGenerator = this.adapters.suggestion?.generate({\n messages: this.messages,\n });\n\n if (Symbol.asyncIterator in promiseOrGenerator) {\n for await (const r of promiseOrGenerator) {\n if (signal.aborted) break;\n this._suggestions = r;\n }\n } else {\n const result = await promiseOrGenerator;\n if (signal.aborted) return;\n this._suggestions = result;\n }\n }\n }\n\n private async performRoundtrip(\n parentId: string | null,\n message: ThreadAssistantMessage,\n runConfig: RunConfig | undefined,\n runCallback?: ChatModelAdapter[\"run\"],\n ) {\n const messages = this.repository.getMessages();\n\n // abort existing run\n this.abortController?.abort();\n this.abortController = new AbortController();\n\n const initialContent = message.content;\n const initialAnnotations = message.metadata?.unstable_annotations;\n const initialData = message.metadata?.unstable_data;\n const initialSteps = message.metadata?.steps;\n const initalCustom = message.metadata?.custom;\n const updateMessage = (m: Partial<ChatModelRunResult>) => {\n const newSteps = m.metadata?.steps;\n const steps = newSteps\n ? [...(initialSteps ?? []), ...newSteps]\n : undefined;\n\n const newAnnotations = m.metadata?.unstable_annotations;\n const newData = m.metadata?.unstable_data;\n const annotations = newAnnotations\n ? [...(initialAnnotations ?? []), ...newAnnotations]\n : undefined;\n const data = newData ? [...(initialData ?? []), ...newData] : undefined;\n\n message = {\n ...message,\n ...(m.content\n ? { content: [...initialContent, ...(m.content ?? [])] }\n : undefined),\n status: m.status ?? message.status,\n ...(m.metadata\n ? {\n metadata: {\n ...message.metadata,\n ...(m.metadata.unstable_state\n ? { unstable_state: m.metadata.unstable_state }\n : undefined),\n ...(annotations\n ? { unstable_annotations: annotations }\n : undefined),\n ...(data ? { unstable_data: data } : undefined),\n ...(steps ? { steps } : undefined),\n ...(m.metadata?.custom\n ? {\n custom: { ...(initalCustom ?? {}), ...m.metadata.custom },\n }\n : undefined),\n },\n }\n : undefined),\n };\n this.repository.addOrUpdateMessage(parentId, message);\n this._notifySubscribers();\n };\n\n const maxSteps = this._options.maxSteps ?? 2;\n\n const steps = message.metadata?.steps?.length ?? 0;\n if (steps >= maxSteps) {\n // reached max tool steps\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"tool-calls\",\n },\n });\n return message;\n } else {\n updateMessage({\n status: {\n type: \"running\",\n },\n });\n }\n\n try {\n this._lastRunConfig = runConfig ?? {};\n const context = this.getModelContext();\n\n runCallback =\n runCallback ??\n this.adapters.chatModel.run.bind(this.adapters.chatModel);\n\n const abortSignal = this.abortController.signal;\n const promiseOrGenerator = runCallback({\n messages,\n runConfig: this._lastRunConfig,\n abortSignal,\n context,\n config: context,\n unstable_assistantMessageId: message.id,\n unstable_getMessage() {\n return message;\n },\n });\n\n // handle async iterator for streaming results\n if (Symbol.asyncIterator in promiseOrGenerator) {\n for await (const r of promiseOrGenerator) {\n if (abortSignal.aborted) {\n updateMessage({\n status: { type: \"incomplete\", reason: \"cancelled\" },\n });\n break;\n }\n\n updateMessage(r);\n }\n } else {\n updateMessage(await promiseOrGenerator);\n }\n\n if (message.status.type === \"running\") {\n updateMessage({\n status: { type: \"complete\", reason: \"unknown\" },\n });\n }\n } catch (e) {\n // TODO this should be handled by the run result stream\n if (e instanceof Error && e.name === \"AbortError\") {\n updateMessage({\n status: { type: \"incomplete\", reason: \"cancelled\" },\n });\n } else {\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"error\",\n error:\n e instanceof Error\n ? e.message\n : `[${typeof e}] ${new String(e).toString()}`,\n },\n });\n\n throw e;\n }\n } finally {\n this.abortController = null;\n\n if (\n message.status.type === \"complete\" ||\n message.status.type === \"incomplete\"\n ) {\n await this._options.adapters.history?.append({\n parentId,\n message: message,\n });\n }\n }\n return message;\n }\n\n public detach() {\n this.abortController?.abort({ detach: true });\n this.abortController = null;\n }\n\n public cancelRun() {\n this.abortController?.abort({ detach: false });\n this.abortController = null;\n }\n\n public addToolResult({\n messageId,\n toolCallId,\n result,\n }: AddToolResultOptions) {\n const messageData = this.repository.getMessage(messageId);\n const { parentId } = messageData;\n let { message } = messageData;\n\n if (message.role !== \"assistant\")\n throw new Error(\"Tried to add tool result to non-assistant message\");\n\n let added = false;\n let found = false;\n const newContent = message.content.map((c) => {\n if (c.type !== \"tool-call\") return c;\n if (c.toolCallId !== toolCallId) return c;\n found = true;\n if (!c.result) added = true;\n return {\n ...c,\n result,\n };\n });\n\n if (!found)\n throw new Error(\"Tried to add tool result to non-existing tool call\");\n\n message = {\n ...message,\n content: newContent,\n };\n this.repository.addOrUpdateMessage(parentId, message);\n\n if (\n added &&\n shouldContinue(message, this._options.unstable_humanToolNames)\n ) {\n this.performRoundtrip(parentId, message, this._lastRunConfig);\n }\n }\n}\n"],"mappings":"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","names":["steps"]}
|
@@ -21,6 +21,11 @@ var useLocalThreadRuntime = (adapter, { initialMessages, ...options }) => {
|
|
21
21
|
[adapter, options, threadListAdapters]
|
22
22
|
);
|
23
23
|
const [runtime] = useState(() => new LocalRuntimeCore(opt, initialMessages));
|
24
|
+
useEffect(() => {
|
25
|
+
return () => {
|
26
|
+
runtime.threads.getMainThreadRuntimeCore().detach();
|
27
|
+
};
|
28
|
+
}, [runtime]);
|
24
29
|
useEffect(() => {
|
25
30
|
runtime.threads.getMainThreadRuntimeCore().__internal_setOptions(opt);
|
26
31
|
runtime.threads.getMainThreadRuntimeCore().__internal_load();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/local/useLocalRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useState } from \"react\";\nimport type { ChatModelAdapter } from \"./ChatModelAdapter\";\nimport { LocalRuntimeCore } from \"./LocalRuntimeCore\";\nimport { LocalRuntimeOptions } from \"./LocalRuntimeOptions\";\nimport { useRuntimeAdapters } from \"../adapters/RuntimeAdapterProvider\";\nimport { useRemoteThreadListRuntime } from \"../remote-thread-list/useRemoteThreadListRuntime\";\nimport { useCloudThreadListAdapter } from \"../remote-thread-list/adapter/cloud\";\nimport { AssistantRuntimeImpl } from \"../../internal\";\n\nconst useLocalThreadRuntime = (\n adapter: ChatModelAdapter,\n { initialMessages, ...options }: LocalRuntimeOptions,\n) => {\n const { modelContext, ...threadListAdapters } = useRuntimeAdapters() ?? {};\n const opt = useMemo(\n () => ({\n ...options,\n adapters: {\n ...threadListAdapters,\n ...options.adapters,\n chatModel: adapter,\n },\n }),\n [adapter, options, threadListAdapters],\n );\n\n const [runtime] = useState(() => new LocalRuntimeCore(opt, initialMessages));\n\n useEffect(() => {\n runtime.threads.getMainThreadRuntimeCore().__internal_setOptions(opt);\n runtime.threads.getMainThreadRuntimeCore().__internal_load();\n }, [runtime, opt]);\n\n useEffect(() => {\n if (!modelContext) return undefined;\n return runtime.registerModelContextProvider(modelContext);\n }, [modelContext, runtime]);\n\n return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]);\n};\n\nexport const useLocalRuntime = (\n adapter: ChatModelAdapter,\n { cloud, ...options }: LocalRuntimeOptions = {},\n) => {\n const cloudAdapter = useCloudThreadListAdapter({ cloud });\n return useRemoteThreadListRuntime({\n runtimeHook: function RuntimeHook() {\n return useLocalThreadRuntime(adapter, options);\n },\n adapter: cloudAdapter,\n });\n};\n"],"mappings":";;;AAEA,SAAS,WAAW,SAAS,gBAAgB;AAE7C,SAAS,wBAAwB;AAEjC,SAAS,0BAA0B;AACnC,SAAS,kCAAkC;AAC3C,SAAS,iCAAiC;AAC1C,SAAS,4BAA4B;AAErC,IAAM,wBAAwB,CAC5B,SACA,EAAE,iBAAiB,GAAG,QAAQ,MAC3B;AACH,QAAM,EAAE,cAAc,GAAG,mBAAmB,IAAI,mBAAmB,KAAK,CAAC;AACzE,QAAM,MAAM;AAAA,IACV,OAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU;AAAA,QACR,GAAG;AAAA,QACH,GAAG,QAAQ;AAAA,QACX,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,CAAC,SAAS,SAAS,kBAAkB;AAAA,EACvC;AAEA,QAAM,CAAC,OAAO,IAAI,SAAS,MAAM,IAAI,iBAAiB,KAAK,eAAe,CAAC;AAE3E,YAAU,MAAM;AACd,YAAQ,QAAQ,yBAAyB,EAAE,sBAAsB,GAAG;AACpE,YAAQ,QAAQ,yBAAyB,EAAE,gBAAgB;AAAA,EAC7D,GAAG,CAAC,SAAS,GAAG,CAAC;AAEjB,YAAU,MAAM;AACd,QAAI,CAAC,aAAc,QAAO;AAC1B,WAAO,QAAQ,6BAA6B,YAAY;AAAA,EAC1D,GAAG,CAAC,cAAc,OAAO,CAAC;AAE1B,SAAO,QAAQ,MAAM,IAAI,qBAAqB,OAAO,GAAG,CAAC,OAAO,CAAC;AACnE;AAEO,IAAM,kBAAkB,CAC7B,SACA,EAAE,OAAO,GAAG,QAAQ,IAAyB,CAAC,MAC3C;AACH,QAAM,eAAe,0BAA0B,EAAE,MAAM,CAAC;AACxD,SAAO,2BAA2B;AAAA,IAChC,aAAa,SAAS,cAAc;AAClC,aAAO,sBAAsB,SAAS,OAAO;AAAA,IAC/C;AAAA,IACA,SAAS;AAAA,EACX,CAAC;AACH;","names":[]}
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/local/useLocalRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useState } from \"react\";\nimport type { ChatModelAdapter } from \"./ChatModelAdapter\";\nimport { LocalRuntimeCore } from \"./LocalRuntimeCore\";\nimport { LocalRuntimeOptions } from \"./LocalRuntimeOptions\";\nimport { useRuntimeAdapters } from \"../adapters/RuntimeAdapterProvider\";\nimport { useRemoteThreadListRuntime } from \"../remote-thread-list/useRemoteThreadListRuntime\";\nimport { useCloudThreadListAdapter } from \"../remote-thread-list/adapter/cloud\";\nimport { AssistantRuntimeImpl } from \"../../internal\";\n\nconst useLocalThreadRuntime = (\n adapter: ChatModelAdapter,\n { initialMessages, ...options }: LocalRuntimeOptions,\n) => {\n const { modelContext, ...threadListAdapters } = useRuntimeAdapters() ?? {};\n const opt = useMemo(\n () => ({\n ...options,\n adapters: {\n ...threadListAdapters,\n ...options.adapters,\n chatModel: adapter,\n },\n }),\n [adapter, options, threadListAdapters],\n );\n\n const [runtime] = useState(() => new LocalRuntimeCore(opt, initialMessages));\n\n useEffect(() => {\n return () => {\n runtime.threads.getMainThreadRuntimeCore().detach();\n };\n }, [runtime]);\n\n useEffect(() => {\n runtime.threads.getMainThreadRuntimeCore().__internal_setOptions(opt);\n runtime.threads.getMainThreadRuntimeCore().__internal_load();\n }, [runtime, opt]);\n\n useEffect(() => {\n if (!modelContext) return undefined;\n return runtime.registerModelContextProvider(modelContext);\n }, [modelContext, runtime]);\n\n return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]);\n};\n\nexport const useLocalRuntime = (\n adapter: ChatModelAdapter,\n { cloud, ...options }: LocalRuntimeOptions = {},\n) => {\n const cloudAdapter = useCloudThreadListAdapter({ cloud });\n return useRemoteThreadListRuntime({\n runtimeHook: function RuntimeHook() {\n return useLocalThreadRuntime(adapter, options);\n },\n adapter: cloudAdapter,\n });\n};\n"],"mappings":";;;AAEA,SAAS,WAAW,SAAS,gBAAgB;AAE7C,SAAS,wBAAwB;AAEjC,SAAS,0BAA0B;AACnC,SAAS,kCAAkC;AAC3C,SAAS,iCAAiC;AAC1C,SAAS,4BAA4B;AAErC,IAAM,wBAAwB,CAC5B,SACA,EAAE,iBAAiB,GAAG,QAAQ,MAC3B;AACH,QAAM,EAAE,cAAc,GAAG,mBAAmB,IAAI,mBAAmB,KAAK,CAAC;AACzE,QAAM,MAAM;AAAA,IACV,OAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU;AAAA,QACR,GAAG;AAAA,QACH,GAAG,QAAQ;AAAA,QACX,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,CAAC,SAAS,SAAS,kBAAkB;AAAA,EACvC;AAEA,QAAM,CAAC,OAAO,IAAI,SAAS,MAAM,IAAI,iBAAiB,KAAK,eAAe,CAAC;AAE3E,YAAU,MAAM;AACd,WAAO,MAAM;AACX,cAAQ,QAAQ,yBAAyB,EAAE,OAAO;AAAA,IACpD;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,YAAU,MAAM;AACd,YAAQ,QAAQ,yBAAyB,EAAE,sBAAsB,GAAG;AACpE,YAAQ,QAAQ,yBAAyB,EAAE,gBAAgB;AAAA,EAC7D,GAAG,CAAC,SAAS,GAAG,CAAC;AAEjB,YAAU,MAAM;AACd,QAAI,CAAC,aAAc,QAAO;AAC1B,WAAO,QAAQ,6BAA6B,YAAY;AAAA,EAC1D,GAAG,CAAC,cAAc,OAAO,CAAC;AAE1B,SAAO,QAAQ,MAAM,IAAI,qBAAqB,OAAO,GAAG,CAAC,OAAO,CAAC;AACnE;AAEO,IAAM,kBAAkB,CAC7B,SACA,EAAE,OAAO,GAAG,QAAQ,IAAyB,CAAC,MAC3C;AACH,QAAM,eAAe,0BAA0B,EAAE,MAAM,CAAC;AACxD,SAAO,2BAA2B;AAAA,IAChC,aAAa,SAAS,cAAc;AAClC,aAAO,sBAAsB,SAAS,OAAO;AAAA,IAC/C;AAAA,IACA,SAAS;AAAA,EACX,CAAC;AACH;","names":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n FC,\n useCallback,\n useRef,\n useEffect,\n memo,\n useMemo,\n PropsWithChildren,\n ComponentType,\n} from \"react\";\nimport { UseBoundStore, StoreApi, create } from \"zustand\";\nimport { useAssistantRuntime } from \"../../context\";\nimport { ThreadListItemRuntimeProvider } from \"../../context/providers/ThreadListItemRuntimeProvider\";\nimport {\n useThreadListItem,\n useThreadListItemRuntime,\n} from \"../../context/react/ThreadListItemContext\";\nimport { ThreadRuntimeCore, ThreadRuntimeImpl } from \"../../internal\";\nimport { BaseSubscribable } from \"./BaseSubscribable\";\nimport { AssistantRuntime } from \"../../api\";\n\ntype RemoteThreadListHook = () => AssistantRuntime;\n\ntype RemoteThreadListHookInstance = {\n runtime?: ThreadRuntimeCore;\n};\nexport class RemoteThreadListHookInstanceManager extends BaseSubscribable {\n private useRuntimeHook: UseBoundStore<\n StoreApi<{ useRuntime: RemoteThreadListHook }>\n >;\n private instances = new Map<string, RemoteThreadListHookInstance>();\n private useAliveThreadsKeysChanged = create(() => ({}));\n\n constructor(runtimeHook: RemoteThreadListHook) {\n super();\n this.useRuntimeHook = create(() => ({ useRuntime: runtimeHook }));\n }\n\n public startThreadRuntime(threadId: string) {\n if (!this.instances.has(threadId)) {\n this.instances.set(threadId, {});\n this.useAliveThreadsKeysChanged.setState({}, true);\n }\n\n return new Promise<ThreadRuntimeCore>((resolve, reject) => {\n const callback = () => {\n const instance = this.instances.get(threadId);\n if (!instance) {\n dispose();\n reject(new Error(\"Thread was deleted before runtime was started\"));\n } else if (!instance.runtime) {\n return; // misc update\n } else {\n dispose();\n resolve(instance.runtime);\n }\n };\n const dispose = this.subscribe(callback);\n callback();\n });\n }\n\n public getThreadRuntimeCore(threadId: string) {\n const instance = this.instances.get(threadId);\n if (!instance)\n throw new Error(\n \"getThreadRuntimeCore not found. This is a bug in assistant-ui.\",\n );\n return instance.runtime;\n }\n\n public stopThreadRuntime(threadId: string) {\n this.instances.delete(threadId);\n this.useAliveThreadsKeysChanged.setState({}, true);\n }\n\n public setRuntimeHook(newRuntimeHook: RemoteThreadListHook) {\n const prevRuntimeHook = this.useRuntimeHook.getState().useRuntime;\n if (prevRuntimeHook !== newRuntimeHook) {\n this.useRuntimeHook.setState({ useRuntime: newRuntimeHook }, true);\n }\n }\n\n private _InnerActiveThreadProvider: FC = () => {\n const { id } = useThreadListItem();\n\n const { useRuntime } = this.useRuntimeHook();\n const runtime = useRuntime();\n\n const threadBinding = (runtime.thread as ThreadRuntimeImpl)\n .__internal_threadBinding;\n\n const updateRuntime = useCallback(() => {\n const aliveThread = this.instances.get(id);\n if (!aliveThread)\n throw new Error(\"Thread not found. This is a bug in assistant-ui.\");\n\n aliveThread.runtime = threadBinding.getState();\n\n if (isMounted) {\n this._notifySubscribers();\n }\n }, [id, threadBinding]);\n\n const isMounted = useRef(false);\n if (!isMounted.current) {\n updateRuntime();\n }\n\n useEffect(() => {\n isMounted.current = true;\n updateRuntime();\n return threadBinding.outerSubscribe(updateRuntime);\n }, [threadBinding, updateRuntime]);\n\n // auto initialize thread\n const threadListItemRuntime = useThreadListItemRuntime();\n useEffect(() => {\n return runtime.threads.main.unstable_on(\"initialize\", () => {\n if (threadListItemRuntime.getState().status === \"new\") {\n threadListItemRuntime.initialize();\n\n // auto generate a title after first run\n const dispose = runtime.thread.unstable_on(\"run-end\", () => {\n dispose();\n\n threadListItemRuntime.generateTitle();\n });\n }\n });\n }, [runtime, threadListItemRuntime]);\n\n return null;\n };\n\n private _OuterActiveThreadProvider: FC<{\n threadId: string;\n provider: ComponentType<PropsWithChildren>;\n }> = memo(({ threadId, provider: Provider }) => {\n const assistantRuntime = useAssistantRuntime();\n const threadListItemRuntime = useMemo(\n () => assistantRuntime.threads.getItemById(threadId),\n [assistantRuntime, threadId],\n );\n\n return (\n <ThreadListItemRuntimeProvider runtime={threadListItemRuntime}>\n <Provider>\n <this._InnerActiveThreadProvider />\n </Provider>\n </ThreadListItemRuntimeProvider>\n );\n });\n\n public __internal_RenderThreadRuntimes: FC<{\n provider: ComponentType<PropsWithChildren>;\n }> = ({ provider }) => {\n this.useAliveThreadsKeysChanged(); // trigger re-render on alive threads change\n\n return Array.from(this.instances.keys()).map((threadId) => (\n <this._OuterActiveThreadProvider\n key={threadId}\n threadId={threadId}\n provider={provider}\n />\n ));\n };\n}\n"],"mappings":";;;
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx"],"sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\n\"use client\";\n\nimport {\n FC,\n useCallback,\n useRef,\n useEffect,\n memo,\n useMemo,\n PropsWithChildren,\n ComponentType,\n} from \"react\";\nimport { UseBoundStore, StoreApi, create } from \"zustand\";\nimport { useAssistantRuntime } from \"../../context\";\nimport { ThreadListItemRuntimeProvider } from \"../../context/providers/ThreadListItemRuntimeProvider\";\nimport {\n useThreadListItem,\n useThreadListItemRuntime,\n} from \"../../context/react/ThreadListItemContext\";\nimport { ThreadRuntimeCore, ThreadRuntimeImpl } from \"../../internal\";\nimport { BaseSubscribable } from \"./BaseSubscribable\";\nimport { AssistantRuntime } from \"../../api\";\n\ntype RemoteThreadListHook = () => AssistantRuntime;\n\ntype RemoteThreadListHookInstance = {\n runtime?: ThreadRuntimeCore;\n};\nexport class RemoteThreadListHookInstanceManager extends BaseSubscribable {\n private useRuntimeHook: UseBoundStore<\n StoreApi<{ useRuntime: RemoteThreadListHook }>\n >;\n private instances = new Map<string, RemoteThreadListHookInstance>();\n private useAliveThreadsKeysChanged = create(() => ({}));\n\n constructor(runtimeHook: RemoteThreadListHook) {\n super();\n this.useRuntimeHook = create(() => ({ useRuntime: runtimeHook }));\n }\n\n public startThreadRuntime(threadId: string) {\n if (!this.instances.has(threadId)) {\n this.instances.set(threadId, {});\n this.useAliveThreadsKeysChanged.setState({}, true);\n }\n\n return new Promise<ThreadRuntimeCore>((resolve, reject) => {\n const callback = () => {\n const instance = this.instances.get(threadId);\n if (!instance) {\n dispose();\n reject(new Error(\"Thread was deleted before runtime was started\"));\n } else if (!instance.runtime) {\n return; // misc update\n } else {\n dispose();\n resolve(instance.runtime);\n }\n };\n const dispose = this.subscribe(callback);\n callback();\n });\n }\n\n public getThreadRuntimeCore(threadId: string) {\n const instance = this.instances.get(threadId);\n if (!instance)\n throw new Error(\n \"getThreadRuntimeCore not found. This is a bug in assistant-ui.\",\n );\n return instance.runtime;\n }\n\n public stopThreadRuntime(threadId: string) {\n this.instances.delete(threadId);\n this.useAliveThreadsKeysChanged.setState({}, true);\n }\n\n public setRuntimeHook(newRuntimeHook: RemoteThreadListHook) {\n const prevRuntimeHook = this.useRuntimeHook.getState().useRuntime;\n if (prevRuntimeHook !== newRuntimeHook) {\n this.useRuntimeHook.setState({ useRuntime: newRuntimeHook }, true);\n }\n }\n\n private _InnerActiveThreadProvider: FC = () => {\n const { id } = useThreadListItem();\n\n const { useRuntime } = this.useRuntimeHook();\n const runtime = useRuntime();\n\n const threadBinding = (runtime.thread as ThreadRuntimeImpl)\n .__internal_threadBinding;\n\n const updateRuntime = useCallback(() => {\n const aliveThread = this.instances.get(id);\n if (!aliveThread)\n throw new Error(\"Thread not found. This is a bug in assistant-ui.\");\n\n aliveThread.runtime = threadBinding.getState();\n\n if (isMounted) {\n this._notifySubscribers();\n }\n }, [id, threadBinding]);\n\n const isMounted = useRef(false);\n if (!isMounted.current) {\n updateRuntime();\n }\n\n useEffect(() => {\n isMounted.current = true;\n updateRuntime();\n return threadBinding.outerSubscribe(updateRuntime);\n }, [threadBinding, updateRuntime]);\n\n // auto initialize thread\n const threadListItemRuntime = useThreadListItemRuntime();\n useEffect(() => {\n return runtime.threads.main.unstable_on(\"initialize\", () => {\n if (threadListItemRuntime.getState().status === \"new\") {\n threadListItemRuntime.initialize();\n\n // auto generate a title after first run\n const dispose = runtime.thread.unstable_on(\"run-end\", () => {\n dispose();\n\n threadListItemRuntime.generateTitle();\n });\n }\n });\n }, [runtime, threadListItemRuntime]);\n\n return null;\n };\n\n private _OuterActiveThreadProvider: FC<{\n threadId: string;\n provider: ComponentType<PropsWithChildren>;\n // eslint-disable-next-line react/display-name\n }> = memo(({ threadId, provider: Provider }) => {\n const assistantRuntime = useAssistantRuntime();\n const threadListItemRuntime = useMemo(\n () => assistantRuntime.threads.getItemById(threadId),\n [assistantRuntime, threadId],\n );\n\n return (\n <ThreadListItemRuntimeProvider runtime={threadListItemRuntime}>\n <Provider>\n <this._InnerActiveThreadProvider />\n </Provider>\n </ThreadListItemRuntimeProvider>\n );\n });\n\n public __internal_RenderThreadRuntimes: FC<{\n provider: ComponentType<PropsWithChildren>;\n }> = ({ provider }) => {\n this.useAliveThreadsKeysChanged(); // trigger re-render on alive threads change\n\n return Array.from(this.instances.keys()).map((threadId) => (\n <this._OuterActiveThreadProvider\n key={threadId}\n threadId={threadId}\n provider={provider}\n />\n ));\n };\n}\n"],"mappings":"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","names":[]}
|
@@ -347,6 +347,8 @@ var RemoteThreadListThreadListRuntimeCore = class extends BaseSubscribable {
|
|
347
347
|
});
|
348
348
|
}
|
349
349
|
async _ensureThreadIsNotMain(threadId) {
|
350
|
+
if (threadId === this.newThreadId)
|
351
|
+
throw new Error("Cannot ensure new thread is not main");
|
350
352
|
if (threadId === this._mainThreadId) {
|
351
353
|
await this.switchToNewThread();
|
352
354
|
}
|
@@ -402,6 +404,14 @@ var RemoteThreadListThreadListRuntimeCore = class extends BaseSubscribable {
|
|
402
404
|
}
|
403
405
|
});
|
404
406
|
}
|
407
|
+
async detach(threadIdOrRemoteId) {
|
408
|
+
const data = this.getItemById(threadIdOrRemoteId);
|
409
|
+
if (!data) throw new Error("Thread not found");
|
410
|
+
if (data.status !== "regular" && data.status !== "archived")
|
411
|
+
throw new Error("Thread is not yet initialized");
|
412
|
+
await this._ensureThreadIsNotMain(data.threadId);
|
413
|
+
this._hookManager.stopThreadRuntime(data.threadId);
|
414
|
+
}
|
405
415
|
useBoundIds = create(() => []);
|
406
416
|
__internal_RenderComponent = () => {
|
407
417
|
const id = useId();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx"],"sourcesContent":["\"use client\";\n\nimport { ThreadListRuntimeCore } from \"../core/ThreadListRuntimeCore\";\nimport { generateId } from \"../../internal\";\nimport {\n RemoteThreadInitializeResponse,\n RemoteThreadListOptions,\n} from \"./types\";\nimport { RemoteThreadListHookInstanceManager } from \"./RemoteThreadListHookInstanceManager\";\nimport { BaseSubscribable } from \"./BaseSubscribable\";\nimport { EMPTY_THREAD_CORE } from \"./EMPTY_THREAD_CORE\";\nimport { OptimisticState } from \"./OptimisticState\";\nimport { FC, Fragment, useEffect, useId } from \"react\";\nimport { create } from \"zustand\";\nimport { AssistantMessageStream } from \"assistant-stream\";\nimport { ModelContextProvider } from \"../../model-context\";\nimport { RuntimeAdapterProvider } from \"../adapters/RuntimeAdapterProvider\";\n\ntype RemoteThreadData =\n | {\n readonly threadId: string;\n readonly remoteId?: undefined;\n readonly externalId?: undefined;\n readonly status: \"new\";\n readonly title: undefined;\n }\n | {\n readonly threadId: string;\n readonly initializeTask: Promise<RemoteThreadInitializeResponse>;\n readonly remoteId?: undefined;\n readonly externalId?: undefined;\n readonly status: \"regular\" | \"archived\";\n readonly title?: string | undefined;\n }\n | {\n readonly threadId: string;\n readonly initializeTask: Promise<RemoteThreadInitializeResponse>;\n readonly remoteId: string;\n readonly externalId: string | undefined;\n readonly status: \"regular\" | \"archived\";\n readonly title?: string | undefined;\n };\n\ntype THREAD_MAPPING_ID = string & { __brand: \"THREAD_MAPPING_ID\" };\nfunction createThreadMappingId(id: string): THREAD_MAPPING_ID {\n return id as THREAD_MAPPING_ID;\n}\n\ntype RemoteThreadState = {\n readonly isLoading: boolean;\n readonly newThreadId: string | undefined;\n readonly threadIds: readonly string[];\n readonly archivedThreadIds: readonly string[];\n readonly threadIdMap: Readonly<Record<string, THREAD_MAPPING_ID>>;\n readonly threadData: Readonly<Record<THREAD_MAPPING_ID, RemoteThreadData>>;\n};\n\nconst getThreadData = (\n state: RemoteThreadState,\n threadIdOrRemoteId: string,\n) => {\n const idx = state.threadIdMap[threadIdOrRemoteId];\n if (idx === undefined) return undefined;\n return state.threadData[idx];\n};\n\nconst updateStatusReducer = (\n state: RemoteThreadState,\n threadIdOrRemoteId: string,\n newStatus: \"regular\" | \"archived\" | \"deleted\",\n) => {\n const data = getThreadData(state, threadIdOrRemoteId);\n if (!data) return state;\n\n const { threadId, remoteId, status: lastStatus } = data;\n if (lastStatus === newStatus) return state;\n\n const newState = { ...state };\n\n // lastStatus\n switch (lastStatus) {\n case \"new\":\n newState.newThreadId = undefined;\n break;\n case \"regular\":\n newState.threadIds = newState.threadIds.filter((t) => t !== threadId);\n break;\n case \"archived\":\n newState.archivedThreadIds = newState.archivedThreadIds.filter(\n (t) => t !== threadId,\n );\n break;\n\n default: {\n const _exhaustiveCheck: never = lastStatus;\n throw new Error(`Unsupported state: ${_exhaustiveCheck}`);\n }\n }\n\n // newStatus\n switch (newStatus) {\n case \"regular\":\n newState.threadIds = [threadId, ...newState.threadIds];\n break;\n\n case \"archived\":\n newState.archivedThreadIds = [threadId, ...newState.archivedThreadIds];\n break;\n\n case \"deleted\":\n newState.threadData = Object.fromEntries(\n Object.entries(newState.threadData).filter(([key]) => key !== threadId),\n );\n newState.threadIdMap = Object.fromEntries(\n Object.entries(newState.threadIdMap).filter(\n ([key]) => key !== threadId && key !== remoteId,\n ),\n );\n break;\n\n default: {\n const _exhaustiveCheck: never = newStatus;\n throw new Error(`Unsupported state: ${_exhaustiveCheck}`);\n }\n }\n\n if (newStatus !== \"deleted\") {\n newState.threadData = {\n ...newState.threadData,\n [threadId]: {\n ...data,\n status: newStatus,\n },\n };\n }\n\n return newState;\n};\n\nexport class RemoteThreadListThreadListRuntimeCore\n extends BaseSubscribable\n implements ThreadListRuntimeCore\n{\n private _options!: RemoteThreadListOptions;\n private readonly _hookManager: RemoteThreadListHookInstanceManager;\n\n private _loadThreadsPromise: Promise<void> | undefined;\n\n private _mainThreadId!: string;\n private readonly _state = new OptimisticState<RemoteThreadState>({\n isLoading: false,\n newThreadId: undefined,\n threadIds: [],\n archivedThreadIds: [],\n threadIdMap: {},\n threadData: {},\n });\n\n public getLoadThreadsPromise() {\n // TODO this needs to be cached in case this promise is loaded during suspense\n if (!this._loadThreadsPromise) {\n this._loadThreadsPromise = this._state\n .optimisticUpdate({\n execute: () => this._options.adapter.list(),\n loading: (state) => {\n return {\n ...state,\n isLoading: true,\n };\n },\n then: (state, l) => {\n const newThreadIds = [];\n const newArchivedThreadIds = [];\n const newThreadIdMap = {} as Record<string, THREAD_MAPPING_ID>;\n const newThreadData = {} as Record<\n THREAD_MAPPING_ID,\n RemoteThreadData\n >;\n\n for (const thread of l.threads) {\n switch (thread.status) {\n case \"regular\":\n newThreadIds.push(thread.remoteId);\n break;\n case \"archived\":\n newArchivedThreadIds.push(thread.remoteId);\n break;\n default: {\n const _exhaustiveCheck: never = thread.status;\n throw new Error(`Unsupported state: ${_exhaustiveCheck}`);\n }\n }\n\n const mappingId = createThreadMappingId(thread.remoteId);\n newThreadIdMap[thread.remoteId] = mappingId;\n newThreadData[mappingId] = {\n threadId: thread.remoteId,\n remoteId: thread.remoteId,\n externalId: thread.externalId,\n status: thread.status,\n title: thread.title,\n initializeTask: Promise.resolve({\n remoteId: thread.remoteId,\n externalId: thread.externalId,\n }),\n };\n }\n\n return {\n ...state,\n threadIds: newThreadIds,\n archivedThreadIds: newArchivedThreadIds,\n threadIdMap: {\n ...state.threadIdMap,\n ...newThreadIdMap,\n },\n threadData: {\n ...state.threadData,\n ...newThreadData,\n },\n };\n },\n })\n .then(() => {});\n }\n\n return this._loadThreadsPromise;\n }\n\n constructor(\n options: RemoteThreadListOptions,\n private readonly contextProvider: ModelContextProvider,\n ) {\n super();\n\n this._state.subscribe(() => this._notifySubscribers());\n this._hookManager = new RemoteThreadListHookInstanceManager(\n options.runtimeHook,\n );\n this.useProvider = create(() => ({\n Provider: options.adapter.unstable_Provider ?? Fragment,\n }));\n this.__internal_setOptions(options);\n\n this.switchToNewThread();\n }\n\n private useProvider;\n\n public __internal_setOptions(options: RemoteThreadListOptions) {\n if (this._options === options) return;\n\n this._options = options;\n\n const Provider = options.adapter.unstable_Provider ?? Fragment;\n if (Provider !== this.useProvider.getState().Provider) {\n this.useProvider.setState({ Provider }, true);\n }\n\n this._hookManager.setRuntimeHook(options.runtimeHook);\n }\n\n public __internal_load() {\n this.getLoadThreadsPromise(); // begin loading on initial bind\n }\n\n public get threadIds() {\n return this._state.value.threadIds;\n }\n\n public get archivedThreadIds() {\n return this._state.value.archivedThreadIds;\n }\n\n public get newThreadId() {\n return this._state.value.newThreadId;\n }\n\n public get mainThreadId(): string {\n return this._mainThreadId;\n }\n\n public getMainThreadRuntimeCore() {\n const result = this._hookManager.getThreadRuntimeCore(this._mainThreadId);\n if (!result) return EMPTY_THREAD_CORE;\n return result;\n }\n\n public getThreadRuntimeCore(threadIdOrRemoteId: string) {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n\n const result = this._hookManager.getThreadRuntimeCore(data.threadId);\n if (!result) throw new Error(\"Thread not found\");\n return result;\n }\n\n public getItemById(threadIdOrRemoteId: string) {\n return getThreadData(this._state.value, threadIdOrRemoteId);\n }\n\n public async switchToThread(threadIdOrRemoteId: string): Promise<void> {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n\n if (this._mainThreadId === data.threadId) return;\n\n const task = this._hookManager.startThreadRuntime(data.threadId);\n if (this.mainThreadId !== undefined) {\n await task;\n } else {\n task.then(() => this._notifySubscribers());\n }\n\n if (data.status === \"archived\") await this.unarchive(data.threadId);\n this._mainThreadId = data.threadId;\n\n this._notifySubscribers();\n }\n\n public async switchToNewThread(): Promise<void> {\n // an initialization transaction is in progress, wait for it to settle\n while (\n this._state.baseValue.newThreadId !== undefined &&\n this._state.value.newThreadId === undefined\n ) {\n await this._state.waitForUpdate();\n }\n\n const state = this._state.value;\n let threadId: string | undefined = this._state.value.newThreadId;\n if (threadId === undefined) {\n do {\n threadId = `__LOCALID_${generateId()}`;\n } while (state.threadIdMap[threadId]);\n\n const mappingId = createThreadMappingId(threadId);\n this._state.update({\n ...state,\n newThreadId: threadId,\n threadIdMap: {\n ...state.threadIdMap,\n [threadId]: mappingId,\n },\n threadData: {\n ...state.threadData,\n [threadId]: {\n status: \"new\",\n threadId,\n },\n },\n });\n }\n\n return this.switchToThread(threadId);\n }\n\n public initialize = async (threadId: string) => {\n if (this._state.value.newThreadId !== threadId) {\n const data = this.getItemById(threadId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status === \"new\") throw new Error(\"Unexpected new state\");\n return data.initializeTask;\n }\n\n return this._state.optimisticUpdate({\n execute: () => {\n return this._options.adapter.initialize(threadId);\n },\n optimistic: (state) => {\n return updateStatusReducer(state, threadId, \"regular\");\n },\n loading: (state, task) => {\n const mappingId = createThreadMappingId(threadId);\n return {\n ...state,\n threadData: {\n ...state.threadData,\n [mappingId]: {\n ...state.threadData[mappingId],\n initializeTask: task,\n },\n },\n };\n },\n then: (state, { remoteId, externalId }) => {\n const data = getThreadData(state, threadId);\n if (!data) return state;\n\n const mappingId = createThreadMappingId(threadId);\n return {\n ...state,\n threadIdMap: {\n ...state.threadIdMap,\n [remoteId]: mappingId,\n },\n threadData: {\n ...state.threadData,\n [mappingId]: {\n ...data,\n initializeTask: Promise.resolve({ remoteId, externalId }),\n remoteId,\n externalId,\n },\n },\n };\n },\n });\n };\n\n public generateTitle = async (threadId: string) => {\n const data = this.getItemById(threadId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status === \"new\") throw new Error(\"Thread is not yet initialized\");\n\n const { remoteId } = await data.initializeTask;\n const messages = this.getThreadRuntimeCore(threadId).messages;\n const stream = await this._options.adapter.generateTitle(\n remoteId,\n messages,\n );\n const messageStream = AssistantMessageStream.fromAssistantStream(stream);\n for await (const result of messageStream) {\n const newTitle = result.parts.filter((c) => c.type === \"text\")[0]?.text;\n const state = this._state.baseValue;\n this._state.update({\n ...state,\n threadData: {\n ...state.threadData,\n [data.threadId]: {\n ...data,\n title: newTitle,\n },\n },\n });\n }\n };\n\n public rename(threadIdOrRemoteId: string, newTitle: string): Promise<void> {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status === \"new\") throw new Error(\"Thread is not yet initialized\");\n\n return this._state.optimisticUpdate({\n execute: async () => {\n const { remoteId } = await data.initializeTask;\n return this._options.adapter.rename(remoteId, newTitle);\n },\n optimistic: (state) => {\n const data = getThreadData(state, threadIdOrRemoteId);\n if (!data) return state;\n\n return {\n ...state,\n threadData: {\n ...state.threadData,\n [data.threadId]: {\n ...data,\n title: newTitle,\n },\n },\n };\n },\n });\n }\n\n private async _ensureThreadIsNotMain(threadId: string) {\n // if thread is main thread, switch to another thread\n if (threadId === this._mainThreadId) {\n await this.switchToNewThread();\n }\n }\n\n public async archive(threadIdOrRemoteId: string) {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status !== \"regular\")\n throw new Error(\"Thread is not yet initialized or already archived\");\n\n return this._state.optimisticUpdate({\n execute: async () => {\n await this._ensureThreadIsNotMain(data.threadId);\n const { remoteId } = await data.initializeTask;\n return this._options.adapter.archive(remoteId);\n },\n optimistic: (state) => {\n return updateStatusReducer(state, data.threadId, \"archived\");\n },\n });\n }\n\n public unarchive(threadIdOrRemoteId: string): Promise<void> {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status !== \"archived\") throw new Error(\"Thread is not archived\");\n\n return this._state.optimisticUpdate({\n execute: async () => {\n try {\n const { remoteId } = await data.initializeTask;\n return await this._options.adapter.unarchive(remoteId);\n } catch (error) {\n await this._ensureThreadIsNotMain(data.threadId);\n throw error;\n }\n },\n optimistic: (state) => {\n return updateStatusReducer(state, data.threadId, \"regular\");\n },\n });\n }\n\n public async delete(threadIdOrRemoteId: string) {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status !== \"regular\" && data.status !== \"archived\")\n throw new Error(\"Thread is not yet initialized\");\n\n return this._state.optimisticUpdate({\n execute: async () => {\n await this._ensureThreadIsNotMain(data.threadId);\n const { remoteId } = await data.initializeTask;\n return await this._options.adapter.delete(remoteId);\n },\n optimistic: (state) => {\n return updateStatusReducer(state, data.threadId, \"deleted\");\n },\n });\n }\n\n private useBoundIds = create<string[]>(() => []);\n\n public __internal_RenderComponent: FC = () => {\n const id = useId();\n useEffect(() => {\n this.useBoundIds.setState((s) => [...s, id], true);\n return () => {\n this.useBoundIds.setState((s) => s.filter((i) => i !== id), true);\n };\n }, [id]);\n\n const boundIds = this.useBoundIds();\n const { Provider } = this.useProvider();\n\n const adapters = {\n modelContext: this.contextProvider,\n };\n\n return (\n (boundIds.length === 0 || boundIds[0] === id) && (\n // only render if the component is the first one mounted\n <RuntimeAdapterProvider adapters={adapters}>\n <this._hookManager.__internal_RenderThreadRuntimes\n provider={Provider}\n />\n </RuntimeAdapterProvider>\n )\n );\n };\n}\n"],"mappings":"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","names":["data"]}
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx"],"sourcesContent":["\"use client\";\n\nimport { ThreadListRuntimeCore } from \"../core/ThreadListRuntimeCore\";\nimport { generateId } from \"../../internal\";\nimport {\n RemoteThreadInitializeResponse,\n RemoteThreadListOptions,\n} from \"./types\";\nimport { RemoteThreadListHookInstanceManager } from \"./RemoteThreadListHookInstanceManager\";\nimport { BaseSubscribable } from \"./BaseSubscribable\";\nimport { EMPTY_THREAD_CORE } from \"./EMPTY_THREAD_CORE\";\nimport { OptimisticState } from \"./OptimisticState\";\nimport { FC, Fragment, useEffect, useId } from \"react\";\nimport { create } from \"zustand\";\nimport { AssistantMessageStream } from \"assistant-stream\";\nimport { ModelContextProvider } from \"../../model-context\";\nimport { RuntimeAdapterProvider } from \"../adapters/RuntimeAdapterProvider\";\n\ntype RemoteThreadData =\n | {\n readonly threadId: string;\n readonly remoteId?: undefined;\n readonly externalId?: undefined;\n readonly status: \"new\";\n readonly title: undefined;\n }\n | {\n readonly threadId: string;\n readonly initializeTask: Promise<RemoteThreadInitializeResponse>;\n readonly remoteId?: undefined;\n readonly externalId?: undefined;\n readonly status: \"regular\" | \"archived\";\n readonly title?: string | undefined;\n }\n | {\n readonly threadId: string;\n readonly initializeTask: Promise<RemoteThreadInitializeResponse>;\n readonly remoteId: string;\n readonly externalId: string | undefined;\n readonly status: \"regular\" | \"archived\";\n readonly title?: string | undefined;\n };\n\ntype THREAD_MAPPING_ID = string & { __brand: \"THREAD_MAPPING_ID\" };\nfunction createThreadMappingId(id: string): THREAD_MAPPING_ID {\n return id as THREAD_MAPPING_ID;\n}\n\ntype RemoteThreadState = {\n readonly isLoading: boolean;\n readonly newThreadId: string | undefined;\n readonly threadIds: readonly string[];\n readonly archivedThreadIds: readonly string[];\n readonly threadIdMap: Readonly<Record<string, THREAD_MAPPING_ID>>;\n readonly threadData: Readonly<Record<THREAD_MAPPING_ID, RemoteThreadData>>;\n};\n\nconst getThreadData = (\n state: RemoteThreadState,\n threadIdOrRemoteId: string,\n) => {\n const idx = state.threadIdMap[threadIdOrRemoteId];\n if (idx === undefined) return undefined;\n return state.threadData[idx];\n};\n\nconst updateStatusReducer = (\n state: RemoteThreadState,\n threadIdOrRemoteId: string,\n newStatus: \"regular\" | \"archived\" | \"deleted\",\n) => {\n const data = getThreadData(state, threadIdOrRemoteId);\n if (!data) return state;\n\n const { threadId, remoteId, status: lastStatus } = data;\n if (lastStatus === newStatus) return state;\n\n const newState = { ...state };\n\n // lastStatus\n switch (lastStatus) {\n case \"new\":\n newState.newThreadId = undefined;\n break;\n case \"regular\":\n newState.threadIds = newState.threadIds.filter((t) => t !== threadId);\n break;\n case \"archived\":\n newState.archivedThreadIds = newState.archivedThreadIds.filter(\n (t) => t !== threadId,\n );\n break;\n\n default: {\n const _exhaustiveCheck: never = lastStatus;\n throw new Error(`Unsupported state: ${_exhaustiveCheck}`);\n }\n }\n\n // newStatus\n switch (newStatus) {\n case \"regular\":\n newState.threadIds = [threadId, ...newState.threadIds];\n break;\n\n case \"archived\":\n newState.archivedThreadIds = [threadId, ...newState.archivedThreadIds];\n break;\n\n case \"deleted\":\n newState.threadData = Object.fromEntries(\n Object.entries(newState.threadData).filter(([key]) => key !== threadId),\n );\n newState.threadIdMap = Object.fromEntries(\n Object.entries(newState.threadIdMap).filter(\n ([key]) => key !== threadId && key !== remoteId,\n ),\n );\n break;\n\n default: {\n const _exhaustiveCheck: never = newStatus;\n throw new Error(`Unsupported state: ${_exhaustiveCheck}`);\n }\n }\n\n if (newStatus !== \"deleted\") {\n newState.threadData = {\n ...newState.threadData,\n [threadId]: {\n ...data,\n status: newStatus,\n },\n };\n }\n\n return newState;\n};\n\nexport class RemoteThreadListThreadListRuntimeCore\n extends BaseSubscribable\n implements ThreadListRuntimeCore\n{\n private _options!: RemoteThreadListOptions;\n private readonly _hookManager: RemoteThreadListHookInstanceManager;\n\n private _loadThreadsPromise: Promise<void> | undefined;\n\n private _mainThreadId!: string;\n private readonly _state = new OptimisticState<RemoteThreadState>({\n isLoading: false,\n newThreadId: undefined,\n threadIds: [],\n archivedThreadIds: [],\n threadIdMap: {},\n threadData: {},\n });\n\n public getLoadThreadsPromise() {\n // TODO this needs to be cached in case this promise is loaded during suspense\n if (!this._loadThreadsPromise) {\n this._loadThreadsPromise = this._state\n .optimisticUpdate({\n execute: () => this._options.adapter.list(),\n loading: (state) => {\n return {\n ...state,\n isLoading: true,\n };\n },\n then: (state, l) => {\n const newThreadIds = [];\n const newArchivedThreadIds = [];\n const newThreadIdMap = {} as Record<string, THREAD_MAPPING_ID>;\n const newThreadData = {} as Record<\n THREAD_MAPPING_ID,\n RemoteThreadData\n >;\n\n for (const thread of l.threads) {\n switch (thread.status) {\n case \"regular\":\n newThreadIds.push(thread.remoteId);\n break;\n case \"archived\":\n newArchivedThreadIds.push(thread.remoteId);\n break;\n default: {\n const _exhaustiveCheck: never = thread.status;\n throw new Error(`Unsupported state: ${_exhaustiveCheck}`);\n }\n }\n\n const mappingId = createThreadMappingId(thread.remoteId);\n newThreadIdMap[thread.remoteId] = mappingId;\n newThreadData[mappingId] = {\n threadId: thread.remoteId,\n remoteId: thread.remoteId,\n externalId: thread.externalId,\n status: thread.status,\n title: thread.title,\n initializeTask: Promise.resolve({\n remoteId: thread.remoteId,\n externalId: thread.externalId,\n }),\n };\n }\n\n return {\n ...state,\n threadIds: newThreadIds,\n archivedThreadIds: newArchivedThreadIds,\n threadIdMap: {\n ...state.threadIdMap,\n ...newThreadIdMap,\n },\n threadData: {\n ...state.threadData,\n ...newThreadData,\n },\n };\n },\n })\n .then(() => {});\n }\n\n return this._loadThreadsPromise;\n }\n\n constructor(\n options: RemoteThreadListOptions,\n private readonly contextProvider: ModelContextProvider,\n ) {\n super();\n\n this._state.subscribe(() => this._notifySubscribers());\n this._hookManager = new RemoteThreadListHookInstanceManager(\n options.runtimeHook,\n );\n this.useProvider = create(() => ({\n Provider: options.adapter.unstable_Provider ?? Fragment,\n }));\n this.__internal_setOptions(options);\n\n this.switchToNewThread();\n }\n\n private useProvider;\n\n public __internal_setOptions(options: RemoteThreadListOptions) {\n if (this._options === options) return;\n\n this._options = options;\n\n const Provider = options.adapter.unstable_Provider ?? Fragment;\n if (Provider !== this.useProvider.getState().Provider) {\n this.useProvider.setState({ Provider }, true);\n }\n\n this._hookManager.setRuntimeHook(options.runtimeHook);\n }\n\n public __internal_load() {\n this.getLoadThreadsPromise(); // begin loading on initial bind\n }\n\n public get threadIds() {\n return this._state.value.threadIds;\n }\n\n public get archivedThreadIds() {\n return this._state.value.archivedThreadIds;\n }\n\n public get newThreadId() {\n return this._state.value.newThreadId;\n }\n\n public get mainThreadId(): string {\n return this._mainThreadId;\n }\n\n public getMainThreadRuntimeCore() {\n const result = this._hookManager.getThreadRuntimeCore(this._mainThreadId);\n if (!result) return EMPTY_THREAD_CORE;\n return result;\n }\n\n public getThreadRuntimeCore(threadIdOrRemoteId: string) {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n\n const result = this._hookManager.getThreadRuntimeCore(data.threadId);\n if (!result) throw new Error(\"Thread not found\");\n return result;\n }\n\n public getItemById(threadIdOrRemoteId: string) {\n return getThreadData(this._state.value, threadIdOrRemoteId);\n }\n\n public async switchToThread(threadIdOrRemoteId: string): Promise<void> {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n\n if (this._mainThreadId === data.threadId) return;\n\n const task = this._hookManager.startThreadRuntime(data.threadId);\n if (this.mainThreadId !== undefined) {\n await task;\n } else {\n task.then(() => this._notifySubscribers());\n }\n\n if (data.status === \"archived\") await this.unarchive(data.threadId);\n this._mainThreadId = data.threadId;\n\n this._notifySubscribers();\n }\n\n public async switchToNewThread(): Promise<void> {\n // an initialization transaction is in progress, wait for it to settle\n while (\n this._state.baseValue.newThreadId !== undefined &&\n this._state.value.newThreadId === undefined\n ) {\n await this._state.waitForUpdate();\n }\n\n const state = this._state.value;\n let threadId: string | undefined = this._state.value.newThreadId;\n if (threadId === undefined) {\n do {\n threadId = `__LOCALID_${generateId()}`;\n } while (state.threadIdMap[threadId]);\n\n const mappingId = createThreadMappingId(threadId);\n this._state.update({\n ...state,\n newThreadId: threadId,\n threadIdMap: {\n ...state.threadIdMap,\n [threadId]: mappingId,\n },\n threadData: {\n ...state.threadData,\n [threadId]: {\n status: \"new\",\n threadId,\n },\n },\n });\n }\n\n return this.switchToThread(threadId);\n }\n\n public initialize = async (threadId: string) => {\n if (this._state.value.newThreadId !== threadId) {\n const data = this.getItemById(threadId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status === \"new\") throw new Error(\"Unexpected new state\");\n return data.initializeTask;\n }\n\n return this._state.optimisticUpdate({\n execute: () => {\n return this._options.adapter.initialize(threadId);\n },\n optimistic: (state) => {\n return updateStatusReducer(state, threadId, \"regular\");\n },\n loading: (state, task) => {\n const mappingId = createThreadMappingId(threadId);\n return {\n ...state,\n threadData: {\n ...state.threadData,\n [mappingId]: {\n ...state.threadData[mappingId],\n initializeTask: task,\n },\n },\n };\n },\n then: (state, { remoteId, externalId }) => {\n const data = getThreadData(state, threadId);\n if (!data) return state;\n\n const mappingId = createThreadMappingId(threadId);\n return {\n ...state,\n threadIdMap: {\n ...state.threadIdMap,\n [remoteId]: mappingId,\n },\n threadData: {\n ...state.threadData,\n [mappingId]: {\n ...data,\n initializeTask: Promise.resolve({ remoteId, externalId }),\n remoteId,\n externalId,\n },\n },\n };\n },\n });\n };\n\n public generateTitle = async (threadId: string) => {\n const data = this.getItemById(threadId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status === \"new\") throw new Error(\"Thread is not yet initialized\");\n\n const { remoteId } = await data.initializeTask;\n const messages = this.getThreadRuntimeCore(threadId).messages;\n const stream = await this._options.adapter.generateTitle(\n remoteId,\n messages,\n );\n const messageStream = AssistantMessageStream.fromAssistantStream(stream);\n for await (const result of messageStream) {\n const newTitle = result.parts.filter((c) => c.type === \"text\")[0]?.text;\n const state = this._state.baseValue;\n this._state.update({\n ...state,\n threadData: {\n ...state.threadData,\n [data.threadId]: {\n ...data,\n title: newTitle,\n },\n },\n });\n }\n };\n\n public rename(threadIdOrRemoteId: string, newTitle: string): Promise<void> {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status === \"new\") throw new Error(\"Thread is not yet initialized\");\n\n return this._state.optimisticUpdate({\n execute: async () => {\n const { remoteId } = await data.initializeTask;\n return this._options.adapter.rename(remoteId, newTitle);\n },\n optimistic: (state) => {\n const data = getThreadData(state, threadIdOrRemoteId);\n if (!data) return state;\n\n return {\n ...state,\n threadData: {\n ...state.threadData,\n [data.threadId]: {\n ...data,\n title: newTitle,\n },\n },\n };\n },\n });\n }\n\n private async _ensureThreadIsNotMain(threadId: string) {\n if (threadId === this.newThreadId)\n throw new Error(\"Cannot ensure new thread is not main\");\n\n if (threadId === this._mainThreadId) {\n await this.switchToNewThread();\n }\n }\n\n public async archive(threadIdOrRemoteId: string) {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status !== \"regular\")\n throw new Error(\"Thread is not yet initialized or already archived\");\n\n return this._state.optimisticUpdate({\n execute: async () => {\n await this._ensureThreadIsNotMain(data.threadId);\n const { remoteId } = await data.initializeTask;\n return this._options.adapter.archive(remoteId);\n },\n optimistic: (state) => {\n return updateStatusReducer(state, data.threadId, \"archived\");\n },\n });\n }\n\n public unarchive(threadIdOrRemoteId: string): Promise<void> {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status !== \"archived\") throw new Error(\"Thread is not archived\");\n\n return this._state.optimisticUpdate({\n execute: async () => {\n try {\n const { remoteId } = await data.initializeTask;\n return await this._options.adapter.unarchive(remoteId);\n } catch (error) {\n await this._ensureThreadIsNotMain(data.threadId);\n throw error;\n }\n },\n optimistic: (state) => {\n return updateStatusReducer(state, data.threadId, \"regular\");\n },\n });\n }\n\n public async delete(threadIdOrRemoteId: string) {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status !== \"regular\" && data.status !== \"archived\")\n throw new Error(\"Thread is not yet initialized\");\n\n return this._state.optimisticUpdate({\n execute: async () => {\n await this._ensureThreadIsNotMain(data.threadId);\n const { remoteId } = await data.initializeTask;\n return await this._options.adapter.delete(remoteId);\n },\n optimistic: (state) => {\n return updateStatusReducer(state, data.threadId, \"deleted\");\n },\n });\n }\n\n public async detach(threadIdOrRemoteId: string): Promise<void> {\n const data = this.getItemById(threadIdOrRemoteId);\n if (!data) throw new Error(\"Thread not found\");\n if (data.status !== \"regular\" && data.status !== \"archived\")\n throw new Error(\"Thread is not yet initialized\");\n\n await this._ensureThreadIsNotMain(data.threadId);\n this._hookManager.stopThreadRuntime(data.threadId);\n }\n\n private useBoundIds = create<string[]>(() => []);\n\n public __internal_RenderComponent: FC = () => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const id = useId();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n this.useBoundIds.setState((s) => [...s, id], true);\n return () => {\n this.useBoundIds.setState((s) => s.filter((i) => i !== id), true);\n };\n }, [id]);\n\n const boundIds = this.useBoundIds();\n const { Provider } = this.useProvider();\n\n const adapters = {\n modelContext: this.contextProvider,\n };\n\n return (\n (boundIds.length === 0 || boundIds[0] === id) && (\n // only render if the component is the first one mounted\n <RuntimeAdapterProvider adapters={adapters}>\n <this._hookManager.__internal_RenderThreadRuntimes\n provider={Provider}\n />\n </RuntimeAdapterProvider>\n )\n );\n };\n}\n"],"mappings":"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","names":["data"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AssistantRuntime.d.ts","sourceRoot":"","sources":["../../../src/api/AssistantRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAA6B,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAEvC;;;;OAIG;IACH,iBAAiB,IAAI,IAAI,CAAC;IAE1B;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvC;;;;OAIG;IACH,4BAA4B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,WAAW,CAAC;IAE1E;;OAEG;IACH,2BAA2B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,WAAW,CAAC;IAEzE;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,qBAAa,oBAAqB,YAAW,gBAAgB;IAQxC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAPzC,SAAgB,OAAO,wBAAC;IACxB,IAAW,UAAU,0BAEpB;IAED,SAAgB,OAAO,EAAE,aAAa,CAAC;gBAEH,KAAK,EAAE,oBAAoB;IAK/D,SAAS,CAAC,sBAAsB;IAUhC,IAAW,MAAM,kBAEhB;IAEM,iBAAiB;IAIjB,cAAc,CAAC,QAAQ,EAAE,MAAM;IAI/B,4BAA4B,CAAC,QAAQ,EAAE,oBAAoB;IAI3D,2BAA2B,CAAC,QAAQ,EAAE,oBAAoB;IAI1D,KAAK,CAAC,EACX,eAAe,GAChB,GAAE;QAAE,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAA;KAAO;CAKlD"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AttachmentRuntime.d.ts","sourceRoot":"","sources":["../../../src/api/AttachmentRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,KAAK,sBAAsB,GAAG,kBAAkB,GAAG;IACjD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;CAC5B,CAAC;AAEF,KAAK,6BAA6B,GAAG,iBAAiB,GAAG;IACvD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAEF,KAAK,2BAA2B,GAAG,UAAU,GAAG;IAC9C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,6BAA6B,GAC7B,2BAA2B,GAC3B,sBAAsB,CAAC;AAE3B,KAAK,yBAAyB,CAAC,MAAM,SAAS,uBAAuB,IACnE,qBAAqB,CACnB,eAAe,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EACpC,qBAAqB,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CACrD,CAAC;AAEJ,KAAK,uBAAuB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAEzD,MAAM,MAAM,iBAAiB,CAC3B,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,IAC/D;IACF,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC;IACrE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,IAAI,eAAe,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAClD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;CAC9C,CAAC;AAEF,8BAAsB,qBAAqB,CACzC,MAAM,SAAS,uBAAuB,GAAG,uBAAuB,CAChE,YAAW,iBAAiB;IAQhB,OAAO,CAAC,KAAK;IANzB,IAAW,IAAI;;MAEd;IAED,aAAoB,MAAM,IAAI,MAAM,CAAC;gBAEjB,KAAK,EAAE,yBAAyB,CAAC,MAAM,CAAC;IAE5D,SAAS,CAAC,sBAAsB;IAMzB,QAAQ,IAAI,eAAe,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;aAIvC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI;CAGtC;AAED,uBAAe,yBAAyB,CACtC,MAAM,SAAS,iBAAiB,GAAG,eAAe,CAClD,SAAQ,qBAAqB,CAAC,MAAM,CAAC;IAGnC,OAAO,CAAC,YAAY;gBADpB,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAC/B,YAAY,EAAE,0BAA0B;IAK3C,MAAM;CAKd;AAED,qBAAa,mCAAoC,SAAQ,yBAAyB,CAAC,iBAAiB,CAAC;IACnG,IAAW,MAAM,IAAI,iBAAiB,CAErC;CACF;AAED,qBAAa,iCAAkC,SAAQ,yBAAyB,CAAC,eAAe,CAAC;IAC/F,IAAW,MAAM,IAAI,eAAe,CAEnC;CACF;AAED,qBAAa,4BAA6B,SAAQ,qBAAqB,CAAC,SAAS,CAAC;IAChF,IAAW,MAAM,IAAI,SAAS,CAE7B;gBAEW,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC;IAI/C,MAAM,IAAI,KAAK;CAGvB"}
|