@assistant-ui/react 0.7.53 → 0.7.55
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/AssistantRuntime.d.ts +12 -7
- package/dist/api/AssistantRuntime.d.ts.map +1 -1
- package/dist/api/AssistantRuntime.js +5 -1
- package/dist/api/AssistantRuntime.js.map +1 -1
- package/dist/api/AssistantRuntime.mjs +5 -1
- package/dist/api/AssistantRuntime.mjs.map +1 -1
- package/dist/api/ThreadRuntime.d.ts +10 -4
- package/dist/api/ThreadRuntime.d.ts.map +1 -1
- package/dist/api/ThreadRuntime.js +5 -1
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/api/ThreadRuntime.mjs +5 -1
- package/dist/api/ThreadRuntime.mjs.map +1 -1
- package/dist/context/react/ThreadContext.d.ts +5 -5
- package/dist/context/react/ThreadContext.d.ts.map +1 -1
- package/dist/context/react/ThreadContext.js +5 -5
- package/dist/context/react/ThreadContext.js.map +1 -1
- package/dist/context/react/ThreadContext.mjs +4 -4
- package/dist/context/react/ThreadContext.mjs.map +1 -1
- package/dist/context/react/index.d.ts +5 -1
- package/dist/context/react/index.d.ts.map +1 -1
- package/dist/context/react/index.js +3 -1
- package/dist/context/react/index.js.map +1 -1
- package/dist/context/react/index.mjs +4 -2
- package/dist/context/react/index.mjs.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -2
- package/dist/index.mjs.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +3 -3
- package/dist/internal.js.map +1 -1
- package/dist/internal.mjs +2 -2
- package/dist/internal.mjs.map +1 -1
- package/dist/{types/ModelConfigTypes.d.ts → model-context/ModelContextTypes.d.ts} +6 -6
- package/dist/model-context/ModelContextTypes.d.ts.map +1 -0
- package/dist/{types/ModelConfigTypes.js → model-context/ModelContextTypes.js} +9 -9
- package/dist/model-context/ModelContextTypes.js.map +1 -0
- package/dist/{types/ModelConfigTypes.mjs → model-context/ModelContextTypes.mjs} +5 -5
- package/dist/model-context/ModelContextTypes.mjs.map +1 -0
- package/dist/{model-config → model-context}/index.d.ts +9 -0
- package/dist/model-context/index.d.ts.map +1 -0
- package/dist/{model-config → model-context}/index.js +4 -4
- package/dist/model-context/index.js.map +1 -0
- package/dist/{model-config → model-context}/index.mjs +1 -1
- package/dist/model-context/index.mjs.map +1 -0
- package/dist/model-context/makeAssistantTool.d.ts.map +1 -0
- package/dist/{model-config → model-context}/makeAssistantTool.js +1 -1
- package/dist/model-context/makeAssistantTool.js.map +1 -0
- package/dist/{model-config → model-context}/makeAssistantTool.mjs +1 -1
- package/dist/model-context/makeAssistantTool.mjs.map +1 -0
- package/dist/model-context/makeAssistantToolUI.d.ts.map +1 -0
- package/dist/{model-config → model-context}/makeAssistantToolUI.js +1 -1
- package/dist/model-context/makeAssistantToolUI.js.map +1 -0
- package/dist/{model-config → model-context}/makeAssistantToolUI.mjs +1 -1
- package/dist/model-context/makeAssistantToolUI.mjs.map +1 -0
- package/dist/model-context/useAssistantInstructions.d.ts.map +1 -0
- package/dist/{model-config → model-context}/useAssistantInstructions.js +3 -3
- package/dist/model-context/useAssistantInstructions.js.map +1 -0
- package/dist/{model-config → model-context}/useAssistantInstructions.mjs +3 -3
- package/dist/model-context/useAssistantInstructions.mjs.map +1 -0
- package/dist/{model-config → model-context}/useAssistantTool.d.ts +1 -1
- package/dist/model-context/useAssistantTool.d.ts.map +1 -0
- package/dist/{model-config → model-context}/useAssistantTool.js +4 -4
- package/dist/model-context/useAssistantTool.js.map +1 -0
- package/dist/{model-config → model-context}/useAssistantTool.mjs +4 -4
- package/dist/model-context/useAssistantTool.mjs.map +1 -0
- package/dist/model-context/useAssistantToolUI.d.ts.map +1 -0
- package/dist/{model-config → model-context}/useAssistantToolUI.js +1 -1
- package/dist/model-context/useAssistantToolUI.js.map +1 -0
- package/dist/{model-config → model-context}/useAssistantToolUI.mjs +1 -1
- package/dist/model-context/useAssistantToolUI.mjs.map +1 -0
- package/dist/model-context/useInlineRender.d.ts.map +1 -0
- package/dist/{model-config → model-context}/useInlineRender.js +1 -1
- package/dist/model-context/useInlineRender.js.map +1 -0
- package/dist/{model-config → model-context}/useInlineRender.mjs +1 -1
- package/dist/model-context/useInlineRender.mjs.map +1 -0
- package/dist/primitives/actionBar/ActionBarCopy.d.ts +8 -3
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js +24 -2
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.mjs +27 -2
- package/dist/primitives/actionBar/ActionBarCopy.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts +2 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.js +12 -2
- package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.mjs +11 -1
- package/dist/primitives/actionBar/ActionBarEdit.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +2 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +10 -2
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs +9 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +2 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +8 -2
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs +9 -3
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts +2 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.js +18 -2
- package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.mjs +17 -1
- package/dist/primitives/actionBar/ActionBarReload.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts +2 -1
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.js +14 -2
- package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.mjs +13 -1
- package/dist/primitives/actionBar/ActionBarSpeak.mjs.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +2 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js +12 -2
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs +14 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.d.ts +2 -1
- package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.js +10 -2
- package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.mjs +9 -1
- package/dist/primitives/attachment/AttachmentRemove.mjs.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.js +6 -2
- package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.mjs +5 -1
- package/dist/primitives/branchPicker/BranchPickerCount.mjs.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts +2 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.js +12 -2
- package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.mjs +14 -1
- package/dist/primitives/branchPicker/BranchPickerNext.mjs.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.js +6 -2
- package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.mjs +5 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.mjs.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +2 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.js +12 -2
- package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.mjs +14 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.mjs.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.d.ts +9 -2
- package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.js +28 -2
- package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.mjs +27 -1
- package/dist/primitives/composer/ComposerAddAttachment.mjs.map +1 -1
- package/dist/primitives/composer/ComposerCancel.d.ts +2 -1
- package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerCancel.js +12 -2
- package/dist/primitives/composer/ComposerCancel.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.mjs +11 -1
- package/dist/primitives/composer/ComposerCancel.mjs.map +1 -1
- package/dist/primitives/composer/ComposerIf.d.ts +6 -1
- package/dist/primitives/composer/ComposerIf.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerIf.js +9 -2
- package/dist/primitives/composer/ComposerIf.js.map +1 -1
- package/dist/primitives/composer/ComposerIf.mjs +8 -3
- package/dist/primitives/composer/ComposerIf.mjs.map +1 -1
- package/dist/primitives/composer/ComposerRoot.js +2 -2
- package/dist/primitives/composer/ComposerRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerRoot.mjs +1 -1
- package/dist/primitives/composer/ComposerRoot.mjs.map +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerSend.js +22 -4
- package/dist/primitives/composer/ComposerSend.js.map +1 -1
- package/dist/primitives/composer/ComposerSend.mjs +19 -2
- package/dist/primitives/composer/ComposerSend.mjs.map +1 -1
- package/dist/primitives/contentPart/ContentPartDisplay.d.ts +3 -0
- package/dist/primitives/contentPart/ContentPartDisplay.d.ts.map +1 -1
- package/dist/primitives/contentPart/ContentPartDisplay.js +1 -1
- package/dist/primitives/contentPart/ContentPartDisplay.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartDisplay.mjs +1 -1
- package/dist/primitives/contentPart/ContentPartDisplay.mjs.map +1 -1
- package/dist/primitives/contentPart/ContentPartImage.js +1 -1
- package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartImage.mjs +1 -1
- package/dist/primitives/contentPart/ContentPartImage.mjs.map +1 -1
- package/dist/primitives/contentPart/ContentPartText.js +1 -1
- package/dist/primitives/contentPart/ContentPartText.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartText.mjs +1 -1
- package/dist/primitives/contentPart/ContentPartText.mjs.map +1 -1
- package/dist/primitives/contentPart/useContentPartDisplay.d.ts.map +1 -0
- package/dist/{primitive-hooks → primitives}/contentPart/useContentPartDisplay.js +1 -1
- package/dist/primitives/contentPart/useContentPartDisplay.js.map +1 -0
- package/dist/{primitive-hooks → primitives}/contentPart/useContentPartDisplay.mjs +1 -1
- package/dist/primitives/contentPart/useContentPartDisplay.mjs.map +1 -0
- package/dist/primitives/contentPart/useContentPartImage.d.ts.map +1 -0
- package/dist/{primitive-hooks → primitives}/contentPart/useContentPartImage.js +1 -1
- package/dist/primitives/contentPart/useContentPartImage.js.map +1 -0
- package/dist/{primitive-hooks → primitives}/contentPart/useContentPartImage.mjs +1 -1
- package/dist/primitives/contentPart/useContentPartImage.mjs.map +1 -0
- package/dist/primitives/contentPart/useContentPartText.d.ts.map +1 -0
- package/dist/{primitive-hooks → primitives}/contentPart/useContentPartText.js +1 -1
- package/dist/primitives/contentPart/useContentPartText.js.map +1 -0
- package/dist/{primitive-hooks → primitives}/contentPart/useContentPartText.mjs +1 -1
- package/dist/primitives/contentPart/useContentPartText.mjs.map +1 -0
- package/dist/primitives/index.d.ts +3 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +11 -2
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/index.mjs +7 -1
- package/dist/primitives/index.mjs.map +1 -1
- package/dist/primitives/message/MessageIf.d.ts +15 -1
- package/dist/primitives/message/MessageIf.d.ts.map +1 -1
- package/dist/primitives/message/MessageIf.js +38 -2
- package/dist/primitives/message/MessageIf.js.map +1 -1
- package/dist/primitives/message/MessageIf.mjs +39 -2
- package/dist/primitives/message/MessageIf.mjs.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.js +2 -2
- package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.mjs +2 -2
- package/dist/primitives/thread/ThreadEmpty.mjs.map +1 -1
- package/dist/primitives/thread/ThreadIf.d.ts +8 -1
- package/dist/primitives/thread/ThreadIf.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadIf.js +13 -2
- package/dist/primitives/thread/ThreadIf.js.map +1 -1
- package/dist/primitives/thread/ThreadIf.mjs +12 -3
- package/dist/primitives/thread/ThreadIf.mjs.map +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts +2 -1
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.js +13 -2
- package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.mjs +12 -1
- package/dist/primitives/thread/ThreadScrollToBottom.mjs.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts +11 -2
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.js +21 -2
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.mjs +20 -1
- package/dist/primitives/thread/ThreadSuggestion.mjs.map +1 -1
- package/dist/primitives/thread/ThreadViewport.d.ts +1 -1
- package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadViewport.js +1 -1
- package/dist/primitives/thread/ThreadViewport.js.map +1 -1
- package/dist/primitives/thread/ThreadViewport.mjs +1 -1
- package/dist/primitives/thread/ThreadViewport.mjs.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -0
- package/dist/{primitive-hooks → primitives}/thread/useThreadViewportAutoScroll.js +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -0
- package/dist/{primitive-hooks → primitives}/thread/useThreadViewportAutoScroll.mjs +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.mjs.map +1 -0
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.d.ts.map +1 -1
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.js.map +1 -1
- package/dist/runtimes/core/AssistantRuntimeCore.d.ts +2 -2
- package/dist/runtimes/core/AssistantRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/AssistantRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts +4 -5
- package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.js +4 -6
- package/dist/runtimes/core/BaseAssistantRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs +4 -6
- package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +5 -4
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js +6 -6
- package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.mjs +6 -6
- package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts +4 -3
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.d.ts +1 -1
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.d.ts.map +1 -1
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js +6 -6
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js.map +1 -1
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.mjs +6 -6
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.mjs.map +1 -1
- package/dist/runtimes/edge/EdgeChatAdapter.d.ts +1 -1
- package/dist/runtimes/edge/EdgeChatAdapter.d.ts.map +1 -1
- package/dist/runtimes/edge/EdgeChatAdapter.js +6 -6
- package/dist/runtimes/edge/EdgeChatAdapter.js.map +1 -1
- package/dist/runtimes/edge/EdgeChatAdapter.mjs +6 -6
- package/dist/runtimes/edge/EdgeChatAdapter.mjs.map +1 -1
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +2 -2
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js.map +1 -1
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs +1 -1
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs.map +1 -1
- package/dist/runtimes/edge/converters/fromLanguageModelTools.d.ts +1 -1
- package/dist/runtimes/edge/converters/fromLanguageModelTools.d.ts.map +1 -1
- package/dist/runtimes/edge/converters/fromLanguageModelTools.js.map +1 -1
- package/dist/runtimes/edge/converters/fromLanguageModelTools.mjs.map +1 -1
- package/dist/runtimes/edge/converters/toLanguageModelTools.d.ts +1 -1
- package/dist/runtimes/edge/converters/toLanguageModelTools.d.ts.map +1 -1
- package/dist/runtimes/edge/converters/toLanguageModelTools.js.map +1 -1
- package/dist/runtimes/edge/converters/toLanguageModelTools.mjs.map +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts +1 -2
- package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts.map +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.js +2 -2
- package/dist/runtimes/edge/createEdgeRuntimeAPI.js.map +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs.map +1 -1
- package/dist/runtimes/edge/streams/toolResultStream.d.ts +1 -1
- package/dist/runtimes/edge/streams/toolResultStream.d.ts.map +1 -1
- package/dist/runtimes/edge/streams/toolResultStream.js.map +1 -1
- package/dist/runtimes/edge/streams/toolResultStream.mjs.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +3 -2
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +2 -2
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs +2 -2
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/external-store/external-message-converter.d.ts +1 -0
- package/dist/runtimes/external-store/external-message-converter.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-message-converter.js +23 -0
- package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
- package/dist/runtimes/external-store/external-message-converter.mjs +22 -0
- package/dist/runtimes/external-store/external-message-converter.mjs.map +1 -1
- package/dist/runtimes/external-store/index.d.ts +1 -1
- package/dist/runtimes/external-store/index.d.ts.map +1 -1
- package/dist/runtimes/external-store/index.js +2 -0
- package/dist/runtimes/external-store/index.js.map +1 -1
- package/dist/runtimes/external-store/index.mjs +5 -1
- package/dist/runtimes/external-store/index.mjs.map +1 -1
- package/dist/runtimes/local/ChatModelAdapter.d.ts +6 -2
- package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
- package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.js +1 -4
- package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.mjs +1 -4
- package/dist/runtimes/local/LocalRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +3 -2
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +5 -3
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +5 -3
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.mjs +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +2 -2
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +2 -2
- package/dist/tailwindcss/index.d.ts.map +1 -1
- package/dist/tailwindcss/index.js +6 -2
- package/dist/tailwindcss/index.js.map +1 -1
- package/dist/tailwindcss/index.mjs +6 -2
- package/dist/tailwindcss/index.mjs.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/ui/thread-config.d.ts +1 -1
- package/dist/ui/thread-config.d.ts.map +1 -1
- package/dist/ui/thread-config.js.map +1 -1
- package/dist/ui/thread-config.mjs.map +1 -1
- package/dist/ui/thread.d.ts +1 -1
- package/dist/utils/CompositeContextProvider.d.ts +10 -0
- package/dist/utils/CompositeContextProvider.d.ts.map +1 -0
- package/dist/utils/{ProxyConfigProvider.js → CompositeContextProvider.js} +12 -12
- package/dist/utils/CompositeContextProvider.js.map +1 -0
- package/dist/utils/{ProxyConfigProvider.mjs → CompositeContextProvider.mjs} +9 -9
- package/dist/utils/CompositeContextProvider.mjs.map +1 -0
- package/package.json +3 -3
- package/src/api/AssistantRuntime.ts +19 -8
- package/src/api/ThreadRuntime.ts +15 -8
- package/src/context/react/ThreadContext.ts +9 -9
- package/src/context/react/index.ts +5 -1
- package/src/index.ts +1 -2
- package/src/internal.ts +1 -1
- package/src/{types/ModelConfigTypes.ts → model-context/ModelContextTypes.ts} +9 -9
- package/src/{model-config → model-context}/index.ts +14 -0
- package/src/{model-config → model-context}/useAssistantInstructions.tsx +2 -2
- package/src/{model-config → model-context}/useAssistantTool.tsx +4 -4
- package/src/primitives/actionBar/ActionBarCopy.tsx +38 -3
- package/src/primitives/actionBar/ActionBarEdit.tsx +14 -1
- package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +12 -1
- package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +12 -3
- package/src/primitives/actionBar/ActionBarReload.tsx +21 -1
- package/src/primitives/actionBar/ActionBarSpeak.tsx +19 -1
- package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +18 -1
- package/src/primitives/attachment/AttachmentRemove.tsx +12 -1
- package/src/primitives/branchPicker/BranchPickerCount.tsx +6 -1
- package/src/primitives/branchPicker/BranchPickerNext.tsx +17 -1
- package/src/primitives/branchPicker/BranchPickerNumber.tsx +6 -1
- package/src/primitives/branchPicker/BranchPickerPrevious.tsx +17 -1
- package/src/primitives/composer/ComposerAddAttachment.tsx +36 -1
- package/src/primitives/composer/ComposerCancel.tsx +14 -1
- package/src/primitives/composer/ComposerIf.tsx +17 -4
- package/src/primitives/composer/ComposerRoot.tsx +1 -1
- package/src/primitives/composer/ComposerSend.tsx +21 -1
- package/src/primitives/contentPart/ContentPartDisplay.tsx +4 -1
- package/src/primitives/contentPart/ContentPartImage.tsx +1 -1
- package/src/primitives/contentPart/ContentPartText.tsx +1 -1
- package/src/primitives/index.ts +4 -0
- package/src/primitives/message/MessageIf.tsx +77 -3
- package/src/primitives/thread/ThreadEmpty.tsx +2 -2
- package/src/primitives/thread/ThreadIf.tsx +23 -4
- package/src/primitives/thread/ThreadScrollToBottom.tsx +16 -1
- package/src/primitives/thread/ThreadSuggestion.tsx +27 -1
- package/src/primitives/thread/ThreadViewport.tsx +1 -1
- package/src/runtimes/adapters/thread-history/ThreadHistoryAdapter.ts +0 -1
- package/src/runtimes/core/AssistantRuntimeCore.tsx +2 -2
- package/src/runtimes/core/BaseAssistantRuntimeCore.tsx +6 -8
- package/src/runtimes/core/BaseThreadRuntimeCore.tsx +7 -10
- package/src/runtimes/core/ThreadRuntimeCore.tsx +4 -3
- package/src/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.ts +6 -6
- package/src/runtimes/edge/EdgeChatAdapter.ts +6 -6
- package/src/runtimes/edge/EdgeRuntimeRequestOptions.ts +1 -1
- package/src/runtimes/edge/converters/fromLanguageModelTools.ts +1 -1
- package/src/runtimes/edge/converters/toLanguageModelTools.ts +1 -1
- package/src/runtimes/edge/createEdgeRuntimeAPI.ts +2 -2
- package/src/runtimes/edge/streams/toolResultStream.ts +1 -1
- package/src/runtimes/external-store/ExternalStoreRuntimeCore.tsx +1 -2
- package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +4 -3
- package/src/runtimes/external-store/external-message-converter.tsx +28 -0
- package/src/runtimes/external-store/index.ts +4 -1
- package/src/runtimes/local/ChatModelAdapter.tsx +7 -2
- package/src/runtimes/local/LocalRuntimeCore.tsx +1 -4
- package/src/runtimes/local/LocalThreadRuntimeCore.tsx +7 -8
- package/src/runtimes/remote-thread-list/EMPTY_THREAD_CORE.tsx +1 -1
- package/src/tailwindcss/index.ts +8 -2
- package/src/types/index.ts +0 -6
- package/src/ui/thread-config.tsx +1 -1
- package/src/utils/{ProxyConfigProvider.ts → CompositeContextProvider.ts} +8 -8
- package/dist/model-config/index.d.ts.map +0 -1
- package/dist/model-config/index.js.map +0 -1
- package/dist/model-config/index.mjs.map +0 -1
- package/dist/model-config/makeAssistantTool.d.ts.map +0 -1
- package/dist/model-config/makeAssistantTool.js.map +0 -1
- package/dist/model-config/makeAssistantTool.mjs.map +0 -1
- package/dist/model-config/makeAssistantToolUI.d.ts.map +0 -1
- package/dist/model-config/makeAssistantToolUI.js.map +0 -1
- package/dist/model-config/makeAssistantToolUI.mjs.map +0 -1
- package/dist/model-config/useAssistantInstructions.d.ts.map +0 -1
- package/dist/model-config/useAssistantInstructions.js.map +0 -1
- package/dist/model-config/useAssistantInstructions.mjs.map +0 -1
- package/dist/model-config/useAssistantTool.d.ts.map +0 -1
- package/dist/model-config/useAssistantTool.js.map +0 -1
- package/dist/model-config/useAssistantTool.mjs.map +0 -1
- package/dist/model-config/useAssistantToolUI.d.ts.map +0 -1
- package/dist/model-config/useAssistantToolUI.js.map +0 -1
- package/dist/model-config/useAssistantToolUI.mjs.map +0 -1
- package/dist/model-config/useInlineRender.d.ts.map +0 -1
- package/dist/model-config/useInlineRender.js.map +0 -1
- package/dist/model-config/useInlineRender.mjs.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarCopy.d.ts +0 -7
- package/dist/primitive-hooks/actionBar/useActionBarCopy.d.ts.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarCopy.js +0 -54
- package/dist/primitive-hooks/actionBar/useActionBarCopy.js.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs +0 -34
- package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarEdit.d.ts +0 -2
- package/dist/primitive-hooks/actionBar/useActionBarEdit.d.ts.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarEdit.js +0 -42
- package/dist/primitive-hooks/actionBar/useActionBarEdit.js.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs +0 -18
- package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.d.ts +0 -2
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.d.ts.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js +0 -40
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs +0 -16
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.d.ts +0 -2
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.d.ts.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js +0 -40
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs +0 -16
- package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarReload.d.ts +0 -2
- package/dist/primitive-hooks/actionBar/useActionBarReload.d.ts.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarReload.js +0 -48
- package/dist/primitive-hooks/actionBar/useActionBarReload.js.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarReload.mjs +0 -24
- package/dist/primitive-hooks/actionBar/useActionBarReload.mjs.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarSpeak.d.ts +0 -2
- package/dist/primitive-hooks/actionBar/useActionBarSpeak.d.ts.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarSpeak.js +0 -44
- package/dist/primitive-hooks/actionBar/useActionBarSpeak.js.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs +0 -20
- package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.d.ts +0 -2
- package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.d.ts.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js +0 -42
- package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js.map +0 -1
- package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs +0 -21
- package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs.map +0 -1
- package/dist/primitive-hooks/attachment/useAttachmentRemove.d.ts +0 -2
- package/dist/primitive-hooks/attachment/useAttachmentRemove.d.ts.map +0 -1
- package/dist/primitive-hooks/attachment/useAttachmentRemove.js +0 -40
- package/dist/primitive-hooks/attachment/useAttachmentRemove.js.map +0 -1
- package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs +0 -16
- package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerCount.d.ts +0 -2
- package/dist/primitive-hooks/branchPicker/useBranchPickerCount.d.ts.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js +0 -36
- package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerCount.mjs +0 -12
- package/dist/primitive-hooks/branchPicker/useBranchPickerCount.mjs.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerNext.d.ts +0 -2
- package/dist/primitive-hooks/branchPicker/useBranchPickerNext.d.ts.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js +0 -42
- package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs +0 -21
- package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.d.ts +0 -2
- package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.d.ts.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.js +0 -36
- package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.js.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.mjs +0 -12
- package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.mjs.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.d.ts +0 -2
- package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.d.ts.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js +0 -42
- package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js.map +0 -1
- package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs +0 -21
- package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs.map +0 -1
- package/dist/primitive-hooks/composer/useComposerAddAttachment.d.ts +0 -8
- package/dist/primitive-hooks/composer/useComposerAddAttachment.d.ts.map +0 -1
- package/dist/primitive-hooks/composer/useComposerAddAttachment.js +0 -58
- package/dist/primitive-hooks/composer/useComposerAddAttachment.js.map +0 -1
- package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs +0 -34
- package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs.map +0 -1
- package/dist/primitive-hooks/composer/useComposerCancel.d.ts +0 -2
- package/dist/primitive-hooks/composer/useComposerCancel.d.ts.map +0 -1
- package/dist/primitive-hooks/composer/useComposerCancel.js +0 -42
- package/dist/primitive-hooks/composer/useComposerCancel.js.map +0 -1
- package/dist/primitive-hooks/composer/useComposerCancel.mjs +0 -18
- package/dist/primitive-hooks/composer/useComposerCancel.mjs.map +0 -1
- package/dist/primitive-hooks/composer/useComposerIf.d.ts +0 -8
- package/dist/primitive-hooks/composer/useComposerIf.d.ts.map +0 -1
- package/dist/primitive-hooks/composer/useComposerIf.js +0 -39
- package/dist/primitive-hooks/composer/useComposerIf.js.map +0 -1
- package/dist/primitive-hooks/composer/useComposerIf.mjs +0 -15
- package/dist/primitive-hooks/composer/useComposerIf.mjs.map +0 -1
- package/dist/primitive-hooks/composer/useComposerSend.d.ts +0 -2
- package/dist/primitive-hooks/composer/useComposerSend.d.ts.map +0 -1
- package/dist/primitive-hooks/composer/useComposerSend.js +0 -49
- package/dist/primitive-hooks/composer/useComposerSend.js.map +0 -1
- package/dist/primitive-hooks/composer/useComposerSend.mjs +0 -25
- package/dist/primitive-hooks/composer/useComposerSend.mjs.map +0 -1
- package/dist/primitive-hooks/contentPart/index.d.ts +0 -4
- package/dist/primitive-hooks/contentPart/index.d.ts.map +0 -1
- package/dist/primitive-hooks/contentPart/index.js +0 -37
- package/dist/primitive-hooks/contentPart/index.js.map +0 -1
- package/dist/primitive-hooks/contentPart/index.mjs +0 -10
- package/dist/primitive-hooks/contentPart/index.mjs.map +0 -1
- package/dist/primitive-hooks/contentPart/useContentPartDisplay.d.ts.map +0 -1
- package/dist/primitive-hooks/contentPart/useContentPartDisplay.js.map +0 -1
- package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs.map +0 -1
- package/dist/primitive-hooks/contentPart/useContentPartImage.d.ts.map +0 -1
- package/dist/primitive-hooks/contentPart/useContentPartImage.js.map +0 -1
- package/dist/primitive-hooks/contentPart/useContentPartImage.mjs.map +0 -1
- package/dist/primitive-hooks/contentPart/useContentPartText.d.ts.map +0 -1
- package/dist/primitive-hooks/contentPart/useContentPartText.js.map +0 -1
- package/dist/primitive-hooks/contentPart/useContentPartText.mjs.map +0 -1
- package/dist/primitive-hooks/index.d.ts +0 -2
- package/dist/primitive-hooks/index.d.ts.map +0 -1
- package/dist/primitive-hooks/index.js +0 -25
- package/dist/primitive-hooks/index.js.map +0 -1
- package/dist/primitive-hooks/index.mjs +0 -3
- package/dist/primitive-hooks/index.mjs.map +0 -1
- package/dist/primitive-hooks/message/useMessageIf.d.ts +0 -17
- package/dist/primitive-hooks/message/useMessageIf.d.ts.map +0 -1
- package/dist/primitive-hooks/message/useMessageIf.js +0 -68
- package/dist/primitive-hooks/message/useMessageIf.js.map +0 -1
- package/dist/primitive-hooks/message/useMessageIf.mjs +0 -47
- package/dist/primitive-hooks/message/useMessageIf.mjs.map +0 -1
- package/dist/primitive-hooks/thread/useThreadEmpty.d.ts +0 -2
- package/dist/primitive-hooks/thread/useThreadEmpty.d.ts.map +0 -1
- package/dist/primitive-hooks/thread/useThreadEmpty.js +0 -35
- package/dist/primitive-hooks/thread/useThreadEmpty.js.map +0 -1
- package/dist/primitive-hooks/thread/useThreadEmpty.mjs +0 -11
- package/dist/primitive-hooks/thread/useThreadEmpty.mjs.map +0 -1
- package/dist/primitive-hooks/thread/useThreadIf.d.ts +0 -10
- package/dist/primitive-hooks/thread/useThreadIf.d.ts.map +0 -1
- package/dist/primitive-hooks/thread/useThreadIf.js +0 -43
- package/dist/primitive-hooks/thread/useThreadIf.js.map +0 -1
- package/dist/primitive-hooks/thread/useThreadIf.mjs +0 -19
- package/dist/primitive-hooks/thread/useThreadIf.mjs.map +0 -1
- package/dist/primitive-hooks/thread/useThreadScrollToBottom.d.ts +0 -2
- package/dist/primitive-hooks/thread/useThreadScrollToBottom.d.ts.map +0 -1
- package/dist/primitive-hooks/thread/useThreadScrollToBottom.js +0 -43
- package/dist/primitive-hooks/thread/useThreadScrollToBottom.js.map +0 -1
- package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs +0 -19
- package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs.map +0 -1
- package/dist/primitive-hooks/thread/useThreadSuggestion.d.ts +0 -9
- package/dist/primitive-hooks/thread/useThreadSuggestion.d.ts.map +0 -1
- package/dist/primitive-hooks/thread/useThreadSuggestion.js +0 -51
- package/dist/primitive-hooks/thread/useThreadSuggestion.js.map +0 -1
- package/dist/primitive-hooks/thread/useThreadSuggestion.mjs +0 -27
- package/dist/primitive-hooks/thread/useThreadSuggestion.mjs.map +0 -1
- package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.d.ts.map +0 -1
- package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js.map +0 -1
- package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.mjs.map +0 -1
- package/dist/types/ModelConfigTypes.d.ts.map +0 -1
- package/dist/types/ModelConfigTypes.js.map +0 -1
- package/dist/types/ModelConfigTypes.mjs.map +0 -1
- package/dist/utils/ProxyConfigProvider.d.ts +0 -10
- package/dist/utils/ProxyConfigProvider.d.ts.map +0 -1
- package/dist/utils/ProxyConfigProvider.js.map +0 -1
- package/dist/utils/ProxyConfigProvider.mjs.map +0 -1
- package/src/primitive-hooks/actionBar/useActionBarCopy.tsx +0 -45
- package/src/primitive-hooks/actionBar/useActionBarEdit.tsx +0 -16
- package/src/primitive-hooks/actionBar/useActionBarFeedbackNegative.tsx +0 -14
- package/src/primitive-hooks/actionBar/useActionBarFeedbackPositive.tsx +0 -14
- package/src/primitive-hooks/actionBar/useActionBarReload.tsx +0 -23
- package/src/primitive-hooks/actionBar/useActionBarSpeak.tsx +0 -22
- package/src/primitive-hooks/actionBar/useActionBarStopSpeaking.tsx +0 -20
- package/src/primitive-hooks/attachment/useAttachmentRemove.ts +0 -14
- package/src/primitive-hooks/branchPicker/useBranchPickerCount.tsx +0 -8
- package/src/primitive-hooks/branchPicker/useBranchPickerNext.tsx +0 -19
- package/src/primitive-hooks/branchPicker/useBranchPickerNumber.tsx +0 -8
- package/src/primitive-hooks/branchPicker/useBranchPickerPrevious.tsx +0 -19
- package/src/primitive-hooks/composer/useComposerAddAttachment.tsx +0 -42
- package/src/primitive-hooks/composer/useComposerCancel.tsx +0 -16
- package/src/primitive-hooks/composer/useComposerIf.tsx +0 -19
- package/src/primitive-hooks/composer/useComposerSend.tsx +0 -25
- package/src/primitive-hooks/contentPart/index.ts +0 -3
- package/src/primitive-hooks/index.ts +0 -1
- package/src/primitive-hooks/message/useMessageIf.tsx +0 -80
- package/src/primitive-hooks/thread/useThreadEmpty.tsx +0 -7
- package/src/primitive-hooks/thread/useThreadIf.tsx +0 -25
- package/src/primitive-hooks/thread/useThreadScrollToBottom.tsx +0 -18
- package/src/primitive-hooks/thread/useThreadSuggestion.tsx +0 -33
- /package/dist/{model-config → model-context}/makeAssistantTool.d.ts +0 -0
- /package/dist/{model-config → model-context}/makeAssistantToolUI.d.ts +0 -0
- /package/dist/{model-config → model-context}/useAssistantInstructions.d.ts +0 -0
- /package/dist/{model-config → model-context}/useAssistantToolUI.d.ts +0 -0
- /package/dist/{model-config → model-context}/useInlineRender.d.ts +0 -0
- /package/dist/{primitive-hooks → primitives}/contentPart/useContentPartDisplay.d.ts +0 -0
- /package/dist/{primitive-hooks → primitives}/contentPart/useContentPartImage.d.ts +0 -0
- /package/dist/{primitive-hooks → primitives}/contentPart/useContentPartText.d.ts +0 -0
- /package/dist/{primitive-hooks → primitives}/thread/useThreadViewportAutoScroll.d.ts +0 -0
- /package/src/{model-config → model-context}/makeAssistantTool.tsx +0 -0
- /package/src/{model-config → model-context}/makeAssistantToolUI.tsx +0 -0
- /package/src/{model-config → model-context}/useAssistantToolUI.tsx +0 -0
- /package/src/{model-config → model-context}/useInlineRender.tsx +0 -0
- /package/src/{primitive-hooks → primitives}/contentPart/useContentPartDisplay.tsx +0 -0
- /package/src/{primitive-hooks → primitives}/contentPart/useContentPartImage.tsx +0 -0
- /package/src/{primitive-hooks → primitives}/contentPart/useContentPartText.tsx +0 -0
- /package/src/{primitive-hooks → primitives}/thread/useThreadViewportAutoScroll.tsx +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AssistantRuntimeCore } from "../runtimes/core/AssistantRuntimeCore";
|
|
2
|
-
import {
|
|
2
|
+
import { ModelContextProvider } from "../model-context/ModelContextTypes";
|
|
3
3
|
import { ThreadListItemRuntimeBinding, ThreadRuntime, ThreadRuntimeCoreBinding } from "./ThreadRuntime";
|
|
4
4
|
import { Unsubscribe } from "../types";
|
|
5
5
|
import { ThreadListRuntime, ThreadListRuntimeImpl } from "./ThreadListRuntime";
|
|
@@ -19,22 +19,26 @@ export type AssistantRuntime = {
|
|
|
19
19
|
/**
|
|
20
20
|
* Switch to a new thread.
|
|
21
21
|
*
|
|
22
|
-
* @deprecated This
|
|
22
|
+
* @deprecated This method was moved to `threads.switchToNewThread`.
|
|
23
23
|
*/
|
|
24
24
|
switchToNewThread(): void;
|
|
25
25
|
/**
|
|
26
26
|
* Switch to a thread.
|
|
27
27
|
*
|
|
28
28
|
* @param threadId The thread ID to switch to.
|
|
29
|
-
* @deprecated This
|
|
29
|
+
* @deprecated This method was moved to `threads.switchToThread`.
|
|
30
30
|
*/
|
|
31
31
|
switchToThread(threadId: string): void;
|
|
32
32
|
/**
|
|
33
|
-
* Register a model
|
|
33
|
+
* Register a model context provider. Model context providers are configuration such as system message, temperature, etc. that are set in the frontend.
|
|
34
34
|
*
|
|
35
|
-
* @param provider The model
|
|
35
|
+
* @param provider The model context provider to register.
|
|
36
36
|
*/
|
|
37
|
-
|
|
37
|
+
registerModelContextProvider(provider: ModelContextProvider): Unsubscribe;
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated This method was renamed to `registerModelContextProvider`.
|
|
40
|
+
*/
|
|
41
|
+
registerModelConfigProvider(provider: ModelContextProvider): Unsubscribe;
|
|
38
42
|
};
|
|
39
43
|
export declare class AssistantRuntimeImpl implements AssistantRuntime {
|
|
40
44
|
private readonly _core;
|
|
@@ -46,7 +50,8 @@ export declare class AssistantRuntimeImpl implements AssistantRuntime {
|
|
|
46
50
|
get thread(): ThreadRuntime;
|
|
47
51
|
switchToNewThread(): Promise<void>;
|
|
48
52
|
switchToThread(threadId: string): Promise<void>;
|
|
49
|
-
|
|
53
|
+
registerModelContextProvider(provider: ModelContextProvider): Unsubscribe;
|
|
54
|
+
registerModelConfigProvider(provider: ModelContextProvider): Unsubscribe;
|
|
50
55
|
static create(_core: AssistantRuntimeCore, runtimeFactory?: new (binding: ThreadRuntimeCoreBinding, threadListItemBinding: ThreadListItemRuntimeBinding) => ThreadRuntime): AssistantRuntime;
|
|
51
56
|
}
|
|
52
57
|
//# sourceMappingURL=AssistantRuntime.d.ts.map
|
|
@@ -1 +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,
|
|
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,EACL,4BAA4B,EAC5B,aAAa,EACb,wBAAwB,EAEzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,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;CAC1E,CAAC;AAEF,qBAAa,oBAAqB,YAAW,gBAAgB;IASzD,OAAO,CAAC,QAAQ,CAAC,KAAK;IARxB,SAAgB,OAAO,wBAAC;IACxB,IAAW,UAAU,0BAEpB;IAED,SAAgB,OAAO,EAAE,aAAa,CAAC;IAEvC,SAAS,aACU,KAAK,EAAE,oBAAoB,EAC5C,cAAc,GAAE,KACd,OAAO,EAAE,wBAAwB,EACjC,qBAAqB,EAAE,4BAA4B,KAChD,aAAiC;IAMxC,SAAS,CAAC,sBAAsB;IAShC,IAAW,MAAM,kBAEhB;IAEM,iBAAiB;IAIjB,cAAc,CAAC,QAAQ,EAAE,MAAM;IAI/B,4BAA4B,CAAC,QAAQ,EAAE,oBAAoB;IAI3D,2BAA2B,CAAC,QAAQ,EAAE,oBAAoB;WAInD,MAAM,CAClB,KAAK,EAAE,oBAAoB,EAC3B,cAAc,GAAE,KACd,OAAO,EAAE,wBAAwB,EACjC,qBAAqB,EAAE,4BAA4B,KAChD,aAAiC,GACrC,gBAAgB;CAGpB"}
|
|
@@ -39,6 +39,7 @@ var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
|
|
|
39
39
|
__internal_bindMethods() {
|
|
40
40
|
this.switchToNewThread = this.switchToNewThread.bind(this);
|
|
41
41
|
this.switchToThread = this.switchToThread.bind(this);
|
|
42
|
+
this.registerModelContextProvider = this.registerModelContextProvider.bind(this);
|
|
42
43
|
this.registerModelConfigProvider = this.registerModelConfigProvider.bind(this);
|
|
43
44
|
}
|
|
44
45
|
get thread() {
|
|
@@ -50,8 +51,11 @@ var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
|
|
|
50
51
|
switchToThread(threadId) {
|
|
51
52
|
return this._core.threads.switchToThread(threadId);
|
|
52
53
|
}
|
|
54
|
+
registerModelContextProvider(provider) {
|
|
55
|
+
return this._core.registerModelContextProvider(provider);
|
|
56
|
+
}
|
|
53
57
|
registerModelConfigProvider(provider) {
|
|
54
|
-
return this.
|
|
58
|
+
return this.registerModelContextProvider(provider);
|
|
55
59
|
}
|
|
56
60
|
static create(_core, runtimeFactory = import_ThreadRuntime.ThreadRuntimeImpl) {
|
|
57
61
|
return new _AssistantRuntimeImpl(_core, runtimeFactory);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport { ModelContextProvider } from \"../model-context/ModelContextTypes\";\nimport {\n ThreadListItemRuntimeBinding,\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadListRuntime, ThreadListRuntimeImpl } from \"./ThreadListRuntime\";\n\nexport type AssistantRuntime = {\n /**\n * The threads in this assistant.\n */\n readonly threads: ThreadListRuntime;\n\n /**\n * The currently selected main thread. Equivalent to `threads.main`.\n */\n readonly thread: ThreadRuntime;\n\n /**\n * @deprecated This field was renamed to `threads.main`.\n */\n readonly threadList: ThreadListRuntime;\n\n /**\n * Switch to a new thread.\n *\n * @deprecated This method was moved to `threads.switchToNewThread`.\n */\n switchToNewThread(): void;\n\n /**\n * Switch to a thread.\n *\n * @param threadId The thread ID to switch to.\n * @deprecated This method was moved to `threads.switchToThread`.\n */\n switchToThread(threadId: string): void;\n\n /**\n * Register a model context provider. Model context providers are configuration such as system message, temperature, etc. that are set in the frontend.\n *\n * @param provider The model context provider to register.\n */\n registerModelContextProvider(provider: ModelContextProvider): Unsubscribe;\n\n /**\n * @deprecated This method was renamed to `registerModelContextProvider`.\n */\n registerModelConfigProvider(provider: ModelContextProvider): Unsubscribe;\n};\n\nexport class AssistantRuntimeImpl implements AssistantRuntime {\n public readonly threads;\n public get threadList() {\n return this.threads;\n }\n\n public readonly _thread: ThreadRuntime;\n\n protected constructor(\n private readonly _core: AssistantRuntimeCore,\n runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n this.threads = new ThreadListRuntimeImpl(_core.threads, runtimeFactory);\n this._thread = this.threadList.main;\n }\n\n protected __internal_bindMethods() {\n this.switchToNewThread = this.switchToNewThread.bind(this);\n this.switchToThread = this.switchToThread.bind(this);\n this.registerModelContextProvider =\n this.registerModelContextProvider.bind(this);\n this.registerModelConfigProvider =\n this.registerModelConfigProvider.bind(this);\n }\n\n public get thread() {\n return this._thread;\n }\n\n public switchToNewThread() {\n return this._core.threads.switchToNewThread();\n }\n\n public switchToThread(threadId: string) {\n return this._core.threads.switchToThread(threadId);\n }\n\n public registerModelContextProvider(provider: ModelContextProvider) {\n return this._core.registerModelContextProvider(provider);\n }\n\n public registerModelConfigProvider(provider: ModelContextProvider) {\n return this.registerModelContextProvider(provider);\n }\n\n public static create(\n _core: AssistantRuntimeCore,\n runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ): AssistantRuntime {\n return new AssistantRuntimeImpl(_core, runtimeFactory);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,2BAKO;AAEP,+BAAyD;AA8ClD,IAAM,uBAAN,MAAM,sBAAiD;AAAA,EAQlD,YACS,OACjB,iBAGqB,wCACrB;AALiB;AAMjB,SAAK,UAAU,IAAI,+CAAsB,MAAM,SAAS,cAAc;AACtE,SAAK,UAAU,KAAK,WAAW;AAAA,EACjC;AAAA,EAhBgB;AAAA,EAChB,IAAW,aAAa;AACtB,WAAO,KAAK;AAAA,EACd;AAAA,EAEgB;AAAA,EAaN,yBAAyB;AACjC,SAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AACzD,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,+BACH,KAAK,6BAA6B,KAAK,IAAI;AAC7C,SAAK,8BACH,KAAK,4BAA4B,KAAK,IAAI;AAAA,EAC9C;AAAA,EAEA,IAAW,SAAS;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,oBAAoB;AACzB,WAAO,KAAK,MAAM,QAAQ,kBAAkB;AAAA,EAC9C;AAAA,EAEO,eAAe,UAAkB;AACtC,WAAO,KAAK,MAAM,QAAQ,eAAe,QAAQ;AAAA,EACnD;AAAA,EAEO,6BAA6B,UAAgC;AAClE,WAAO,KAAK,MAAM,6BAA6B,QAAQ;AAAA,EACzD;AAAA,EAEO,4BAA4B,UAAgC;AACjE,WAAO,KAAK,6BAA6B,QAAQ;AAAA,EACnD;AAAA,EAEA,OAAc,OACZ,OACA,iBAGqB,wCACH;AAClB,WAAO,IAAI,sBAAqB,OAAO,cAAc;AAAA,EACvD;AACF;","names":[]}
|
|
@@ -17,6 +17,7 @@ var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
|
|
|
17
17
|
__internal_bindMethods() {
|
|
18
18
|
this.switchToNewThread = this.switchToNewThread.bind(this);
|
|
19
19
|
this.switchToThread = this.switchToThread.bind(this);
|
|
20
|
+
this.registerModelContextProvider = this.registerModelContextProvider.bind(this);
|
|
20
21
|
this.registerModelConfigProvider = this.registerModelConfigProvider.bind(this);
|
|
21
22
|
}
|
|
22
23
|
get thread() {
|
|
@@ -28,8 +29,11 @@ var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
|
|
|
28
29
|
switchToThread(threadId) {
|
|
29
30
|
return this._core.threads.switchToThread(threadId);
|
|
30
31
|
}
|
|
32
|
+
registerModelContextProvider(provider) {
|
|
33
|
+
return this._core.registerModelContextProvider(provider);
|
|
34
|
+
}
|
|
31
35
|
registerModelConfigProvider(provider) {
|
|
32
|
-
return this.
|
|
36
|
+
return this.registerModelContextProvider(provider);
|
|
33
37
|
}
|
|
34
38
|
static create(_core, runtimeFactory = ThreadRuntimeImpl) {
|
|
35
39
|
return new _AssistantRuntimeImpl(_core, runtimeFactory);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport { ModelContextProvider } from \"../model-context/ModelContextTypes\";\nimport {\n ThreadListItemRuntimeBinding,\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadListRuntime, ThreadListRuntimeImpl } from \"./ThreadListRuntime\";\n\nexport type AssistantRuntime = {\n /**\n * The threads in this assistant.\n */\n readonly threads: ThreadListRuntime;\n\n /**\n * The currently selected main thread. Equivalent to `threads.main`.\n */\n readonly thread: ThreadRuntime;\n\n /**\n * @deprecated This field was renamed to `threads.main`.\n */\n readonly threadList: ThreadListRuntime;\n\n /**\n * Switch to a new thread.\n *\n * @deprecated This method was moved to `threads.switchToNewThread`.\n */\n switchToNewThread(): void;\n\n /**\n * Switch to a thread.\n *\n * @param threadId The thread ID to switch to.\n * @deprecated This method was moved to `threads.switchToThread`.\n */\n switchToThread(threadId: string): void;\n\n /**\n * Register a model context provider. Model context providers are configuration such as system message, temperature, etc. that are set in the frontend.\n *\n * @param provider The model context provider to register.\n */\n registerModelContextProvider(provider: ModelContextProvider): Unsubscribe;\n\n /**\n * @deprecated This method was renamed to `registerModelContextProvider`.\n */\n registerModelConfigProvider(provider: ModelContextProvider): Unsubscribe;\n};\n\nexport class AssistantRuntimeImpl implements AssistantRuntime {\n public readonly threads;\n public get threadList() {\n return this.threads;\n }\n\n public readonly _thread: ThreadRuntime;\n\n protected constructor(\n private readonly _core: AssistantRuntimeCore,\n runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n this.threads = new ThreadListRuntimeImpl(_core.threads, runtimeFactory);\n this._thread = this.threadList.main;\n }\n\n protected __internal_bindMethods() {\n this.switchToNewThread = this.switchToNewThread.bind(this);\n this.switchToThread = this.switchToThread.bind(this);\n this.registerModelContextProvider =\n this.registerModelContextProvider.bind(this);\n this.registerModelConfigProvider =\n this.registerModelConfigProvider.bind(this);\n }\n\n public get thread() {\n return this._thread;\n }\n\n public switchToNewThread() {\n return this._core.threads.switchToNewThread();\n }\n\n public switchToThread(threadId: string) {\n return this._core.threads.switchToThread(threadId);\n }\n\n public registerModelContextProvider(provider: ModelContextProvider) {\n return this._core.registerModelContextProvider(provider);\n }\n\n public registerModelConfigProvider(provider: ModelContextProvider) {\n return this.registerModelContextProvider(provider);\n }\n\n public static create(\n _core: AssistantRuntimeCore,\n runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ): AssistantRuntime {\n return new AssistantRuntimeImpl(_core, runtimeFactory);\n }\n}\n"],"mappings":";AAEA;AAAA,EAIE;AAAA,OACK;AAEP,SAA4B,6BAA6B;AA8ClD,IAAM,uBAAN,MAAM,sBAAiD;AAAA,EAQlD,YACS,OACjB,iBAGqB,mBACrB;AALiB;AAMjB,SAAK,UAAU,IAAI,sBAAsB,MAAM,SAAS,cAAc;AACtE,SAAK,UAAU,KAAK,WAAW;AAAA,EACjC;AAAA,EAhBgB;AAAA,EAChB,IAAW,aAAa;AACtB,WAAO,KAAK;AAAA,EACd;AAAA,EAEgB;AAAA,EAaN,yBAAyB;AACjC,SAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AACzD,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,+BACH,KAAK,6BAA6B,KAAK,IAAI;AAC7C,SAAK,8BACH,KAAK,4BAA4B,KAAK,IAAI;AAAA,EAC9C;AAAA,EAEA,IAAW,SAAS;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,oBAAoB;AACzB,WAAO,KAAK,MAAM,QAAQ,kBAAkB;AAAA,EAC9C;AAAA,EAEO,eAAe,UAAkB;AACtC,WAAO,KAAK,MAAM,QAAQ,eAAe,QAAQ;AAAA,EACnD;AAAA,EAEO,6BAA6B,UAAgC;AAClE,WAAO,KAAK,MAAM,6BAA6B,QAAQ;AAAA,EACzD;AAAA,EAEO,4BAA4B,UAAgC;AACjE,WAAO,KAAK,6BAA6B,QAAQ;AAAA,EACnD;AAAA,EAEA,OAAc,OACZ,OACA,iBAGqB,mBACH;AAClB,WAAO,IAAI,sBAAqB,OAAO,cAAc;AAAA,EACvD;AACF;","names":[]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { ThreadSuggestion, RuntimeCapabilities, ThreadRuntimeCore, SpeechState, ThreadRuntimeEventType, StartRunConfig } from "../runtimes/core/ThreadRuntimeCore";
|
|
2
2
|
import { ExportedMessageRepository } from "../runtimes/utils/MessageRepository";
|
|
3
|
-
import { AppendMessage,
|
|
3
|
+
import { AppendMessage, ThreadMessage, Unsubscribe } from "../types";
|
|
4
4
|
import { MessageRuntime, MessageRuntimeImpl } from "./MessageRuntime";
|
|
5
5
|
import { SubscribableWithState } from "./subscribable/Subscribable";
|
|
6
6
|
import { ThreadComposerRuntime, ThreadComposerRuntimeImpl } from "./ComposerRuntime";
|
|
7
7
|
import { ThreadListItemRuntimePath, ThreadRuntimePath } from "./RuntimePathTypes";
|
|
8
8
|
import { ThreadListItemState } from "./ThreadListItemRuntime";
|
|
9
9
|
import { RunConfig } from "../types/AssistantTypes";
|
|
10
|
+
import { ModelContext } from "../model-context";
|
|
10
11
|
export type CreateStartRunConfig = {
|
|
11
12
|
parentId: string | null;
|
|
12
13
|
sourceId?: string | null | undefined;
|
|
@@ -107,7 +108,11 @@ export type ThreadRuntime = {
|
|
|
107
108
|
startRun(config: CreateStartRunConfig): void;
|
|
108
109
|
subscribe(callback: () => void): Unsubscribe;
|
|
109
110
|
cancelRun(): void;
|
|
110
|
-
|
|
111
|
+
getModelContext(): ModelContext;
|
|
112
|
+
/**
|
|
113
|
+
* @deprecated This method was renamed to `getModelContext`.
|
|
114
|
+
*/
|
|
115
|
+
getModelConfig(): ModelContext;
|
|
111
116
|
export(): ExportedMessageRepository;
|
|
112
117
|
import(repository: ExportedMessageRepository): void;
|
|
113
118
|
getMesssageByIndex(idx: number): MessageRuntime;
|
|
@@ -137,7 +142,7 @@ export declare class ThreadRuntimeImpl implements ThreadRuntime {
|
|
|
137
142
|
stopSpeaking: () => void;
|
|
138
143
|
getSubmittedFeedback: (messageId: string) => import("../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined;
|
|
139
144
|
submitFeedback: (feedback: import("..").SubmitFeedbackOptions) => void;
|
|
140
|
-
|
|
145
|
+
getModelContext: () => ModelContext;
|
|
141
146
|
composer: import("../runtimes/core/ComposerRuntimeCore").ThreadComposerRuntimeCore;
|
|
142
147
|
getEditComposer: (messageId: string) => Readonly<{
|
|
143
148
|
isEditing: boolean;
|
|
@@ -184,7 +189,8 @@ export declare class ThreadRuntimeImpl implements ThreadRuntime {
|
|
|
184
189
|
getState(): ThreadState;
|
|
185
190
|
append(message: CreateAppendMessage): void;
|
|
186
191
|
subscribe(callback: () => void): Unsubscribe;
|
|
187
|
-
|
|
192
|
+
getModelContext(): ModelContext;
|
|
193
|
+
getModelConfig(): ModelContext;
|
|
188
194
|
startRun(configOrParentId: string | null | CreateStartRunConfig): void;
|
|
189
195
|
cancelRun(): void;
|
|
190
196
|
stopSpeaking(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadRuntime.d.ts","sourceRoot":"","sources":["../../src/api/ThreadRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"ThreadRuntime.d.ts","sourceRoot":"","sources":["../../src/api/ThreadRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,6 +129,7 @@ var ThreadRuntimeImpl = class {
|
|
|
129
129
|
this.getMesssageById = this.getMesssageById.bind(this);
|
|
130
130
|
this.subscribe = this.subscribe.bind(this);
|
|
131
131
|
this.unstable_on = this.unstable_on.bind(this);
|
|
132
|
+
this.getModelContext = this.getModelContext.bind(this);
|
|
132
133
|
this.getModelConfig = this.getModelConfig.bind(this);
|
|
133
134
|
this.getState = this.getState.bind(this);
|
|
134
135
|
}
|
|
@@ -144,8 +145,11 @@ var ThreadRuntimeImpl = class {
|
|
|
144
145
|
subscribe(callback) {
|
|
145
146
|
return this._threadBinding.subscribe(callback);
|
|
146
147
|
}
|
|
148
|
+
getModelContext() {
|
|
149
|
+
return this._threadBinding.getState().getModelContext();
|
|
150
|
+
}
|
|
147
151
|
getModelConfig() {
|
|
148
|
-
return this.
|
|
152
|
+
return this.getModelContext();
|
|
149
153
|
}
|
|
150
154
|
startRun(configOrParentId) {
|
|
151
155
|
const config = configOrParentId === null || typeof configOrParentId === "string" ? { parentId: configOrParentId } : configOrParentId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/ThreadRuntime.ts"],"sourcesContent":["import {\n ThreadSuggestion,\n RuntimeCapabilities,\n ThreadRuntimeCore,\n SpeechState,\n ThreadRuntimeEventType,\n StartRunConfig,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { ExportedMessageRepository } from \"../runtimes/utils/MessageRepository\";\nimport {\n AppendMessage,\n ModelConfig,\n ThreadMessage,\n Unsubscribe,\n} from \"../types\";\nimport {\n MessageRuntime,\n MessageRuntimeImpl,\n MessageState,\n} from \"./MessageRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport {\n ThreadComposerRuntime,\n ThreadComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport {\n MessageRuntimePath,\n ThreadListItemRuntimePath,\n ThreadRuntimePath,\n} from \"./RuntimePathTypes\";\nimport { ThreadListItemState } from \"./ThreadListItemRuntime\";\nimport { RunConfig } from \"../types/AssistantTypes\";\nimport { EventSubscriptionSubject } from \"./subscribable/EventSubscriptionSubject\";\nimport { symbolInnerMessage } from \"../runtimes/external-store/getExternalStoreMessage\";\n\nexport type CreateStartRunConfig = {\n parentId: string | null;\n sourceId?: string | null | undefined;\n runConfig?: RunConfig | undefined;\n};\n\nconst toStartRunConfig = (message: CreateStartRunConfig): StartRunConfig => {\n return {\n parentId: message.parentId ?? null,\n sourceId: message.sourceId ?? null,\n runConfig: message.runConfig ?? {},\n };\n};\n\nexport type CreateAppendMessage =\n | string\n | {\n parentId?: string | null | undefined;\n sourceId?: string | null | undefined;\n role?: AppendMessage[\"role\"] | undefined;\n content: AppendMessage[\"content\"];\n attachments?: AppendMessage[\"attachments\"] | undefined;\n startRun?: boolean | undefined;\n };\n\nconst toAppendMessage = (\n messages: readonly ThreadMessage[],\n message: CreateAppendMessage,\n): AppendMessage => {\n if (typeof message === \"string\") {\n return {\n parentId: messages.at(-1)?.id ?? null,\n sourceId: null,\n runConfig: {},\n role: \"user\",\n content: [{ type: \"text\", text: message }],\n attachments: [],\n };\n }\n\n if (message.role && message.parentId && message.attachments) {\n return message as AppendMessage;\n }\n\n return {\n ...message,\n parentId: message.parentId ?? messages.at(-1)?.id ?? null,\n sourceId: message.sourceId ?? null,\n role: message.role ?? \"user\",\n attachments: message.attachments ?? [],\n } as AppendMessage;\n};\n\nexport type ThreadRuntimeCoreBinding = SubscribableWithState<\n ThreadRuntimeCore,\n ThreadRuntimePath\n> & {\n outerSubscribe(callback: () => void): Unsubscribe;\n};\n\nexport type ThreadListItemRuntimeBinding = SubscribableWithState<\n ThreadListItemState,\n ThreadListItemRuntimePath\n>;\n\nexport type ThreadState = {\n /**\n * The thread ID.\n * @deprecated This field is deprecated and will be removed in 0.8.0. Use `useThreadListItem().id` instead.\n */\n readonly threadId: string;\n\n /**\n * The thread metadata.\n *\n * @deprecated Use `useThreadListItem()` instead. This field is deprecated and will be removed in 0.8.0.\n */\n readonly metadata: ThreadListItemState;\n\n /**\n * Whether the thread is disabled. Disabled threads cannot receive new messages.\n */\n readonly isDisabled: boolean;\n\n /**\n * Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.\n */\n readonly isRunning: boolean;\n\n /**\n * The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.\n */\n readonly capabilities: RuntimeCapabilities;\n\n /**\n * The messages in the currently selected branch of the thread.\n */\n readonly messages: readonly ThreadMessage[];\n\n /**\n * Follow up message suggestions to show the user.\n */\n readonly suggestions: readonly ThreadSuggestion[];\n\n /**\n * Custom extra information provided by the runtime.\n */\n readonly extras: unknown;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n};\n\nexport const getThreadState = (\n runtime: ThreadRuntimeCore,\n threadListItemState: ThreadListItemState,\n): ThreadState => {\n const lastMessage = runtime.messages.at(-1);\n return Object.freeze({\n threadId: threadListItemState.id,\n metadata: threadListItemState,\n capabilities: runtime.capabilities,\n isDisabled: runtime.isDisabled,\n isRunning:\n lastMessage?.role !== \"assistant\"\n ? false\n : lastMessage.status.type === \"running\",\n messages: runtime.messages,\n suggestions: runtime.suggestions,\n extras: runtime.extras,\n speech: runtime.speech,\n });\n};\n\nexport type ThreadRuntime = {\n /**\n * The selector for the thread runtime.\n */\n readonly path: ThreadRuntimePath;\n\n /**\n * The thread composer runtime.\n */\n readonly composer: ThreadComposerRuntime;\n\n /**\n * Gets a snapshot of the thread state.\n */\n getState(): ThreadState;\n\n /**\n * Append a new message to the thread.\n *\n * @example ```ts\n * // append a new user message with the text \"Hello, world!\"\n * threadRuntime.append(\"Hello, world!\");\n * ```\n *\n * @example ```ts\n * // append a new assistant message with the text \"Hello, world!\"\n * threadRuntime.append({\n * role: \"assistant\",\n * content: [{ type: \"text\", text: \"Hello, world!\" }],\n * });\n * ```\n */\n append(message: CreateAppendMessage): void;\n\n /**\n * @deprecated pass an object with `parentId` instead. This will be removed in 0.8.0.\n */\n startRun(parentId: string | null): void;\n /**\n * Start a new run with the given configuration.\n * @param config The configuration for starting the run\n */\n startRun(config: CreateStartRunConfig): void;\n subscribe(callback: () => void): Unsubscribe;\n cancelRun(): void;\n getModelConfig(): ModelConfig;\n export(): ExportedMessageRepository;\n import(repository: ExportedMessageRepository): void;\n getMesssageByIndex(idx: number): MessageRuntime;\n getMesssageById(messageId: string): MessageRuntime;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking: () => void;\n\n unstable_on(event: ThreadRuntimeEventType, callback: () => void): Unsubscribe;\n};\n\nexport class ThreadRuntimeImpl implements ThreadRuntime {\n public get path() {\n return this._threadBinding.path;\n }\n\n public get __internal_threadBinding() {\n return this._threadBinding;\n }\n\n private readonly _threadBinding: ThreadRuntimeCoreBinding & {\n getStateState(): ThreadState;\n };\n\n constructor(\n threadBinding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: threadBinding.path,\n getState: () =>\n getThreadState(\n threadBinding.getState(),\n threadListItemBinding.getState(),\n ),\n subscribe: (callback) => {\n const sub1 = threadBinding.subscribe(callback);\n const sub2 = threadListItemBinding.subscribe(callback);\n return () => {\n sub1();\n sub2();\n };\n },\n });\n\n this._threadBinding = {\n path: threadBinding.path,\n getState: () => threadBinding.getState(),\n getStateState: () => stateBinding.getState(),\n outerSubscribe: (callback) => threadBinding.outerSubscribe(callback),\n subscribe: (callback) => threadBinding.subscribe(callback),\n };\n\n this.composer = new ThreadComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"thread\",\n },\n getState: () => this._threadBinding.getState().composer,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n );\n }\n\n protected __internal_bindMethods() {\n this.append = this.append.bind(this);\n this.startRun = this.startRun.bind(this);\n this.cancelRun = this.cancelRun.bind(this);\n this.stopSpeaking = this.stopSpeaking.bind(this);\n this.export = this.export.bind(this);\n this.import = this.import.bind(this);\n this.getMesssageByIndex = this.getMesssageByIndex.bind(this);\n this.getMesssageById = this.getMesssageById.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.unstable_on = this.unstable_on.bind(this);\n this.getModelConfig = this.getModelConfig.bind(this);\n this.getState = this.getState.bind(this);\n }\n\n public readonly composer;\n\n public getState() {\n return this._threadBinding.getStateState();\n }\n\n public append(message: CreateAppendMessage) {\n this._threadBinding\n .getState()\n .append(\n toAppendMessage(this._threadBinding.getState().messages, message),\n );\n }\n\n public subscribe(callback: () => void) {\n return this._threadBinding.subscribe(callback);\n }\n\n public getModelConfig() {\n return this._threadBinding.getState().getModelConfig();\n }\n\n public startRun(configOrParentId: string | null | CreateStartRunConfig) {\n const config =\n configOrParentId === null || typeof configOrParentId === \"string\"\n ? { parentId: configOrParentId }\n : configOrParentId;\n return this._threadBinding.getState().startRun(toStartRunConfig(config));\n }\n\n public cancelRun() {\n this._threadBinding.getState().cancelRun();\n }\n\n public stopSpeaking() {\n return this._threadBinding.getState().stopSpeaking();\n }\n\n public export() {\n return this._threadBinding.getState().export();\n }\n\n public import(data: ExportedMessageRepository) {\n this._threadBinding.getState().import(data);\n }\n\n public getMesssageByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Message index must be >= 0\");\n\n return this._getMessageRuntime(\n {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.messages[${idx}]`,\n messageSelector: { type: \"index\", index: idx },\n },\n () => {\n const messages = this._threadBinding.getState().messages;\n const message = messages[idx];\n if (!message) return undefined;\n return {\n message,\n parentId: messages[idx - 1]?.id ?? null,\n };\n },\n );\n }\n\n public getMesssageById(messageId: string) {\n return this._getMessageRuntime(\n {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.messages[messageId=${JSON.stringify(messageId)}]`,\n messageSelector: { type: \"messageId\", messageId: messageId },\n },\n () => this._threadBinding.getState().getMessageById(messageId),\n );\n }\n\n private _getMessageRuntime(\n path: MessageRuntimePath,\n callback: () =>\n | { parentId: string | null; message: ThreadMessage }\n | undefined,\n ) {\n return new MessageRuntimeImpl(\n new ShallowMemoizeSubject({\n path,\n getState: () => {\n const { message, parentId } = callback() ?? {};\n\n const { messages, speech: speechState } =\n this._threadBinding.getState();\n\n if (!message || parentId === undefined) return SKIP_UPDATE;\n\n const thread = this._threadBinding.getState();\n\n const branches = thread.getBranches(message.id);\n const submittedFeedback = thread.getSubmittedFeedback(message.id);\n\n return {\n ...message,\n ...{ [symbolInnerMessage]: (message as any)[symbolInnerMessage] },\n\n isLast: messages.at(-1)?.id === message.id,\n parentId,\n\n branchNumber: branches.indexOf(message.id) + 1,\n branchCount: branches.length,\n\n speech:\n speechState?.messageId === message.id ? speechState : undefined,\n\n submittedFeedback,\n } satisfies MessageState;\n },\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n this._threadBinding,\n );\n }\n\n private _eventSubscriptionSubjects = new Map<\n string,\n EventSubscriptionSubject<ThreadRuntimeEventType>\n >();\n\n public unstable_on(\n event: ThreadRuntimeEventType,\n callback: () => void,\n ): Unsubscribe {\n let subject = this._eventSubscriptionSubjects.get(event);\n if (!subject) {\n subject = new EventSubscriptionSubject({\n event: event,\n binding: this._threadBinding,\n });\n this._eventSubscriptionSubjects.set(event, subject);\n }\n return subject.subscribe(callback);\n }\n}\n"],"mappings":"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","names":["callback"]}
|
|
1
|
+
{"version":3,"sources":["../../src/api/ThreadRuntime.ts"],"sourcesContent":["import {\n ThreadSuggestion,\n RuntimeCapabilities,\n ThreadRuntimeCore,\n SpeechState,\n ThreadRuntimeEventType,\n StartRunConfig,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { ExportedMessageRepository } from \"../runtimes/utils/MessageRepository\";\nimport { AppendMessage, ThreadMessage, Unsubscribe } from \"../types\";\nimport {\n MessageRuntime,\n MessageRuntimeImpl,\n MessageState,\n} from \"./MessageRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport {\n ThreadComposerRuntime,\n ThreadComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport {\n MessageRuntimePath,\n ThreadListItemRuntimePath,\n ThreadRuntimePath,\n} from \"./RuntimePathTypes\";\nimport { ThreadListItemState } from \"./ThreadListItemRuntime\";\nimport { RunConfig } from \"../types/AssistantTypes\";\nimport { EventSubscriptionSubject } from \"./subscribable/EventSubscriptionSubject\";\nimport { symbolInnerMessage } from \"../runtimes/external-store/getExternalStoreMessage\";\nimport { ModelContext } from \"../model-context\";\n\nexport type CreateStartRunConfig = {\n parentId: string | null;\n sourceId?: string | null | undefined;\n runConfig?: RunConfig | undefined;\n};\n\nconst toStartRunConfig = (message: CreateStartRunConfig): StartRunConfig => {\n return {\n parentId: message.parentId ?? null,\n sourceId: message.sourceId ?? null,\n runConfig: message.runConfig ?? {},\n };\n};\n\nexport type CreateAppendMessage =\n | string\n | {\n parentId?: string | null | undefined;\n sourceId?: string | null | undefined;\n role?: AppendMessage[\"role\"] | undefined;\n content: AppendMessage[\"content\"];\n attachments?: AppendMessage[\"attachments\"] | undefined;\n startRun?: boolean | undefined;\n };\n\nconst toAppendMessage = (\n messages: readonly ThreadMessage[],\n message: CreateAppendMessage,\n): AppendMessage => {\n if (typeof message === \"string\") {\n return {\n parentId: messages.at(-1)?.id ?? null,\n sourceId: null,\n runConfig: {},\n role: \"user\",\n content: [{ type: \"text\", text: message }],\n attachments: [],\n };\n }\n\n if (message.role && message.parentId && message.attachments) {\n return message as AppendMessage;\n }\n\n return {\n ...message,\n parentId: message.parentId ?? messages.at(-1)?.id ?? null,\n sourceId: message.sourceId ?? null,\n role: message.role ?? \"user\",\n attachments: message.attachments ?? [],\n } as AppendMessage;\n};\n\nexport type ThreadRuntimeCoreBinding = SubscribableWithState<\n ThreadRuntimeCore,\n ThreadRuntimePath\n> & {\n outerSubscribe(callback: () => void): Unsubscribe;\n};\n\nexport type ThreadListItemRuntimeBinding = SubscribableWithState<\n ThreadListItemState,\n ThreadListItemRuntimePath\n>;\n\nexport type ThreadState = {\n /**\n * The thread ID.\n * @deprecated This field is deprecated and will be removed in 0.8.0. Use `useThreadListItem().id` instead.\n */\n readonly threadId: string;\n\n /**\n * The thread metadata.\n *\n * @deprecated Use `useThreadListItem()` instead. This field is deprecated and will be removed in 0.8.0.\n */\n readonly metadata: ThreadListItemState;\n\n /**\n * Whether the thread is disabled. Disabled threads cannot receive new messages.\n */\n readonly isDisabled: boolean;\n\n /**\n * Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.\n */\n readonly isRunning: boolean;\n\n /**\n * The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.\n */\n readonly capabilities: RuntimeCapabilities;\n\n /**\n * The messages in the currently selected branch of the thread.\n */\n readonly messages: readonly ThreadMessage[];\n\n /**\n * Follow up message suggestions to show the user.\n */\n readonly suggestions: readonly ThreadSuggestion[];\n\n /**\n * Custom extra information provided by the runtime.\n */\n readonly extras: unknown;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n};\n\nexport const getThreadState = (\n runtime: ThreadRuntimeCore,\n threadListItemState: ThreadListItemState,\n): ThreadState => {\n const lastMessage = runtime.messages.at(-1);\n return Object.freeze({\n threadId: threadListItemState.id,\n metadata: threadListItemState,\n capabilities: runtime.capabilities,\n isDisabled: runtime.isDisabled,\n isRunning:\n lastMessage?.role !== \"assistant\"\n ? false\n : lastMessage.status.type === \"running\",\n messages: runtime.messages,\n suggestions: runtime.suggestions,\n extras: runtime.extras,\n speech: runtime.speech,\n });\n};\n\nexport type ThreadRuntime = {\n /**\n * The selector for the thread runtime.\n */\n readonly path: ThreadRuntimePath;\n\n /**\n * The thread composer runtime.\n */\n readonly composer: ThreadComposerRuntime;\n\n /**\n * Gets a snapshot of the thread state.\n */\n getState(): ThreadState;\n\n /**\n * Append a new message to the thread.\n *\n * @example ```ts\n * // append a new user message with the text \"Hello, world!\"\n * threadRuntime.append(\"Hello, world!\");\n * ```\n *\n * @example ```ts\n * // append a new assistant message with the text \"Hello, world!\"\n * threadRuntime.append({\n * role: \"assistant\",\n * content: [{ type: \"text\", text: \"Hello, world!\" }],\n * });\n * ```\n */\n append(message: CreateAppendMessage): void;\n\n /**\n * @deprecated pass an object with `parentId` instead. This will be removed in 0.8.0.\n */\n startRun(parentId: string | null): void;\n /**\n * Start a new run with the given configuration.\n * @param config The configuration for starting the run\n */\n startRun(config: CreateStartRunConfig): void;\n subscribe(callback: () => void): Unsubscribe;\n cancelRun(): void;\n getModelContext(): ModelContext;\n\n /**\n * @deprecated This method was renamed to `getModelContext`.\n */\n getModelConfig(): ModelContext;\n\n export(): ExportedMessageRepository;\n import(repository: ExportedMessageRepository): void;\n getMesssageByIndex(idx: number): MessageRuntime;\n getMesssageById(messageId: string): MessageRuntime;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking: () => void;\n\n unstable_on(event: ThreadRuntimeEventType, callback: () => void): Unsubscribe;\n};\n\nexport class ThreadRuntimeImpl implements ThreadRuntime {\n public get path() {\n return this._threadBinding.path;\n }\n\n public get __internal_threadBinding() {\n return this._threadBinding;\n }\n\n private readonly _threadBinding: ThreadRuntimeCoreBinding & {\n getStateState(): ThreadState;\n };\n\n constructor(\n threadBinding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: threadBinding.path,\n getState: () =>\n getThreadState(\n threadBinding.getState(),\n threadListItemBinding.getState(),\n ),\n subscribe: (callback) => {\n const sub1 = threadBinding.subscribe(callback);\n const sub2 = threadListItemBinding.subscribe(callback);\n return () => {\n sub1();\n sub2();\n };\n },\n });\n\n this._threadBinding = {\n path: threadBinding.path,\n getState: () => threadBinding.getState(),\n getStateState: () => stateBinding.getState(),\n outerSubscribe: (callback) => threadBinding.outerSubscribe(callback),\n subscribe: (callback) => threadBinding.subscribe(callback),\n };\n\n this.composer = new ThreadComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"thread\",\n },\n getState: () => this._threadBinding.getState().composer,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n );\n }\n\n protected __internal_bindMethods() {\n this.append = this.append.bind(this);\n this.startRun = this.startRun.bind(this);\n this.cancelRun = this.cancelRun.bind(this);\n this.stopSpeaking = this.stopSpeaking.bind(this);\n this.export = this.export.bind(this);\n this.import = this.import.bind(this);\n this.getMesssageByIndex = this.getMesssageByIndex.bind(this);\n this.getMesssageById = this.getMesssageById.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.unstable_on = this.unstable_on.bind(this);\n this.getModelContext = this.getModelContext.bind(this);\n this.getModelConfig = this.getModelConfig.bind(this);\n this.getState = this.getState.bind(this);\n }\n\n public readonly composer;\n\n public getState() {\n return this._threadBinding.getStateState();\n }\n\n public append(message: CreateAppendMessage) {\n this._threadBinding\n .getState()\n .append(\n toAppendMessage(this._threadBinding.getState().messages, message),\n );\n }\n\n public subscribe(callback: () => void) {\n return this._threadBinding.subscribe(callback);\n }\n\n public getModelContext() {\n return this._threadBinding.getState().getModelContext();\n }\n\n public getModelConfig() {\n return this.getModelContext();\n }\n\n public startRun(configOrParentId: string | null | CreateStartRunConfig) {\n const config =\n configOrParentId === null || typeof configOrParentId === \"string\"\n ? { parentId: configOrParentId }\n : configOrParentId;\n return this._threadBinding.getState().startRun(toStartRunConfig(config));\n }\n\n public cancelRun() {\n this._threadBinding.getState().cancelRun();\n }\n\n public stopSpeaking() {\n return this._threadBinding.getState().stopSpeaking();\n }\n\n public export() {\n return this._threadBinding.getState().export();\n }\n\n public import(data: ExportedMessageRepository) {\n this._threadBinding.getState().import(data);\n }\n\n public getMesssageByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Message index must be >= 0\");\n\n return this._getMessageRuntime(\n {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.messages[${idx}]`,\n messageSelector: { type: \"index\", index: idx },\n },\n () => {\n const messages = this._threadBinding.getState().messages;\n const message = messages[idx];\n if (!message) return undefined;\n return {\n message,\n parentId: messages[idx - 1]?.id ?? null,\n };\n },\n );\n }\n\n public getMesssageById(messageId: string) {\n return this._getMessageRuntime(\n {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.messages[messageId=${JSON.stringify(messageId)}]`,\n messageSelector: { type: \"messageId\", messageId: messageId },\n },\n () => this._threadBinding.getState().getMessageById(messageId),\n );\n }\n\n private _getMessageRuntime(\n path: MessageRuntimePath,\n callback: () =>\n | { parentId: string | null; message: ThreadMessage }\n | undefined,\n ) {\n return new MessageRuntimeImpl(\n new ShallowMemoizeSubject({\n path,\n getState: () => {\n const { message, parentId } = callback() ?? {};\n\n const { messages, speech: speechState } =\n this._threadBinding.getState();\n\n if (!message || parentId === undefined) return SKIP_UPDATE;\n\n const thread = this._threadBinding.getState();\n\n const branches = thread.getBranches(message.id);\n const submittedFeedback = thread.getSubmittedFeedback(message.id);\n\n return {\n ...message,\n ...{ [symbolInnerMessage]: (message as any)[symbolInnerMessage] },\n\n isLast: messages.at(-1)?.id === message.id,\n parentId,\n\n branchNumber: branches.indexOf(message.id) + 1,\n branchCount: branches.length,\n\n speech:\n speechState?.messageId === message.id ? speechState : undefined,\n\n submittedFeedback,\n } satisfies MessageState;\n },\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n this._threadBinding,\n );\n }\n\n private _eventSubscriptionSubjects = new Map<\n string,\n EventSubscriptionSubject<ThreadRuntimeEventType>\n >();\n\n public unstable_on(\n event: ThreadRuntimeEventType,\n callback: () => void,\n ): Unsubscribe {\n let subject = this._eventSubscriptionSubjects.get(event);\n if (!subject) {\n subject = new EventSubscriptionSubject({\n event: event,\n binding: this._threadBinding,\n });\n this._eventSubscriptionSubjects.set(event, subject);\n }\n return subject.subscribe(callback);\n }\n}\n"],"mappings":"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","names":["callback"]}
|
|
@@ -108,6 +108,7 @@ var ThreadRuntimeImpl = class {
|
|
|
108
108
|
this.getMesssageById = this.getMesssageById.bind(this);
|
|
109
109
|
this.subscribe = this.subscribe.bind(this);
|
|
110
110
|
this.unstable_on = this.unstable_on.bind(this);
|
|
111
|
+
this.getModelContext = this.getModelContext.bind(this);
|
|
111
112
|
this.getModelConfig = this.getModelConfig.bind(this);
|
|
112
113
|
this.getState = this.getState.bind(this);
|
|
113
114
|
}
|
|
@@ -123,8 +124,11 @@ var ThreadRuntimeImpl = class {
|
|
|
123
124
|
subscribe(callback) {
|
|
124
125
|
return this._threadBinding.subscribe(callback);
|
|
125
126
|
}
|
|
127
|
+
getModelContext() {
|
|
128
|
+
return this._threadBinding.getState().getModelContext();
|
|
129
|
+
}
|
|
126
130
|
getModelConfig() {
|
|
127
|
-
return this.
|
|
131
|
+
return this.getModelContext();
|
|
128
132
|
}
|
|
129
133
|
startRun(configOrParentId) {
|
|
130
134
|
const config = configOrParentId === null || typeof configOrParentId === "string" ? { parentId: configOrParentId } : configOrParentId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/ThreadRuntime.ts"],"sourcesContent":["import {\n ThreadSuggestion,\n RuntimeCapabilities,\n ThreadRuntimeCore,\n SpeechState,\n ThreadRuntimeEventType,\n StartRunConfig,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { ExportedMessageRepository } from \"../runtimes/utils/MessageRepository\";\nimport {\n AppendMessage,\n ModelConfig,\n ThreadMessage,\n Unsubscribe,\n} from \"../types\";\nimport {\n MessageRuntime,\n MessageRuntimeImpl,\n MessageState,\n} from \"./MessageRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport {\n ThreadComposerRuntime,\n ThreadComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport {\n MessageRuntimePath,\n ThreadListItemRuntimePath,\n ThreadRuntimePath,\n} from \"./RuntimePathTypes\";\nimport { ThreadListItemState } from \"./ThreadListItemRuntime\";\nimport { RunConfig } from \"../types/AssistantTypes\";\nimport { EventSubscriptionSubject } from \"./subscribable/EventSubscriptionSubject\";\nimport { symbolInnerMessage } from \"../runtimes/external-store/getExternalStoreMessage\";\n\nexport type CreateStartRunConfig = {\n parentId: string | null;\n sourceId?: string | null | undefined;\n runConfig?: RunConfig | undefined;\n};\n\nconst toStartRunConfig = (message: CreateStartRunConfig): StartRunConfig => {\n return {\n parentId: message.parentId ?? null,\n sourceId: message.sourceId ?? null,\n runConfig: message.runConfig ?? {},\n };\n};\n\nexport type CreateAppendMessage =\n | string\n | {\n parentId?: string | null | undefined;\n sourceId?: string | null | undefined;\n role?: AppendMessage[\"role\"] | undefined;\n content: AppendMessage[\"content\"];\n attachments?: AppendMessage[\"attachments\"] | undefined;\n startRun?: boolean | undefined;\n };\n\nconst toAppendMessage = (\n messages: readonly ThreadMessage[],\n message: CreateAppendMessage,\n): AppendMessage => {\n if (typeof message === \"string\") {\n return {\n parentId: messages.at(-1)?.id ?? null,\n sourceId: null,\n runConfig: {},\n role: \"user\",\n content: [{ type: \"text\", text: message }],\n attachments: [],\n };\n }\n\n if (message.role && message.parentId && message.attachments) {\n return message as AppendMessage;\n }\n\n return {\n ...message,\n parentId: message.parentId ?? messages.at(-1)?.id ?? null,\n sourceId: message.sourceId ?? null,\n role: message.role ?? \"user\",\n attachments: message.attachments ?? [],\n } as AppendMessage;\n};\n\nexport type ThreadRuntimeCoreBinding = SubscribableWithState<\n ThreadRuntimeCore,\n ThreadRuntimePath\n> & {\n outerSubscribe(callback: () => void): Unsubscribe;\n};\n\nexport type ThreadListItemRuntimeBinding = SubscribableWithState<\n ThreadListItemState,\n ThreadListItemRuntimePath\n>;\n\nexport type ThreadState = {\n /**\n * The thread ID.\n * @deprecated This field is deprecated and will be removed in 0.8.0. Use `useThreadListItem().id` instead.\n */\n readonly threadId: string;\n\n /**\n * The thread metadata.\n *\n * @deprecated Use `useThreadListItem()` instead. This field is deprecated and will be removed in 0.8.0.\n */\n readonly metadata: ThreadListItemState;\n\n /**\n * Whether the thread is disabled. Disabled threads cannot receive new messages.\n */\n readonly isDisabled: boolean;\n\n /**\n * Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.\n */\n readonly isRunning: boolean;\n\n /**\n * The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.\n */\n readonly capabilities: RuntimeCapabilities;\n\n /**\n * The messages in the currently selected branch of the thread.\n */\n readonly messages: readonly ThreadMessage[];\n\n /**\n * Follow up message suggestions to show the user.\n */\n readonly suggestions: readonly ThreadSuggestion[];\n\n /**\n * Custom extra information provided by the runtime.\n */\n readonly extras: unknown;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n};\n\nexport const getThreadState = (\n runtime: ThreadRuntimeCore,\n threadListItemState: ThreadListItemState,\n): ThreadState => {\n const lastMessage = runtime.messages.at(-1);\n return Object.freeze({\n threadId: threadListItemState.id,\n metadata: threadListItemState,\n capabilities: runtime.capabilities,\n isDisabled: runtime.isDisabled,\n isRunning:\n lastMessage?.role !== \"assistant\"\n ? false\n : lastMessage.status.type === \"running\",\n messages: runtime.messages,\n suggestions: runtime.suggestions,\n extras: runtime.extras,\n speech: runtime.speech,\n });\n};\n\nexport type ThreadRuntime = {\n /**\n * The selector for the thread runtime.\n */\n readonly path: ThreadRuntimePath;\n\n /**\n * The thread composer runtime.\n */\n readonly composer: ThreadComposerRuntime;\n\n /**\n * Gets a snapshot of the thread state.\n */\n getState(): ThreadState;\n\n /**\n * Append a new message to the thread.\n *\n * @example ```ts\n * // append a new user message with the text \"Hello, world!\"\n * threadRuntime.append(\"Hello, world!\");\n * ```\n *\n * @example ```ts\n * // append a new assistant message with the text \"Hello, world!\"\n * threadRuntime.append({\n * role: \"assistant\",\n * content: [{ type: \"text\", text: \"Hello, world!\" }],\n * });\n * ```\n */\n append(message: CreateAppendMessage): void;\n\n /**\n * @deprecated pass an object with `parentId` instead. This will be removed in 0.8.0.\n */\n startRun(parentId: string | null): void;\n /**\n * Start a new run with the given configuration.\n * @param config The configuration for starting the run\n */\n startRun(config: CreateStartRunConfig): void;\n subscribe(callback: () => void): Unsubscribe;\n cancelRun(): void;\n getModelConfig(): ModelConfig;\n export(): ExportedMessageRepository;\n import(repository: ExportedMessageRepository): void;\n getMesssageByIndex(idx: number): MessageRuntime;\n getMesssageById(messageId: string): MessageRuntime;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking: () => void;\n\n unstable_on(event: ThreadRuntimeEventType, callback: () => void): Unsubscribe;\n};\n\nexport class ThreadRuntimeImpl implements ThreadRuntime {\n public get path() {\n return this._threadBinding.path;\n }\n\n public get __internal_threadBinding() {\n return this._threadBinding;\n }\n\n private readonly _threadBinding: ThreadRuntimeCoreBinding & {\n getStateState(): ThreadState;\n };\n\n constructor(\n threadBinding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: threadBinding.path,\n getState: () =>\n getThreadState(\n threadBinding.getState(),\n threadListItemBinding.getState(),\n ),\n subscribe: (callback) => {\n const sub1 = threadBinding.subscribe(callback);\n const sub2 = threadListItemBinding.subscribe(callback);\n return () => {\n sub1();\n sub2();\n };\n },\n });\n\n this._threadBinding = {\n path: threadBinding.path,\n getState: () => threadBinding.getState(),\n getStateState: () => stateBinding.getState(),\n outerSubscribe: (callback) => threadBinding.outerSubscribe(callback),\n subscribe: (callback) => threadBinding.subscribe(callback),\n };\n\n this.composer = new ThreadComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"thread\",\n },\n getState: () => this._threadBinding.getState().composer,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n );\n }\n\n protected __internal_bindMethods() {\n this.append = this.append.bind(this);\n this.startRun = this.startRun.bind(this);\n this.cancelRun = this.cancelRun.bind(this);\n this.stopSpeaking = this.stopSpeaking.bind(this);\n this.export = this.export.bind(this);\n this.import = this.import.bind(this);\n this.getMesssageByIndex = this.getMesssageByIndex.bind(this);\n this.getMesssageById = this.getMesssageById.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.unstable_on = this.unstable_on.bind(this);\n this.getModelConfig = this.getModelConfig.bind(this);\n this.getState = this.getState.bind(this);\n }\n\n public readonly composer;\n\n public getState() {\n return this._threadBinding.getStateState();\n }\n\n public append(message: CreateAppendMessage) {\n this._threadBinding\n .getState()\n .append(\n toAppendMessage(this._threadBinding.getState().messages, message),\n );\n }\n\n public subscribe(callback: () => void) {\n return this._threadBinding.subscribe(callback);\n }\n\n public getModelConfig() {\n return this._threadBinding.getState().getModelConfig();\n }\n\n public startRun(configOrParentId: string | null | CreateStartRunConfig) {\n const config =\n configOrParentId === null || typeof configOrParentId === \"string\"\n ? { parentId: configOrParentId }\n : configOrParentId;\n return this._threadBinding.getState().startRun(toStartRunConfig(config));\n }\n\n public cancelRun() {\n this._threadBinding.getState().cancelRun();\n }\n\n public stopSpeaking() {\n return this._threadBinding.getState().stopSpeaking();\n }\n\n public export() {\n return this._threadBinding.getState().export();\n }\n\n public import(data: ExportedMessageRepository) {\n this._threadBinding.getState().import(data);\n }\n\n public getMesssageByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Message index must be >= 0\");\n\n return this._getMessageRuntime(\n {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.messages[${idx}]`,\n messageSelector: { type: \"index\", index: idx },\n },\n () => {\n const messages = this._threadBinding.getState().messages;\n const message = messages[idx];\n if (!message) return undefined;\n return {\n message,\n parentId: messages[idx - 1]?.id ?? null,\n };\n },\n );\n }\n\n public getMesssageById(messageId: string) {\n return this._getMessageRuntime(\n {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.messages[messageId=${JSON.stringify(messageId)}]`,\n messageSelector: { type: \"messageId\", messageId: messageId },\n },\n () => this._threadBinding.getState().getMessageById(messageId),\n );\n }\n\n private _getMessageRuntime(\n path: MessageRuntimePath,\n callback: () =>\n | { parentId: string | null; message: ThreadMessage }\n | undefined,\n ) {\n return new MessageRuntimeImpl(\n new ShallowMemoizeSubject({\n path,\n getState: () => {\n const { message, parentId } = callback() ?? {};\n\n const { messages, speech: speechState } =\n this._threadBinding.getState();\n\n if (!message || parentId === undefined) return SKIP_UPDATE;\n\n const thread = this._threadBinding.getState();\n\n const branches = thread.getBranches(message.id);\n const submittedFeedback = thread.getSubmittedFeedback(message.id);\n\n return {\n ...message,\n ...{ [symbolInnerMessage]: (message as any)[symbolInnerMessage] },\n\n isLast: messages.at(-1)?.id === message.id,\n parentId,\n\n branchNumber: branches.indexOf(message.id) + 1,\n branchCount: branches.length,\n\n speech:\n speechState?.messageId === message.id ? speechState : undefined,\n\n submittedFeedback,\n } satisfies MessageState;\n },\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n this._threadBinding,\n );\n }\n\n private _eventSubscriptionSubjects = new Map<\n string,\n EventSubscriptionSubject<ThreadRuntimeEventType>\n >();\n\n public unstable_on(\n event: ThreadRuntimeEventType,\n callback: () => void,\n ): Unsubscribe {\n let subject = this._eventSubscriptionSubjects.get(event);\n if (!subject) {\n subject = new EventSubscriptionSubject({\n event: event,\n binding: this._threadBinding,\n });\n this._eventSubscriptionSubjects.set(event, subject);\n }\n return subject.subscribe(callback);\n }\n}\n"],"mappings":"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","names":["callback"]}
|
|
1
|
+
{"version":3,"sources":["../../src/api/ThreadRuntime.ts"],"sourcesContent":["import {\n ThreadSuggestion,\n RuntimeCapabilities,\n ThreadRuntimeCore,\n SpeechState,\n ThreadRuntimeEventType,\n StartRunConfig,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { ExportedMessageRepository } from \"../runtimes/utils/MessageRepository\";\nimport { AppendMessage, ThreadMessage, Unsubscribe } from \"../types\";\nimport {\n MessageRuntime,\n MessageRuntimeImpl,\n MessageState,\n} from \"./MessageRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport {\n ThreadComposerRuntime,\n ThreadComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport {\n MessageRuntimePath,\n ThreadListItemRuntimePath,\n ThreadRuntimePath,\n} from \"./RuntimePathTypes\";\nimport { ThreadListItemState } from \"./ThreadListItemRuntime\";\nimport { RunConfig } from \"../types/AssistantTypes\";\nimport { EventSubscriptionSubject } from \"./subscribable/EventSubscriptionSubject\";\nimport { symbolInnerMessage } from \"../runtimes/external-store/getExternalStoreMessage\";\nimport { ModelContext } from \"../model-context\";\n\nexport type CreateStartRunConfig = {\n parentId: string | null;\n sourceId?: string | null | undefined;\n runConfig?: RunConfig | undefined;\n};\n\nconst toStartRunConfig = (message: CreateStartRunConfig): StartRunConfig => {\n return {\n parentId: message.parentId ?? null,\n sourceId: message.sourceId ?? null,\n runConfig: message.runConfig ?? {},\n };\n};\n\nexport type CreateAppendMessage =\n | string\n | {\n parentId?: string | null | undefined;\n sourceId?: string | null | undefined;\n role?: AppendMessage[\"role\"] | undefined;\n content: AppendMessage[\"content\"];\n attachments?: AppendMessage[\"attachments\"] | undefined;\n startRun?: boolean | undefined;\n };\n\nconst toAppendMessage = (\n messages: readonly ThreadMessage[],\n message: CreateAppendMessage,\n): AppendMessage => {\n if (typeof message === \"string\") {\n return {\n parentId: messages.at(-1)?.id ?? null,\n sourceId: null,\n runConfig: {},\n role: \"user\",\n content: [{ type: \"text\", text: message }],\n attachments: [],\n };\n }\n\n if (message.role && message.parentId && message.attachments) {\n return message as AppendMessage;\n }\n\n return {\n ...message,\n parentId: message.parentId ?? messages.at(-1)?.id ?? null,\n sourceId: message.sourceId ?? null,\n role: message.role ?? \"user\",\n attachments: message.attachments ?? [],\n } as AppendMessage;\n};\n\nexport type ThreadRuntimeCoreBinding = SubscribableWithState<\n ThreadRuntimeCore,\n ThreadRuntimePath\n> & {\n outerSubscribe(callback: () => void): Unsubscribe;\n};\n\nexport type ThreadListItemRuntimeBinding = SubscribableWithState<\n ThreadListItemState,\n ThreadListItemRuntimePath\n>;\n\nexport type ThreadState = {\n /**\n * The thread ID.\n * @deprecated This field is deprecated and will be removed in 0.8.0. Use `useThreadListItem().id` instead.\n */\n readonly threadId: string;\n\n /**\n * The thread metadata.\n *\n * @deprecated Use `useThreadListItem()` instead. This field is deprecated and will be removed in 0.8.0.\n */\n readonly metadata: ThreadListItemState;\n\n /**\n * Whether the thread is disabled. Disabled threads cannot receive new messages.\n */\n readonly isDisabled: boolean;\n\n /**\n * Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.\n */\n readonly isRunning: boolean;\n\n /**\n * The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.\n */\n readonly capabilities: RuntimeCapabilities;\n\n /**\n * The messages in the currently selected branch of the thread.\n */\n readonly messages: readonly ThreadMessage[];\n\n /**\n * Follow up message suggestions to show the user.\n */\n readonly suggestions: readonly ThreadSuggestion[];\n\n /**\n * Custom extra information provided by the runtime.\n */\n readonly extras: unknown;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n};\n\nexport const getThreadState = (\n runtime: ThreadRuntimeCore,\n threadListItemState: ThreadListItemState,\n): ThreadState => {\n const lastMessage = runtime.messages.at(-1);\n return Object.freeze({\n threadId: threadListItemState.id,\n metadata: threadListItemState,\n capabilities: runtime.capabilities,\n isDisabled: runtime.isDisabled,\n isRunning:\n lastMessage?.role !== \"assistant\"\n ? false\n : lastMessage.status.type === \"running\",\n messages: runtime.messages,\n suggestions: runtime.suggestions,\n extras: runtime.extras,\n speech: runtime.speech,\n });\n};\n\nexport type ThreadRuntime = {\n /**\n * The selector for the thread runtime.\n */\n readonly path: ThreadRuntimePath;\n\n /**\n * The thread composer runtime.\n */\n readonly composer: ThreadComposerRuntime;\n\n /**\n * Gets a snapshot of the thread state.\n */\n getState(): ThreadState;\n\n /**\n * Append a new message to the thread.\n *\n * @example ```ts\n * // append a new user message with the text \"Hello, world!\"\n * threadRuntime.append(\"Hello, world!\");\n * ```\n *\n * @example ```ts\n * // append a new assistant message with the text \"Hello, world!\"\n * threadRuntime.append({\n * role: \"assistant\",\n * content: [{ type: \"text\", text: \"Hello, world!\" }],\n * });\n * ```\n */\n append(message: CreateAppendMessage): void;\n\n /**\n * @deprecated pass an object with `parentId` instead. This will be removed in 0.8.0.\n */\n startRun(parentId: string | null): void;\n /**\n * Start a new run with the given configuration.\n * @param config The configuration for starting the run\n */\n startRun(config: CreateStartRunConfig): void;\n subscribe(callback: () => void): Unsubscribe;\n cancelRun(): void;\n getModelContext(): ModelContext;\n\n /**\n * @deprecated This method was renamed to `getModelContext`.\n */\n getModelConfig(): ModelContext;\n\n export(): ExportedMessageRepository;\n import(repository: ExportedMessageRepository): void;\n getMesssageByIndex(idx: number): MessageRuntime;\n getMesssageById(messageId: string): MessageRuntime;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking: () => void;\n\n unstable_on(event: ThreadRuntimeEventType, callback: () => void): Unsubscribe;\n};\n\nexport class ThreadRuntimeImpl implements ThreadRuntime {\n public get path() {\n return this._threadBinding.path;\n }\n\n public get __internal_threadBinding() {\n return this._threadBinding;\n }\n\n private readonly _threadBinding: ThreadRuntimeCoreBinding & {\n getStateState(): ThreadState;\n };\n\n constructor(\n threadBinding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: threadBinding.path,\n getState: () =>\n getThreadState(\n threadBinding.getState(),\n threadListItemBinding.getState(),\n ),\n subscribe: (callback) => {\n const sub1 = threadBinding.subscribe(callback);\n const sub2 = threadListItemBinding.subscribe(callback);\n return () => {\n sub1();\n sub2();\n };\n },\n });\n\n this._threadBinding = {\n path: threadBinding.path,\n getState: () => threadBinding.getState(),\n getStateState: () => stateBinding.getState(),\n outerSubscribe: (callback) => threadBinding.outerSubscribe(callback),\n subscribe: (callback) => threadBinding.subscribe(callback),\n };\n\n this.composer = new ThreadComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"thread\",\n },\n getState: () => this._threadBinding.getState().composer,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n );\n }\n\n protected __internal_bindMethods() {\n this.append = this.append.bind(this);\n this.startRun = this.startRun.bind(this);\n this.cancelRun = this.cancelRun.bind(this);\n this.stopSpeaking = this.stopSpeaking.bind(this);\n this.export = this.export.bind(this);\n this.import = this.import.bind(this);\n this.getMesssageByIndex = this.getMesssageByIndex.bind(this);\n this.getMesssageById = this.getMesssageById.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.unstable_on = this.unstable_on.bind(this);\n this.getModelContext = this.getModelContext.bind(this);\n this.getModelConfig = this.getModelConfig.bind(this);\n this.getState = this.getState.bind(this);\n }\n\n public readonly composer;\n\n public getState() {\n return this._threadBinding.getStateState();\n }\n\n public append(message: CreateAppendMessage) {\n this._threadBinding\n .getState()\n .append(\n toAppendMessage(this._threadBinding.getState().messages, message),\n );\n }\n\n public subscribe(callback: () => void) {\n return this._threadBinding.subscribe(callback);\n }\n\n public getModelContext() {\n return this._threadBinding.getState().getModelContext();\n }\n\n public getModelConfig() {\n return this.getModelContext();\n }\n\n public startRun(configOrParentId: string | null | CreateStartRunConfig) {\n const config =\n configOrParentId === null || typeof configOrParentId === \"string\"\n ? { parentId: configOrParentId }\n : configOrParentId;\n return this._threadBinding.getState().startRun(toStartRunConfig(config));\n }\n\n public cancelRun() {\n this._threadBinding.getState().cancelRun();\n }\n\n public stopSpeaking() {\n return this._threadBinding.getState().stopSpeaking();\n }\n\n public export() {\n return this._threadBinding.getState().export();\n }\n\n public import(data: ExportedMessageRepository) {\n this._threadBinding.getState().import(data);\n }\n\n public getMesssageByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Message index must be >= 0\");\n\n return this._getMessageRuntime(\n {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.messages[${idx}]`,\n messageSelector: { type: \"index\", index: idx },\n },\n () => {\n const messages = this._threadBinding.getState().messages;\n const message = messages[idx];\n if (!message) return undefined;\n return {\n message,\n parentId: messages[idx - 1]?.id ?? null,\n };\n },\n );\n }\n\n public getMesssageById(messageId: string) {\n return this._getMessageRuntime(\n {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.messages[messageId=${JSON.stringify(messageId)}]`,\n messageSelector: { type: \"messageId\", messageId: messageId },\n },\n () => this._threadBinding.getState().getMessageById(messageId),\n );\n }\n\n private _getMessageRuntime(\n path: MessageRuntimePath,\n callback: () =>\n | { parentId: string | null; message: ThreadMessage }\n | undefined,\n ) {\n return new MessageRuntimeImpl(\n new ShallowMemoizeSubject({\n path,\n getState: () => {\n const { message, parentId } = callback() ?? {};\n\n const { messages, speech: speechState } =\n this._threadBinding.getState();\n\n if (!message || parentId === undefined) return SKIP_UPDATE;\n\n const thread = this._threadBinding.getState();\n\n const branches = thread.getBranches(message.id);\n const submittedFeedback = thread.getSubmittedFeedback(message.id);\n\n return {\n ...message,\n ...{ [symbolInnerMessage]: (message as any)[symbolInnerMessage] },\n\n isLast: messages.at(-1)?.id === message.id,\n parentId,\n\n branchNumber: branches.indexOf(message.id) + 1,\n branchCount: branches.length,\n\n speech:\n speechState?.messageId === message.id ? speechState : undefined,\n\n submittedFeedback,\n } satisfies MessageState;\n },\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n this._threadBinding,\n );\n }\n\n private _eventSubscriptionSubjects = new Map<\n string,\n EventSubscriptionSubject<ThreadRuntimeEventType>\n >();\n\n public unstable_on(\n event: ThreadRuntimeEventType,\n callback: () => void,\n ): Unsubscribe {\n let subject = this._eventSubscriptionSubjects.get(event);\n if (!subject) {\n subject = new EventSubscriptionSubject({\n event: event,\n binding: this._threadBinding,\n });\n this._eventSubscriptionSubjects.set(event, subject);\n }\n return subject.subscribe(callback);\n }\n}\n"],"mappings":"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","names":["callback"]}
|
|
@@ -2,7 +2,7 @@ import type { ThreadViewportState } from "../stores/ThreadViewport";
|
|
|
2
2
|
import { ReadonlyStore } from "../ReadonlyStore";
|
|
3
3
|
import { UseBoundStore } from "zustand";
|
|
4
4
|
import { ThreadRuntime } from "../../api/ThreadRuntime";
|
|
5
|
-
import {
|
|
5
|
+
import { ModelContext } from "../../model-context";
|
|
6
6
|
export type ThreadContextValue = {
|
|
7
7
|
useThreadRuntime: UseBoundStore<ReadonlyStore<ThreadRuntime>>;
|
|
8
8
|
useViewport: UseBoundStore<ReadonlyStore<ThreadViewportState>>;
|
|
@@ -84,10 +84,10 @@ export declare const useThreadViewport: {
|
|
|
84
84
|
optional: true;
|
|
85
85
|
}): ReadonlyStore<ThreadViewportState> | null;
|
|
86
86
|
};
|
|
87
|
-
export declare function
|
|
87
|
+
export declare function useThreadModelContext(options?: {
|
|
88
88
|
optional?: false | undefined;
|
|
89
|
-
}):
|
|
90
|
-
export declare function
|
|
89
|
+
}): ModelContext;
|
|
90
|
+
export declare function useThreadModelContext(options?: {
|
|
91
91
|
optional?: boolean | undefined;
|
|
92
|
-
}):
|
|
92
|
+
}): ModelContext | null;
|
|
93
93
|
//# sourceMappingURL=ThreadContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadContext.d.ts","sourceRoot":"","sources":["../../../src/context/react/ThreadContext.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ThreadContext.d.ts","sourceRoot":"","sources":["../../../src/context/react/ThreadContext.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9D,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,eAAO,MAAM,aAAa,oDAAiD,CAAC;AAO5E,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE;IACzC,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC9B,GAAG,aAAa,CAAC;AAClB,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE;IACzC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,GAAG,aAAa,GAAG,IAAI,CAAC;AAOzB,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8C,CAAC;AAKrE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;CAE7B,CAAC;AAEF,eAAO,MACQ,iBAAiB;;;;;;;;;;GACZ,sBAAsB;;;;;CACiB,CAAC;AAE5D,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE;IAC9C,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC9B,GAAG,YAAY,CAAC;AACjB,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE;IAC9C,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,GAAG,YAAY,GAAG,IAAI,CAAC"}
|
|
@@ -24,7 +24,7 @@ __export(ThreadContext_exports, {
|
|
|
24
24
|
ThreadContext: () => ThreadContext,
|
|
25
25
|
useThread: () => useThread,
|
|
26
26
|
useThreadComposer: () => useThreadComposer,
|
|
27
|
-
|
|
27
|
+
useThreadModelContext: () => useThreadModelContext,
|
|
28
28
|
useThreadRuntime: () => useThreadRuntime,
|
|
29
29
|
useThreadViewport: () => useThreadViewport,
|
|
30
30
|
useThreadViewportStore: () => useThreadViewportStore
|
|
@@ -53,21 +53,21 @@ var {
|
|
|
53
53
|
useViewport: useThreadViewport,
|
|
54
54
|
useViewportStore: useThreadViewportStore
|
|
55
55
|
} = (0, import_createContextStoreHook.createContextStoreHook)(useThreadContext, "useViewport");
|
|
56
|
-
function
|
|
56
|
+
function useThreadModelContext(options) {
|
|
57
57
|
const [, rerender] = (0, import_react.useState)({});
|
|
58
58
|
const runtime = useThreadRuntime(options);
|
|
59
59
|
(0, import_react.useEffect)(() => {
|
|
60
|
-
return runtime?.unstable_on("model-
|
|
60
|
+
return runtime?.unstable_on("model-context-update", () => rerender({}));
|
|
61
61
|
}, [runtime]);
|
|
62
62
|
if (!runtime) return null;
|
|
63
|
-
return runtime?.
|
|
63
|
+
return runtime?.getModelContext();
|
|
64
64
|
}
|
|
65
65
|
// Annotate the CommonJS export names for ESM import in node:
|
|
66
66
|
0 && (module.exports = {
|
|
67
67
|
ThreadContext,
|
|
68
68
|
useThread,
|
|
69
69
|
useThreadComposer,
|
|
70
|
-
|
|
70
|
+
useThreadModelContext,
|
|
71
71
|
useThreadRuntime,
|
|
72
72
|
useThreadViewport,
|
|
73
73
|
useThreadViewportStore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/context/react/ThreadContext.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useEffect, useState } from \"react\";\nimport type { ThreadViewportState } from \"../stores/ThreadViewport\";\nimport { ReadonlyStore } from \"../ReadonlyStore\";\nimport { UseBoundStore } from \"zustand\";\nimport { createContextHook } from \"./utils/createContextHook\";\nimport { createContextStoreHook } from \"./utils/createContextStoreHook\";\nimport { ThreadRuntime } from \"../../api/ThreadRuntime\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/context/react/ThreadContext.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useEffect, useState } from \"react\";\nimport type { ThreadViewportState } from \"../stores/ThreadViewport\";\nimport { ReadonlyStore } from \"../ReadonlyStore\";\nimport { UseBoundStore } from \"zustand\";\nimport { createContextHook } from \"./utils/createContextHook\";\nimport { createContextStoreHook } from \"./utils/createContextStoreHook\";\nimport { ThreadRuntime } from \"../../api/ThreadRuntime\";\nimport { ModelContext } from \"../../model-context\";\nimport { createStateHookForRuntime } from \"./utils/createStateHookForRuntime\";\nimport { ThreadComposerRuntime } from \"../../api\";\n\nexport type ThreadContextValue = {\n useThreadRuntime: UseBoundStore<ReadonlyStore<ThreadRuntime>>;\n useViewport: UseBoundStore<ReadonlyStore<ThreadViewportState>>;\n};\n\nexport const ThreadContext = createContext<ThreadContextValue | null>(null);\n\nconst useThreadContext = createContextHook(\n ThreadContext,\n \"AssistantRuntimeProvider\",\n);\n\nexport function useThreadRuntime(options?: {\n optional?: false | undefined;\n}): ThreadRuntime;\nexport function useThreadRuntime(options?: {\n optional?: boolean | undefined;\n}): ThreadRuntime | null;\nexport function useThreadRuntime(options?: { optional?: boolean | undefined }) {\n const context = useThreadContext(options);\n if (!context) return null;\n return context.useThreadRuntime();\n}\n\nexport const useThread = createStateHookForRuntime(useThreadRuntime);\n\nconst useThreadComposerRuntime = (opt: {\n optional: boolean | undefined;\n}): ThreadComposerRuntime | null => useThreadRuntime(opt)?.composer ?? null;\nexport const useThreadComposer = createStateHookForRuntime(\n useThreadComposerRuntime,\n);\n\nexport const {\n useViewport: useThreadViewport,\n useViewportStore: useThreadViewportStore,\n} = createContextStoreHook(useThreadContext, \"useViewport\");\n\nexport function useThreadModelContext(options?: {\n optional?: false | undefined;\n}): ModelContext;\nexport function useThreadModelContext(options?: {\n optional?: boolean | undefined;\n}): ModelContext | null;\nexport function useThreadModelContext(options?: {\n optional?: boolean | undefined;\n}): ModelContext | null {\n const [, rerender] = useState({});\n\n const runtime = useThreadRuntime(options);\n useEffect(() => {\n return runtime?.unstable_on(\"model-context-update\", () => rerender({}));\n }, [runtime]);\n\n if (!runtime) return null;\n return runtime?.getModelContext();\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAmD;AAInD,+BAAkC;AAClC,oCAAuC;AAGvC,uCAA0C;AAQnC,IAAM,oBAAgB,4BAAyC,IAAI;AAE1E,IAAM,uBAAmB;AAAA,EACvB;AAAA,EACA;AACF;AAQO,SAAS,iBAAiB,SAA8C;AAC7E,QAAM,UAAU,iBAAiB,OAAO;AACxC,MAAI,CAAC,QAAS,QAAO;AACrB,SAAO,QAAQ,iBAAiB;AAClC;AAEO,IAAM,gBAAY,4DAA0B,gBAAgB;AAEnE,IAAM,2BAA2B,CAAC,QAEE,iBAAiB,GAAG,GAAG,YAAY;AAChE,IAAM,wBAAoB;AAAA,EAC/B;AACF;AAEO,IAAM;AAAA,EACX,aAAa;AAAA,EACb,kBAAkB;AACpB,QAAI,sDAAuB,kBAAkB,aAAa;AAQnD,SAAS,sBAAsB,SAEd;AACtB,QAAM,CAAC,EAAE,QAAQ,QAAI,uBAAS,CAAC,CAAC;AAEhC,QAAM,UAAU,iBAAiB,OAAO;AACxC,8BAAU,MAAM;AACd,WAAO,SAAS,YAAY,wBAAwB,MAAM,SAAS,CAAC,CAAC,CAAC;AAAA,EACxE,GAAG,CAAC,OAAO,CAAC;AAEZ,MAAI,CAAC,QAAS,QAAO;AACrB,SAAO,SAAS,gBAAgB;AAClC;","names":[]}
|
|
@@ -24,20 +24,20 @@ var {
|
|
|
24
24
|
useViewport: useThreadViewport,
|
|
25
25
|
useViewportStore: useThreadViewportStore
|
|
26
26
|
} = createContextStoreHook(useThreadContext, "useViewport");
|
|
27
|
-
function
|
|
27
|
+
function useThreadModelContext(options) {
|
|
28
28
|
const [, rerender] = useState({});
|
|
29
29
|
const runtime = useThreadRuntime(options);
|
|
30
30
|
useEffect(() => {
|
|
31
|
-
return runtime?.unstable_on("model-
|
|
31
|
+
return runtime?.unstable_on("model-context-update", () => rerender({}));
|
|
32
32
|
}, [runtime]);
|
|
33
33
|
if (!runtime) return null;
|
|
34
|
-
return runtime?.
|
|
34
|
+
return runtime?.getModelContext();
|
|
35
35
|
}
|
|
36
36
|
export {
|
|
37
37
|
ThreadContext,
|
|
38
38
|
useThread,
|
|
39
39
|
useThreadComposer,
|
|
40
|
-
|
|
40
|
+
useThreadModelContext,
|
|
41
41
|
useThreadRuntime,
|
|
42
42
|
useThreadViewport,
|
|
43
43
|
useThreadViewportStore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/context/react/ThreadContext.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useEffect, useState } from \"react\";\nimport type { ThreadViewportState } from \"../stores/ThreadViewport\";\nimport { ReadonlyStore } from \"../ReadonlyStore\";\nimport { UseBoundStore } from \"zustand\";\nimport { createContextHook } from \"./utils/createContextHook\";\nimport { createContextStoreHook } from \"./utils/createContextStoreHook\";\nimport { ThreadRuntime } from \"../../api/ThreadRuntime\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/context/react/ThreadContext.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useEffect, useState } from \"react\";\nimport type { ThreadViewportState } from \"../stores/ThreadViewport\";\nimport { ReadonlyStore } from \"../ReadonlyStore\";\nimport { UseBoundStore } from \"zustand\";\nimport { createContextHook } from \"./utils/createContextHook\";\nimport { createContextStoreHook } from \"./utils/createContextStoreHook\";\nimport { ThreadRuntime } from \"../../api/ThreadRuntime\";\nimport { ModelContext } from \"../../model-context\";\nimport { createStateHookForRuntime } from \"./utils/createStateHookForRuntime\";\nimport { ThreadComposerRuntime } from \"../../api\";\n\nexport type ThreadContextValue = {\n useThreadRuntime: UseBoundStore<ReadonlyStore<ThreadRuntime>>;\n useViewport: UseBoundStore<ReadonlyStore<ThreadViewportState>>;\n};\n\nexport const ThreadContext = createContext<ThreadContextValue | null>(null);\n\nconst useThreadContext = createContextHook(\n ThreadContext,\n \"AssistantRuntimeProvider\",\n);\n\nexport function useThreadRuntime(options?: {\n optional?: false | undefined;\n}): ThreadRuntime;\nexport function useThreadRuntime(options?: {\n optional?: boolean | undefined;\n}): ThreadRuntime | null;\nexport function useThreadRuntime(options?: { optional?: boolean | undefined }) {\n const context = useThreadContext(options);\n if (!context) return null;\n return context.useThreadRuntime();\n}\n\nexport const useThread = createStateHookForRuntime(useThreadRuntime);\n\nconst useThreadComposerRuntime = (opt: {\n optional: boolean | undefined;\n}): ThreadComposerRuntime | null => useThreadRuntime(opt)?.composer ?? null;\nexport const useThreadComposer = createStateHookForRuntime(\n useThreadComposerRuntime,\n);\n\nexport const {\n useViewport: useThreadViewport,\n useViewportStore: useThreadViewportStore,\n} = createContextStoreHook(useThreadContext, \"useViewport\");\n\nexport function useThreadModelContext(options?: {\n optional?: false | undefined;\n}): ModelContext;\nexport function useThreadModelContext(options?: {\n optional?: boolean | undefined;\n}): ModelContext | null;\nexport function useThreadModelContext(options?: {\n optional?: boolean | undefined;\n}): ModelContext | null {\n const [, rerender] = useState({});\n\n const runtime = useThreadRuntime(options);\n useEffect(() => {\n return runtime?.unstable_on(\"model-context-update\", () => rerender({}));\n }, [runtime]);\n\n if (!runtime) return null;\n return runtime?.getModelContext();\n}\n"],"mappings":";;;AAEA,SAAS,eAAe,WAAW,gBAAgB;AAInD,SAAS,yBAAyB;AAClC,SAAS,8BAA8B;AAGvC,SAAS,iCAAiC;AAQnC,IAAM,gBAAgB,cAAyC,IAAI;AAE1E,IAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AACF;AAQO,SAAS,iBAAiB,SAA8C;AAC7E,QAAM,UAAU,iBAAiB,OAAO;AACxC,MAAI,CAAC,QAAS,QAAO;AACrB,SAAO,QAAQ,iBAAiB;AAClC;AAEO,IAAM,YAAY,0BAA0B,gBAAgB;AAEnE,IAAM,2BAA2B,CAAC,QAEE,iBAAiB,GAAG,GAAG,YAAY;AAChE,IAAM,oBAAoB;AAAA,EAC/B;AACF;AAEO,IAAM;AAAA,EACX,aAAa;AAAA,EACb,kBAAkB;AACpB,IAAI,uBAAuB,kBAAkB,aAAa;AAQnD,SAAS,sBAAsB,SAEd;AACtB,QAAM,CAAC,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC;AAEhC,QAAM,UAAU,iBAAiB,OAAO;AACxC,YAAU,MAAM;AACd,WAAO,SAAS,YAAY,wBAAwB,MAAM,SAAS,CAAC,CAAC,CAAC;AAAA,EACxE,GAAG,CAAC,OAAO,CAAC;AAEZ,MAAI,CAAC,QAAS,QAAO;AACrB,SAAO,SAAS,gBAAgB;AAClC;","names":[]}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export { useAssistantRuntime, useThreadList, useToolUIs, useToolUIsStore, } from "./AssistantContext";
|
|
2
|
-
export { useThreadRuntime, useThread, useThreadComposer,
|
|
2
|
+
export { useThreadRuntime, useThread, useThreadComposer, useThreadModelContext,
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated This method was renamed to `useThreadModelContext`.
|
|
5
|
+
*/
|
|
6
|
+
useThreadModelContext as useThreadModelConfig, useThreadViewport, useThreadViewportStore, } from "./ThreadContext";
|
|
3
7
|
export { useThreadListItemRuntime, useThreadListItem, } from "./ThreadListItemContext";
|
|
4
8
|
export { useMessageRuntime, useMessage, useEditComposer, useMessageUtils, useMessageUtilsStore, } from "./MessageContext";
|
|
5
9
|
export { useContentPartRuntime, useContentPart } from "./ContentPartContext";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/react/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/react/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,qBAAqB;AACrB;;GAEG;AACH,qBAAqB,IAAI,oBAAoB,EAC7C,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,eAAe,EACf,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EACL,aAAa,EACb,oBAAoB,GASrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC"}
|