@ulearning/ai-sdk 0.0.0-stage → 1.0.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +12 -2
- package/dist/_virtual/_rolldown/runtime.js +12 -0
- package/dist/adapters/OpenAIRealtimeVoiceAdapter.d.ts +22 -0
- package/dist/adapters/OpenAIRealtimeVoiceAdapter.d.ts.map +1 -0
- package/dist/adapters/OpenAIRealtimeVoiceAdapter.js +296 -0
- package/dist/adapters/OpenAIRealtimeVoiceAdapter.js.map +1 -0
- package/dist/assistant-transport.d.ts +33 -0
- package/dist/assistant-transport.d.ts.map +1 -0
- package/dist/assistant-transport.js +18 -0
- package/dist/assistant-transport.js.map +1 -0
- package/dist/augmentations.d.ts +33 -0
- package/dist/augmentations.d.ts.map +1 -0
- package/dist/augmentations.js +0 -0
- package/dist/context/ReadonlyStore.d.ts +4 -0
- package/dist/context/ReadonlyStore.d.ts.map +1 -0
- package/dist/context/ReadonlyStore.js +7 -0
- package/dist/context/ReadonlyStore.js.map +1 -0
- package/dist/context/index.d.ts +13 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +12 -0
- package/dist/context/providers/AttachmentByIndexProvider.d.ts +2 -0
- package/dist/context/providers/AttachmentByIndexProvider.d.ts.map +1 -0
- package/dist/context/providers/AttachmentByIndexProvider.js +2 -0
- package/dist/context/providers/ChainOfThoughtByIndicesProvider.d.ts +2 -0
- package/dist/context/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -0
- package/dist/context/providers/ChainOfThoughtByIndicesProvider.js +2 -0
- package/dist/context/providers/MessageByIndexProvider.d.ts +2 -0
- package/dist/context/providers/MessageByIndexProvider.d.ts.map +1 -0
- package/dist/context/providers/MessageByIndexProvider.js +2 -0
- package/dist/context/providers/MessageProvider.d.ts +3 -0
- package/dist/context/providers/MessageProvider.d.ts.map +1 -0
- package/dist/context/providers/MessageProvider.js +25 -0
- package/dist/context/providers/MessageProvider.js.map +1 -0
- package/dist/context/providers/PartByIndexProvider.d.ts +2 -0
- package/dist/context/providers/PartByIndexProvider.d.ts.map +1 -0
- package/dist/context/providers/PartByIndexProvider.js +2 -0
- package/dist/context/providers/SuggestionByIndexProvider.d.ts +2 -0
- package/dist/context/providers/SuggestionByIndexProvider.d.ts.map +1 -0
- package/dist/context/providers/SuggestionByIndexProvider.js +2 -0
- package/dist/context/providers/TextMessagePartProvider.d.ts +2 -0
- package/dist/context/providers/TextMessagePartProvider.d.ts.map +1 -0
- package/dist/context/providers/TextMessagePartProvider.js +2 -0
- package/dist/context/providers/ThreadListItemProvider.d.ts +2 -0
- package/dist/context/providers/ThreadListItemProvider.d.ts.map +1 -0
- package/dist/context/providers/ThreadListItemProvider.js +2 -0
- package/dist/context/providers/ThreadViewportProvider.d.ts +6 -0
- package/dist/context/providers/ThreadViewportProvider.d.ts.map +1 -0
- package/dist/context/providers/ThreadViewportProvider.js +32 -0
- package/dist/context/providers/ThreadViewportProvider.js.map +1 -0
- package/dist/context/stores/ThreadViewport.d.ts +88 -0
- package/dist/context/stores/ThreadViewport.d.ts.map +1 -0
- package/dist/context/stores/ThreadViewport.js +130 -0
- package/dist/context/stores/ThreadViewport.js.map +1 -0
- package/dist/context/vue/ThreadViewportContext.d.ts +24 -0
- package/dist/context/vue/ThreadViewportContext.d.ts.map +1 -0
- package/dist/context/vue/ThreadViewportContext.js +10 -0
- package/dist/context/vue/ThreadViewportContext.js.map +1 -0
- package/dist/context/vue/utils/createContextHook.d.ts +11 -0
- package/dist/context/vue/utils/createContextHook.d.ts.map +1 -0
- package/dist/context/vue/utils/createContextHook.js +20 -0
- package/dist/context/vue/utils/createContextHook.js.map +1 -0
- package/dist/context/vue/utils/createContextStoreHook.d.ts +22 -0
- package/dist/context/vue/utils/createContextStoreHook.d.ts.map +1 -0
- package/dist/context/vue/utils/createContextStoreHook.js +48 -0
- package/dist/context/vue/utils/createContextStoreHook.js.map +1 -0
- package/dist/devtools/DevToolsHooks.d.ts +32 -0
- package/dist/devtools/DevToolsHooks.d.ts.map +1 -0
- package/dist/devtools/DevToolsHooks.js +84 -0
- package/dist/devtools/DevToolsHooks.js.map +1 -0
- package/dist/hooks/useMessageQuote.d.ts +17 -0
- package/dist/hooks/useMessageQuote.d.ts.map +1 -0
- package/dist/hooks/useMessageQuote.js +23 -0
- package/dist/hooks/useMessageQuote.js.map +1 -0
- package/dist/hooks/useMessageTiming.d.ts +17 -0
- package/dist/hooks/useMessageTiming.d.ts.map +1 -0
- package/dist/hooks/useMessageTiming.js +22 -0
- package/dist/hooks/useMessageTiming.js.map +1 -0
- package/dist/hooks/useToolCallElapsed.d.ts +22 -0
- package/dist/hooks/useToolCallElapsed.d.ts.map +1 -0
- package/dist/hooks/useToolCallElapsed.js +54 -0
- package/dist/hooks/useToolCallElapsed.js.map +1 -0
- package/dist/index.d.ts +155 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +64 -0
- package/dist/internal.d.ts +9 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +24 -0
- package/dist/internal.js.map +1 -0
- package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts +13 -0
- package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -0
- package/dist/legacy-runtime/AssistantRuntimeProvider.js +37 -0
- package/dist/legacy-runtime/AssistantRuntimeProvider.js.map +1 -0
- package/dist/mcp-apps/McpAppRenderer.d.ts +60 -0
- package/dist/mcp-apps/McpAppRenderer.d.ts.map +1 -0
- package/dist/mcp-apps/McpAppRenderer.js +223 -0
- package/dist/mcp-apps/McpAppRenderer.js.map +1 -0
- package/dist/mcp-apps/McpAppsRemoteHost.d.ts +3 -0
- package/dist/mcp-apps/McpAppsRemoteHost.d.ts.map +1 -0
- package/dist/mcp-apps/McpAppsRemoteHost.js +101 -0
- package/dist/mcp-apps/McpAppsRemoteHost.js.map +1 -0
- package/dist/mcp-apps/app-frame.d.ts +3 -0
- package/dist/mcp-apps/app-frame.d.ts.map +1 -0
- package/dist/mcp-apps/app-frame.js +213 -0
- package/dist/mcp-apps/app-frame.js.map +1 -0
- package/dist/mcp-apps/bridge.d.ts +18 -0
- package/dist/mcp-apps/bridge.d.ts.map +1 -0
- package/dist/mcp-apps/bridge.js +319 -0
- package/dist/mcp-apps/bridge.js.map +1 -0
- package/dist/mcp-apps/csp.d.ts +4 -0
- package/dist/mcp-apps/csp.d.ts.map +1 -0
- package/dist/mcp-apps/csp.js +92 -0
- package/dist/mcp-apps/csp.js.map +1 -0
- package/dist/mcp-apps/index.d.ts +5 -0
- package/dist/mcp-apps/index.d.ts.map +1 -0
- package/dist/mcp-apps/index.js +4 -0
- package/dist/mcp-apps/types.d.ts +161 -0
- package/dist/mcp-apps/types.d.ts.map +1 -0
- package/dist/mcp-apps/types.js +6 -0
- package/dist/mcp-apps/types.js.map +1 -0
- package/dist/mcp-apps/utils.d.ts +12 -0
- package/dist/mcp-apps/utils.d.ts.map +1 -0
- package/dist/mcp-apps/utils.js +18 -0
- package/dist/mcp-apps/utils.js.map +1 -0
- package/dist/model-context/frame/useAssistantFrameHost.d.ts +35 -0
- package/dist/model-context/frame/useAssistantFrameHost.d.ts.map +1 -0
- package/dist/model-context/frame/useAssistantFrameHost.js +109 -0
- package/dist/model-context/frame/useAssistantFrameHost.js.map +1 -0
- package/dist/model-context/makeAssistantVisible.d.ts +11 -0
- package/dist/model-context/makeAssistantVisible.d.ts.map +1 -0
- package/dist/model-context/makeAssistantVisible.js +102 -0
- package/dist/model-context/makeAssistantVisible.js.map +1 -0
- package/dist/primitives/actionBar/ActionBarCopy.d.ts +45 -0
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -0
- package/dist/primitives/actionBar/ActionBarCopy.js +71 -0
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -0
- package/dist/primitives/actionBar/ActionBarEdit.d.ts +55 -0
- package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -0
- package/dist/primitives/actionBar/ActionBarEdit.js +47 -0
- package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -0
- package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts +26 -0
- package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts.map +1 -0
- package/dist/primitives/actionBar/ActionBarExportMarkdown.js +39 -0
- package/dist/primitives/actionBar/ActionBarExportMarkdown.js.map +1 -0
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +13 -0
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -0
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +28 -0
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -0
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +13 -0
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -0
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +28 -0
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -0
- package/dist/primitives/actionBar/ActionBarInteractionContext.d.ts +7 -0
- package/dist/primitives/actionBar/ActionBarInteractionContext.d.ts.map +1 -0
- package/dist/primitives/actionBar/ActionBarInteractionContext.js +8 -0
- package/dist/primitives/actionBar/ActionBarInteractionContext.js.map +1 -0
- package/dist/primitives/actionBar/ActionBarReload.d.ts +56 -0
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -0
- package/dist/primitives/actionBar/ActionBarReload.js +48 -0
- package/dist/primitives/actionBar/ActionBarReload.js.map +1 -0
- package/dist/primitives/actionBar/ActionBarRoot.d.ts +78 -0
- package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -0
- package/dist/primitives/actionBar/ActionBarRoot.js +69 -0
- package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -0
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts +17 -0
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -0
- package/dist/primitives/actionBar/ActionBarSpeak.js +13 -0
- package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -0
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +17 -0
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -0
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js +13 -0
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -0
- package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts +15 -0
- package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -0
- package/dist/primitives/actionBar/useActionBarFloatStatus.js +24 -0
- package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -0
- package/dist/primitives/actionBar.d.ts +10 -0
- package/dist/primitives/actionBar.d.ts.map +1 -0
- package/dist/primitives/actionBar.js +25 -0
- package/dist/primitives/actionBar.js.map +1 -0
- package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts +47 -0
- package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts.map +1 -0
- package/dist/primitives/actionBarMore/ActionBarMoreContent.js +29 -0
- package/dist/primitives/actionBarMore/ActionBarMoreContent.js.map +1 -0
- package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts +19 -0
- package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts.map +1 -0
- package/dist/primitives/actionBarMore/ActionBarMoreItem.js +24 -0
- package/dist/primitives/actionBarMore/ActionBarMoreItem.js.map +1 -0
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts +10 -0
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts.map +1 -0
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.js +39 -0
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.js.map +1 -0
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts +16 -0
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts.map +1 -0
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js +24 -0
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js.map +1 -0
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts +17 -0
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts.map +1 -0
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js +24 -0
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js.map +1 -0
- package/dist/primitives/actionBarMore/scope.d.ts +5 -0
- package/dist/primitives/actionBarMore/scope.d.ts.map +1 -0
- package/dist/primitives/actionBarMore/scope.js +7 -0
- package/dist/primitives/actionBarMore/scope.js.map +1 -0
- package/dist/primitives/actionBarMore.d.ts +6 -0
- package/dist/primitives/actionBarMore.d.ts.map +1 -0
- package/dist/primitives/actionBarMore.js +17 -0
- package/dist/primitives/actionBarMore.js.map +1 -0
- package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +17 -0
- package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -0
- package/dist/primitives/assistantModal/AssistantModalAnchor.js +24 -0
- package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -0
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts +50 -0
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -0
- package/dist/primitives/assistantModal/AssistantModalContent.js +42 -0
- package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -0
- package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +14 -0
- package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -0
- package/dist/primitives/assistantModal/AssistantModalRoot.js +35 -0
- package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -0
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +16 -0
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -0
- package/dist/primitives/assistantModal/AssistantModalTrigger.js +24 -0
- package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -0
- package/dist/primitives/assistantModal/popoverRenderPrimitives.d.ts +139 -0
- package/dist/primitives/assistantModal/popoverRenderPrimitives.d.ts.map +1 -0
- package/dist/primitives/assistantModal/popoverRenderPrimitives.js +9 -0
- package/dist/primitives/assistantModal/popoverRenderPrimitives.js.map +1 -0
- package/dist/primitives/assistantModal/scope.d.ts +5 -0
- package/dist/primitives/assistantModal/scope.d.ts.map +1 -0
- package/dist/primitives/assistantModal/scope.js +7 -0
- package/dist/primitives/assistantModal/scope.js.map +1 -0
- package/dist/primitives/assistantModal.d.ts +5 -0
- package/dist/primitives/assistantModal.d.ts.map +1 -0
- package/dist/primitives/assistantModal.js +15 -0
- package/dist/primitives/assistantModal.js.map +1 -0
- package/dist/primitives/attachment/AttachmentName.d.ts +5 -0
- package/dist/primitives/attachment/AttachmentName.d.ts.map +1 -0
- package/dist/primitives/attachment/AttachmentName.js +14 -0
- package/dist/primitives/attachment/AttachmentName.js.map +1 -0
- package/dist/primitives/attachment/AttachmentRemove.d.ts +17 -0
- package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -0
- package/dist/primitives/attachment/AttachmentRemove.js +15 -0
- package/dist/primitives/attachment/AttachmentRemove.js.map +1 -0
- package/dist/primitives/attachment/AttachmentRoot.d.ts +30 -0
- package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -0
- package/dist/primitives/attachment/AttachmentRoot.js +40 -0
- package/dist/primitives/attachment/AttachmentRoot.js.map +1 -0
- package/dist/primitives/attachment/AttachmentThumb.d.ts +12 -0
- package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -0
- package/dist/primitives/attachment/AttachmentThumb.js +32 -0
- package/dist/primitives/attachment/AttachmentThumb.js.map +1 -0
- package/dist/primitives/attachment.d.ts +7 -0
- package/dist/primitives/attachment.d.ts.map +1 -0
- package/dist/primitives/attachment.js +15 -0
- package/dist/primitives/attachment.js.map +1 -0
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts +22 -0
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -0
- package/dist/primitives/branchPicker/BranchPickerCount.js +27 -0
- package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -0
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts +34 -0
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -0
- package/dist/primitives/branchPicker/BranchPickerNext.js +26 -0
- package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -0
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +5 -0
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -0
- package/dist/primitives/branchPicker/BranchPickerNumber.js +14 -0
- package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -0
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +34 -0
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -0
- package/dist/primitives/branchPicker/BranchPickerPrevious.js +26 -0
- package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -0
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +43 -0
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -0
- package/dist/primitives/branchPicker/BranchPickerRoot.js +46 -0
- package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -0
- package/dist/primitives/branchPicker.d.ts +6 -0
- package/dist/primitives/branchPicker.d.ts.map +1 -0
- package/dist/primitives/branchPicker.js +17 -0
- package/dist/primitives/branchPicker.js.map +1 -0
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +30 -0
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -0
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js +49 -0
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js.map +1 -0
- package/dist/primitives/chainOfThought/ChainOfThoughtParts.d.ts +2 -0
- package/dist/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -0
- package/dist/primitives/chainOfThought/ChainOfThoughtParts.js +2 -0
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +12 -0
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -0
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js +26 -0
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js.map +1 -0
- package/dist/primitives/chainOfThought.d.ts +4 -0
- package/dist/primitives/chainOfThought.d.ts.map +1 -0
- package/dist/primitives/chainOfThought.js +13 -0
- package/dist/primitives/chainOfThought.js.map +1 -0
- package/dist/primitives/composer/ComposerAddAttachment.d.ts +26 -0
- package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerAddAttachment.js +56 -0
- package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -0
- package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts +16 -0
- package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerAttachmentDropzone.js +66 -0
- package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -0
- package/dist/primitives/composer/ComposerAttachments.d.ts +2 -0
- package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerAttachments.js +2 -0
- package/dist/primitives/composer/ComposerCancel.d.ts +37 -0
- package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerCancel.js +32 -0
- package/dist/primitives/composer/ComposerCancel.js.map +1 -0
- package/dist/primitives/composer/ComposerCompactContext.d.ts +7 -0
- package/dist/primitives/composer/ComposerCompactContext.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerCompactContext.js +8 -0
- package/dist/primitives/composer/ComposerCompactContext.js.map +1 -0
- package/dist/primitives/composer/ComposerDictate.d.ts +29 -0
- package/dist/primitives/composer/ComposerDictate.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerDictate.js +25 -0
- package/dist/primitives/composer/ComposerDictate.js.map +1 -0
- package/dist/primitives/composer/ComposerDictationTranscript.d.ts +27 -0
- package/dist/primitives/composer/ComposerDictationTranscript.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerDictationTranscript.js +42 -0
- package/dist/primitives/composer/ComposerDictationTranscript.js.map +1 -0
- package/dist/primitives/composer/ComposerIf.d.ts +3 -0
- package/dist/primitives/composer/ComposerIf.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerIf.js +2 -0
- package/dist/primitives/composer/ComposerInput.d.ts +132 -0
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerInput.js +239 -0
- package/dist/primitives/composer/ComposerInput.js.map +1 -0
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts +40 -0
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerInputPluginContext.js +30 -0
- package/dist/primitives/composer/ComposerInputPluginContext.js.map +1 -0
- package/dist/primitives/composer/ComposerQueue.d.ts +2 -0
- package/dist/primitives/composer/ComposerQueue.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerQueue.js +2 -0
- package/dist/primitives/composer/ComposerQuote.d.ts +58 -0
- package/dist/primitives/composer/ComposerQuote.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerQuote.js +95 -0
- package/dist/primitives/composer/ComposerQuote.js.map +1 -0
- package/dist/primitives/composer/ComposerResume.d.ts +27 -0
- package/dist/primitives/composer/ComposerResume.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerResume.js +24 -0
- package/dist/primitives/composer/ComposerResume.js.map +1 -0
- package/dist/primitives/composer/ComposerRoot.d.ts +56 -0
- package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerRoot.js +96 -0
- package/dist/primitives/composer/ComposerRoot.js.map +1 -0
- package/dist/primitives/composer/ComposerSend.d.ts +34 -0
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerSend.js +28 -0
- package/dist/primitives/composer/ComposerSend.js.map +1 -0
- package/dist/primitives/composer/ComposerStopDictation.d.ts +29 -0
- package/dist/primitives/composer/ComposerStopDictation.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerStopDictation.js +29 -0
- package/dist/primitives/composer/ComposerStopDictation.js.map +1 -0
- package/dist/primitives/composer/composerInputSelector.d.ts +3 -0
- package/dist/primitives/composer/composerInputSelector.d.ts.map +1 -0
- package/dist/primitives/composer/composerInputSelector.js +6 -0
- package/dist/primitives/composer/composerInputSelector.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopover.d.ts +63 -0
- package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopover.js +161 -0
- package/dist/primitives/composer/trigger/TriggerPopover.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts +30 -0
- package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverAction.js +49 -0
- package/dist/primitives/composer/trigger/TriggerPopoverAction.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts +16 -0
- package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverBack.js +34 -0
- package/dist/primitives/composer/trigger/TriggerPopoverBack.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts +34 -0
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.js +70 -0
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts +27 -0
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.js +41 -0
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts +36 -0
- package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverItems.js +71 -0
- package/dist/primitives/composer/trigger/TriggerPopoverItems.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts +48 -0
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverResource.js +67 -0
- package/dist/primitives/composer/trigger/TriggerPopoverResource.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts +58 -0
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js +128 -0
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js.map +1 -0
- package/dist/primitives/composer/trigger/detectTrigger.d.ts +18 -0
- package/dist/primitives/composer/trigger/detectTrigger.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/detectTrigger.js +39 -0
- package/dist/primitives/composer/trigger/detectTrigger.js.map +1 -0
- package/dist/primitives/composer/trigger/index.d.ts +20 -0
- package/dist/primitives/composer/trigger/index.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/index.js +15 -0
- package/dist/primitives/composer/trigger/index.js.map +1 -0
- package/dist/primitives/composer/trigger/matchesTriggerItemQuery.d.ts +3 -0
- package/dist/primitives/composer/trigger/matchesTriggerItemQuery.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/matchesTriggerItemQuery.js +8 -0
- package/dist/primitives/composer/trigger/matchesTriggerItemQuery.js.map +1 -0
- package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts +17 -0
- package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/triggerDetectionResource.js +25 -0
- package/dist/primitives/composer/trigger/triggerDetectionResource.js.map +1 -0
- package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts +30 -0
- package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/triggerKeyboardResource.js +85 -0
- package/dist/primitives/composer/trigger/triggerKeyboardResource.js.map +1 -0
- package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts +23 -0
- package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/triggerNavigationResource.js +88 -0
- package/dist/primitives/composer/trigger/triggerNavigationResource.js.map +1 -0
- package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts +37 -0
- package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/triggerSelectionResource.js +52 -0
- package/dist/primitives/composer/trigger/triggerSelectionResource.js.map +1 -0
- package/dist/primitives/composer/useComposerCancelWithFocus.d.ts +2 -0
- package/dist/primitives/composer/useComposerCancelWithFocus.d.ts.map +1 -0
- package/dist/primitives/composer/useComposerCancelWithFocus.js +31 -0
- package/dist/primitives/composer/useComposerCancelWithFocus.js.map +1 -0
- package/dist/primitives/composer/useComposerInputState.d.ts +11 -0
- package/dist/primitives/composer/useComposerInputState.d.ts.map +1 -0
- package/dist/primitives/composer/useComposerInputState.js +33 -0
- package/dist/primitives/composer/useComposerInputState.js.map +1 -0
- package/dist/primitives/composer/useTextareaAutosize.d.ts +13 -0
- package/dist/primitives/composer/useTextareaAutosize.d.ts.map +1 -0
- package/dist/primitives/composer/useTextareaAutosize.js +113 -0
- package/dist/primitives/composer/useTextareaAutosize.js.map +1 -0
- package/dist/primitives/composer.d.ts +73 -0
- package/dist/primitives/composer.d.ts.map +1 -0
- package/dist/primitives/composer.js +64 -0
- package/dist/primitives/composer.js.map +1 -0
- package/dist/primitives/dropdownMenuRenderPrimitives.d.ts +173 -0
- package/dist/primitives/dropdownMenuRenderPrimitives.d.ts.map +1 -0
- package/dist/primitives/dropdownMenuRenderPrimitives.js +10 -0
- package/dist/primitives/dropdownMenuRenderPrimitives.js.map +1 -0
- package/dist/primitives/error/ErrorMessage.d.ts +12 -0
- package/dist/primitives/error/ErrorMessage.d.ts.map +1 -0
- package/dist/primitives/error/ErrorMessage.js +27 -0
- package/dist/primitives/error/ErrorMessage.js.map +1 -0
- package/dist/primitives/error/ErrorRoot.d.ts +12 -0
- package/dist/primitives/error/ErrorRoot.d.ts.map +1 -0
- package/dist/primitives/error/ErrorRoot.js +27 -0
- package/dist/primitives/error/ErrorRoot.js.map +1 -0
- package/dist/primitives/error.d.ts +3 -0
- package/dist/primitives/error.d.ts.map +1 -0
- package/dist/primitives/error.js +11 -0
- package/dist/primitives/error.js.map +1 -0
- package/dist/primitives/message/MessageAttachments.d.ts +2 -0
- package/dist/primitives/message/MessageAttachments.d.ts.map +1 -0
- package/dist/primitives/message/MessageAttachments.js +2 -0
- package/dist/primitives/message/MessageError.d.ts +7 -0
- package/dist/primitives/message/MessageError.d.ts.map +1 -0
- package/dist/primitives/message/MessageError.js +14 -0
- package/dist/primitives/message/MessageError.js.map +1 -0
- package/dist/primitives/message/MessageIf.d.ts +27 -0
- package/dist/primitives/message/MessageIf.d.ts.map +1 -0
- package/dist/primitives/message/MessageIf.js +54 -0
- package/dist/primitives/message/MessageIf.js.map +1 -0
- package/dist/primitives/message/MessageParts.d.ts +7 -0
- package/dist/primitives/message/MessageParts.d.ts.map +1 -0
- package/dist/primitives/message/MessageParts.js +40 -0
- package/dist/primitives/message/MessageParts.js.map +1 -0
- package/dist/primitives/message/MessagePartsGrouped.d.ts +153 -0
- package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -0
- package/dist/primitives/message/MessagePartsGrouped.js +114 -0
- package/dist/primitives/message/MessagePartsGrouped.js.map +1 -0
- package/dist/primitives/message/MessageRoot.d.ts +35 -0
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -0
- package/dist/primitives/message/MessageRoot.js +104 -0
- package/dist/primitives/message/MessageRoot.js.map +1 -0
- package/dist/primitives/message.d.ts +13 -0
- package/dist/primitives/message.d.ts.map +1 -0
- package/dist/primitives/message.js +27 -0
- package/dist/primitives/message.js.map +1 -0
- package/dist/primitives/messagePart/MessagePartImage.d.ts +12 -0
- package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -0
- package/dist/primitives/messagePart/MessagePartImage.js +27 -0
- package/dist/primitives/messagePart/MessagePartImage.js.map +1 -0
- package/dist/primitives/messagePart/MessagePartInProgress.d.ts +2 -0
- package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -0
- package/dist/primitives/messagePart/MessagePartInProgress.js +2 -0
- package/dist/primitives/messagePart/MessagePartText.d.ts +19 -0
- package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -0
- package/dist/primitives/messagePart/MessagePartText.js +33 -0
- package/dist/primitives/messagePart/MessagePartText.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartData.d.ts +18 -0
- package/dist/primitives/messagePart/useMessagePartData.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartData.js +32 -0
- package/dist/primitives/messagePart/useMessagePartData.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartFile.d.ts +19 -0
- package/dist/primitives/messagePart/useMessagePartFile.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartFile.js +33 -0
- package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartImage.d.ts +19 -0
- package/dist/primitives/messagePart/useMessagePartImage.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartImage.js +32 -0
- package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.d.ts +19 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.js +32 -0
- package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartSource.d.ts +39 -0
- package/dist/primitives/messagePart/useMessagePartSource.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartSource.js +34 -0
- package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -0
- package/dist/primitives/messagePart/useMessagePartText.d.ts +21 -0
- package/dist/primitives/messagePart/useMessagePartText.d.ts.map +1 -0
- package/dist/primitives/messagePart/useMessagePartText.js +32 -0
- package/dist/primitives/messagePart/useMessagePartText.js.map +1 -0
- package/dist/primitives/messagePart.d.ts +5 -0
- package/dist/primitives/messagePart.d.ts.map +1 -0
- package/dist/primitives/messagePart.js +15 -0
- package/dist/primitives/messagePart.js.map +1 -0
- package/dist/primitives/queueItem/QueueItemRemove.d.ts +25 -0
- package/dist/primitives/queueItem/QueueItemRemove.d.ts.map +1 -0
- package/dist/primitives/queueItem/QueueItemRemove.js +23 -0
- package/dist/primitives/queueItem/QueueItemRemove.js.map +1 -0
- package/dist/primitives/queueItem/QueueItemSteer.d.ts +25 -0
- package/dist/primitives/queueItem/QueueItemSteer.d.ts.map +1 -0
- package/dist/primitives/queueItem/QueueItemSteer.js +23 -0
- package/dist/primitives/queueItem/QueueItemSteer.js.map +1 -0
- package/dist/primitives/queueItem/QueueItemText.d.ts +20 -0
- package/dist/primitives/queueItem/QueueItemText.d.ts.map +1 -0
- package/dist/primitives/queueItem/QueueItemText.js +35 -0
- package/dist/primitives/queueItem/QueueItemText.js.map +1 -0
- package/dist/primitives/queueItem.d.ts +4 -0
- package/dist/primitives/queueItem.d.ts.map +1 -0
- package/dist/primitives/queueItem.js +13 -0
- package/dist/primitives/queueItem.js.map +1 -0
- package/dist/primitives/reasoning/useScrollLock.d.ts +29 -0
- package/dist/primitives/reasoning/useScrollLock.d.ts.map +1 -0
- package/dist/primitives/reasoning/useScrollLock.js +108 -0
- package/dist/primitives/reasoning/useScrollLock.js.map +1 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.d.ts +13 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.d.ts.map +1 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js +43 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js.map +1 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.d.ts +20 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.d.ts.map +1 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js +147 -0
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js.map +1 -0
- package/dist/primitives/selectionToolbar.d.ts +3 -0
- package/dist/primitives/selectionToolbar.d.ts.map +1 -0
- package/dist/primitives/selectionToolbar.js +11 -0
- package/dist/primitives/selectionToolbar.js.map +1 -0
- package/dist/primitives/suggestion/SuggestionDescription.d.ts +13 -0
- package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -0
- package/dist/primitives/suggestion/SuggestionDescription.js +28 -0
- package/dist/primitives/suggestion/SuggestionDescription.js.map +1 -0
- package/dist/primitives/suggestion/SuggestionTitle.d.ts +20 -0
- package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -0
- package/dist/primitives/suggestion/SuggestionTitle.js +35 -0
- package/dist/primitives/suggestion/SuggestionTitle.js.map +1 -0
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts +72 -0
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -0
- package/dist/primitives/suggestion/SuggestionTrigger.js +29 -0
- package/dist/primitives/suggestion/SuggestionTrigger.js.map +1 -0
- package/dist/primitives/suggestion.d.ts +4 -0
- package/dist/primitives/suggestion.d.ts.map +1 -0
- package/dist/primitives/suggestion.js +13 -0
- package/dist/primitives/suggestion.js.map +1 -0
- package/dist/primitives/thread/ThreadEmpty.d.ts +11 -0
- package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -0
- package/dist/primitives/thread/ThreadEmpty.js +17 -0
- package/dist/primitives/thread/ThreadEmpty.js.map +1 -0
- package/dist/primitives/thread/ThreadIf.d.ts +19 -0
- package/dist/primitives/thread/ThreadIf.d.ts.map +1 -0
- package/dist/primitives/thread/ThreadIf.js +33 -0
- package/dist/primitives/thread/ThreadIf.js.map +1 -0
- package/dist/primitives/thread/ThreadLoadEarlier.d.ts +23 -0
- package/dist/primitives/thread/ThreadLoadEarlier.d.ts.map +1 -0
- package/dist/primitives/thread/ThreadLoadEarlier.js +23 -0
- package/dist/primitives/thread/ThreadLoadEarlier.js.map +1 -0
- package/dist/primitives/thread/ThreadMessages.d.ts +2 -0
- package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -0
- package/dist/primitives/thread/ThreadMessages.js +2 -0
- package/dist/primitives/thread/ThreadRoot.d.ts +37 -0
- package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -0
- package/dist/primitives/thread/ThreadRoot.js +84 -0
- package/dist/primitives/thread/ThreadRoot.js.map +1 -0
- package/dist/primitives/thread/ThreadRootElementContext.d.ts +4 -0
- package/dist/primitives/thread/ThreadRootElementContext.d.ts.map +1 -0
- package/dist/primitives/thread/ThreadRootElementContext.js +8 -0
- package/dist/primitives/thread/ThreadRootElementContext.js.map +1 -0
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts +22 -0
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -0
- package/dist/primitives/thread/ThreadScrollToBottom.js +17 -0
- package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -0
- package/dist/primitives/thread/ThreadSuggestion.d.ts +80 -0
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -0
- package/dist/primitives/thread/ThreadSuggestion.js +23 -0
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -0
- package/dist/primitives/thread/ThreadSuggestions.d.ts +2 -0
- package/dist/primitives/thread/ThreadSuggestions.d.ts.map +1 -0
- package/dist/primitives/thread/ThreadSuggestions.js +2 -0
- package/dist/primitives/thread/ThreadViewport.d.ts +115 -0
- package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -0
- package/dist/primitives/thread/ThreadViewport.js +96 -0
- package/dist/primitives/thread/ThreadViewport.js.map +1 -0
- package/dist/primitives/thread/ThreadViewportFooter.d.ts +13 -0
- package/dist/primitives/thread/ThreadViewportFooter.d.ts.map +1 -0
- package/dist/primitives/thread/ThreadViewportFooter.js +39 -0
- package/dist/primitives/thread/ThreadViewportFooter.js.map +1 -0
- package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.d.ts +22 -0
- package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.d.ts.map +1 -0
- package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.js +51 -0
- package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.js.map +1 -0
- package/dist/primitives/thread/topAnchor/createReserveObservers.d.ts +5 -0
- package/dist/primitives/thread/topAnchor/createReserveObservers.d.ts.map +1 -0
- package/dist/primitives/thread/topAnchor/createReserveObservers.js +37 -0
- package/dist/primitives/thread/topAnchor/createReserveObservers.js.map +1 -0
- package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.d.ts +26 -0
- package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.d.ts.map +1 -0
- package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.js +139 -0
- package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.js.map +1 -0
- package/dist/primitives/thread/topAnchor/topAnchorTurn.d.ts +27 -0
- package/dist/primitives/thread/topAnchor/topAnchorTurn.d.ts.map +1 -0
- package/dist/primitives/thread/topAnchor/topAnchorTurn.js +30 -0
- package/dist/primitives/thread/topAnchor/topAnchorTurn.js.map +1 -0
- package/dist/primitives/thread/topAnchor/topAnchorUtils.d.ts +15 -0
- package/dist/primitives/thread/topAnchor/topAnchorUtils.d.ts.map +1 -0
- package/dist/primitives/thread/topAnchor/topAnchorUtils.js +46 -0
- package/dist/primitives/thread/topAnchor/topAnchorUtils.js.map +1 -0
- package/dist/primitives/thread/topAnchor/useTopAnchorReserve.d.ts +8 -0
- package/dist/primitives/thread/topAnchor/useTopAnchorReserve.d.ts.map +1 -0
- package/dist/primitives/thread/topAnchor/useTopAnchorReserve.js +21 -0
- package/dist/primitives/thread/topAnchor/useTopAnchorReserve.js.map +1 -0
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts +32 -0
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -0
- package/dist/primitives/thread/useThreadViewportAutoScroll.js +74 -0
- package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -0
- package/dist/primitives/thread.d.ts +15 -0
- package/dist/primitives/thread.d.ts.map +1 -0
- package/dist/primitives/thread.js +33 -0
- package/dist/primitives/thread.js.map +1 -0
- package/dist/primitives/threadList/ThreadListItems.d.ts +2 -0
- package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -0
- package/dist/primitives/threadList/ThreadListItems.js +2 -0
- package/dist/primitives/threadList/ThreadListLoadMore.d.ts +17 -0
- package/dist/primitives/threadList/ThreadListLoadMore.d.ts.map +1 -0
- package/dist/primitives/threadList/ThreadListLoadMore.js +13 -0
- package/dist/primitives/threadList/ThreadListLoadMore.js.map +1 -0
- package/dist/primitives/threadList/ThreadListNew.d.ts +11 -0
- package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -0
- package/dist/primitives/threadList/ThreadListNew.js +29 -0
- package/dist/primitives/threadList/ThreadListNew.js.map +1 -0
- package/dist/primitives/threadList/ThreadListRoot.d.ts +12 -0
- package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -0
- package/dist/primitives/threadList/ThreadListRoot.js +25 -0
- package/dist/primitives/threadList/ThreadListRoot.js.map +1 -0
- package/dist/primitives/threadList.d.ts +6 -0
- package/dist/primitives/threadList.d.ts.map +1 -0
- package/dist/primitives/threadList.js +16 -0
- package/dist/primitives/threadList.js.map +1 -0
- package/dist/primitives/threadListFocusGroup.d.ts +28 -0
- package/dist/primitives/threadListFocusGroup.d.ts.map +1 -0
- package/dist/primitives/threadListFocusGroup.js +64 -0
- package/dist/primitives/threadListFocusGroup.js.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +17 -0
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemArchive.js +12 -0
- package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +17 -0
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemDelete.js +12 -0
- package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +12 -0
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +61 -0
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts +2 -0
- package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemTitle.js +2 -0
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +13 -0
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js +35 -0
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +17 -0
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -0
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +13 -0
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -0
- package/dist/primitives/threadListItem.d.ts +7 -0
- package/dist/primitives/threadListItem.d.ts.map +1 -0
- package/dist/primitives/threadListItem.js +19 -0
- package/dist/primitives/threadListItem.js.map +1 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts +47 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts.map +1 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js +48 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js.map +1 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts +19 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts.map +1 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js +24 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js.map +1 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts +19 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts.map +1 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js +45 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js.map +1 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts +16 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts.map +1 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js +24 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js.map +1 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts +17 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts.map +1 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js +42 -0
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js.map +1 -0
- package/dist/primitives/threadListItemMore/scope.d.ts +5 -0
- package/dist/primitives/threadListItemMore/scope.d.ts.map +1 -0
- package/dist/primitives/threadListItemMore/scope.js +7 -0
- package/dist/primitives/threadListItemMore/scope.js.map +1 -0
- package/dist/primitives/threadListItemMore.d.ts +6 -0
- package/dist/primitives/threadListItemMore.d.ts.map +1 -0
- package/dist/primitives/threadListItemMore.js +17 -0
- package/dist/primitives/threadListItemMore.js.map +1 -0
- package/dist/sandbox-host/SandboxHost.d.ts +38 -0
- package/dist/sandbox-host/SandboxHost.d.ts.map +1 -0
- package/dist/sandbox-host/SandboxHost.js +146 -0
- package/dist/sandbox-host/SandboxHost.js.map +1 -0
- package/dist/unstable/useComposerInput.d.ts +87 -0
- package/dist/unstable/useComposerInput.d.ts.map +1 -0
- package/dist/unstable/useComposerInput.js +77 -0
- package/dist/unstable/useComposerInput.js.map +1 -0
- package/dist/unstable/useComposerInputHistory.d.ts +27 -0
- package/dist/unstable/useComposerInputHistory.d.ts.map +1 -0
- package/dist/unstable/useComposerInputHistory.js +125 -0
- package/dist/unstable/useComposerInputHistory.js.map +1 -0
- package/dist/unstable/useLiveCompletionAdapter.d.ts +52 -0
- package/dist/unstable/useLiveCompletionAdapter.d.ts.map +1 -0
- package/dist/unstable/useLiveCompletionAdapter.js +184 -0
- package/dist/unstable/useLiveCompletionAdapter.js.map +1 -0
- package/dist/unstable/useMentionAdapter.d.ts +95 -0
- package/dist/unstable/useMentionAdapter.d.ts.map +1 -0
- package/dist/unstable/useMentionAdapter.js +129 -0
- package/dist/unstable/useMentionAdapter.js.map +1 -0
- package/dist/unstable/useMessageStallDetection.d.ts +30 -0
- package/dist/unstable/useMessageStallDetection.d.ts.map +1 -0
- package/dist/unstable/useMessageStallDetection.js +92 -0
- package/dist/unstable/useMessageStallDetection.js.map +1 -0
- package/dist/unstable/useModelContextSnapshot.d.ts +32 -0
- package/dist/unstable/useModelContextSnapshot.d.ts.map +1 -0
- package/dist/unstable/useModelContextSnapshot.js +46 -0
- package/dist/unstable/useModelContextSnapshot.js.map +1 -0
- package/dist/unstable/useSlashCommandAdapter.d.ts +53 -0
- package/dist/unstable/useSlashCommandAdapter.d.ts.map +1 -0
- package/dist/unstable/useSlashCommandAdapter.js +84 -0
- package/dist/unstable/useSlashCommandAdapter.js.map +1 -0
- package/dist/unstable/webmcp/WebMcpRegistrationResource.d.ts +12 -0
- package/dist/unstable/webmcp/WebMcpRegistrationResource.d.ts.map +1 -0
- package/dist/unstable/webmcp/WebMcpRegistrationResource.js +47 -0
- package/dist/unstable/webmcp/WebMcpRegistrationResource.js.map +1 -0
- package/dist/unstable/webmcp/convertTools.d.ts +18 -0
- package/dist/unstable/webmcp/convertTools.d.ts.map +1 -0
- package/dist/unstable/webmcp/convertTools.js +160 -0
- package/dist/unstable/webmcp/convertTools.js.map +1 -0
- package/dist/unstable/webmcp/useWebMcpProvider.d.ts +23 -0
- package/dist/unstable/webmcp/useWebMcpProvider.d.ts.map +1 -0
- package/dist/unstable/webmcp/useWebMcpProvider.js +111 -0
- package/dist/unstable/webmcp/useWebMcpProvider.js.map +1 -0
- package/dist/unstable/webmcp/webmcp-host.d.ts +36 -0
- package/dist/unstable/webmcp/webmcp-host.d.ts.map +1 -0
- package/dist/unstable/webmcp/webmcp-host.js +28 -0
- package/dist/unstable/webmcp/webmcp-host.js.map +1 -0
- package/dist/utils/Primitive.d.ts +28 -0
- package/dist/utils/Primitive.d.ts.map +1 -0
- package/dist/utils/Primitive.js +229 -0
- package/dist/utils/Primitive.js.map +1 -0
- package/dist/utils/RequireAtLeastOne.d.ts +4 -0
- package/dist/utils/RequireAtLeastOne.d.ts.map +1 -0
- package/dist/utils/RequireAtLeastOne.js +0 -0
- package/dist/utils/createActionButton.d.ts +18 -0
- package/dist/utils/createActionButton.d.ts.map +1 -0
- package/dist/utils/createActionButton.js +39 -0
- package/dist/utils/createActionButton.js.map +1 -0
- package/dist/utils/getSelectionMessageId.d.ts +2 -0
- package/dist/utils/getSelectionMessageId.d.ts.map +1 -0
- package/dist/utils/getSelectionMessageId.js +84 -0
- package/dist/utils/getSelectionMessageId.js.map +1 -0
- package/dist/utils/hooks/useManagedRef.d.ts +2 -0
- package/dist/utils/hooks/useManagedRef.d.ts.map +1 -0
- package/dist/utils/hooks/useManagedRef.js +15 -0
- package/dist/utils/hooks/useManagedRef.js.map +1 -0
- package/dist/utils/hooks/useMediaQuery.d.ts +3 -0
- package/dist/utils/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/utils/hooks/useMediaQuery.js +33 -0
- package/dist/utils/hooks/useMediaQuery.js.map +1 -0
- package/dist/utils/hooks/useOnScrollToBottom.d.ts +7 -0
- package/dist/utils/hooks/useOnScrollToBottom.d.ts.map +1 -0
- package/dist/utils/hooks/useOnScrollToBottom.js +15 -0
- package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -0
- package/dist/utils/hooks/useSizeHandle.d.ts +12 -0
- package/dist/utils/hooks/useSizeHandle.d.ts.map +1 -0
- package/dist/utils/hooks/useSizeHandle.js +33 -0
- package/dist/utils/hooks/useSizeHandle.js.map +1 -0
- package/dist/utils/isCompositionKey.d.ts +2 -0
- package/dist/utils/isCompositionKey.d.ts.map +1 -0
- package/dist/utils/isCompositionKey.js +5 -0
- package/dist/utils/isCompositionKey.js.map +1 -0
- package/dist/utils/smooth/SmoothContext.d.ts +117 -0
- package/dist/utils/smooth/SmoothContext.d.ts.map +1 -0
- package/dist/utils/smooth/SmoothContext.js +40 -0
- package/dist/utils/smooth/SmoothContext.js.map +1 -0
- package/dist/utils/smooth/useSmooth.d.ts +63 -0
- package/dist/utils/smooth/useSmooth.d.ts.map +1 -0
- package/dist/utils/smooth/useSmooth.js +144 -0
- package/dist/utils/smooth/useSmooth.js.map +1 -0
- package/dist/utils/useIsomorphicLayoutEffect.d.ts +2 -0
- package/dist/utils/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/dist/utils/useIsomorphicLayoutEffect.js +1 -0
- package/package.json +115 -3
- package/src/adapters/OpenAIRealtimeVoiceAdapter.test.ts +761 -0
- package/src/adapters/OpenAIRealtimeVoiceAdapter.ts +388 -0
- package/src/assistant-transport.ts +98 -0
- package/src/augmentations.ts +35 -0
- package/src/context/ReadonlyStore.ts +7 -0
- package/src/context/index.ts +23 -0
- package/src/context/providers/AttachmentByIndexProvider.tsx +6 -0
- package/src/context/providers/ChainOfThoughtByIndicesProvider.tsx +3 -0
- package/src/context/providers/MessageByIndexProvider.tsx +3 -0
- package/src/context/providers/MessageProvider.tsx +34 -0
- package/src/context/providers/PartByIndexProvider.tsx +3 -0
- package/src/context/providers/SuggestionByIndexProvider.tsx +6 -0
- package/src/context/providers/TextMessagePartProvider.tsx +3 -0
- package/src/context/providers/ThreadListItemProvider.tsx +6 -0
- package/src/context/providers/ThreadViewportProvider.tsx +49 -0
- package/src/context/providers/vue-providers.test.tsx +326 -0
- package/src/context/stores/ThreadViewport.test.ts +29 -0
- package/src/context/stores/ThreadViewport.ts +278 -0
- package/src/context/vue/ThreadViewportContext.ts +22 -0
- package/src/context/vue/utils/createContextHook.ts +26 -0
- package/src/context/vue/utils/createContextStoreHook.ts +93 -0
- package/src/devtools/DevToolsHooks.test.ts +40 -0
- package/src/devtools/DevToolsHooks.ts +142 -0
- package/src/hooks/message-readers.test.ts +128 -0
- package/src/hooks/useMessageQuote.ts +25 -0
- package/src/hooks/useMessageTiming.ts +26 -0
- package/src/hooks/useToolCallElapsed.test.tsx +172 -0
- package/src/hooks/useToolCallElapsed.ts +65 -0
- package/src/index.ts +623 -0
- package/src/internal.ts +33 -0
- package/src/legacy-runtime/AssistantRuntimeProvider.tsx +61 -0
- package/src/mcp-apps/McpAppRenderer.composer.test.tsx +129 -0
- package/src/mcp-apps/McpAppRenderer.test.tsx +906 -0
- package/src/mcp-apps/McpAppRenderer.tsx +411 -0
- package/src/mcp-apps/McpAppsRemoteHost.concurrent.test.tsx +226 -0
- package/src/mcp-apps/McpAppsRemoteHost.test.ts +152 -0
- package/src/mcp-apps/McpAppsRemoteHost.ts +160 -0
- package/src/mcp-apps/app-frame.test.tsx +648 -0
- package/src/mcp-apps/app-frame.tsx +351 -0
- package/src/mcp-apps/bridge.test.ts +836 -0
- package/src/mcp-apps/bridge.ts +538 -0
- package/src/mcp-apps/csp.test.ts +112 -0
- package/src/mcp-apps/csp.ts +124 -0
- package/src/mcp-apps/index.ts +23 -0
- package/src/mcp-apps/types.ts +176 -0
- package/src/mcp-apps/utils.ts +23 -0
- package/src/model-context/frame/SPEC_AssistantFrame.md +105 -0
- package/src/model-context/frame/useAssistantFrameHost.detach.test.tsx +155 -0
- package/src/model-context/frame/useAssistantFrameHost.reload.test.tsx +116 -0
- package/src/model-context/frame/useAssistantFrameHost.test.tsx +43 -0
- package/src/model-context/frame/useAssistantFrameHost.ts +137 -0
- package/src/model-context/makeAssistantVisible.test.tsx +460 -0
- package/src/model-context/makeAssistantVisible.tsx +184 -0
- package/src/model-context/registry/SPEC_ModelContextRegistry.md +40 -0
- package/src/primitives/actionBar/ActionBarCopy.test.tsx +28 -0
- package/src/primitives/actionBar/ActionBarCopy.tsx +100 -0
- package/src/primitives/actionBar/ActionBarEdit.ts +63 -0
- package/src/primitives/actionBar/ActionBarExportMarkdown.test.tsx +83 -0
- package/src/primitives/actionBar/ActionBarExportMarkdown.tsx +65 -0
- package/src/primitives/actionBar/ActionBarFeedback.test.tsx +59 -0
- package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +48 -0
- package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +48 -0
- package/src/primitives/actionBar/ActionBarInteractionContext.ts +13 -0
- package/src/primitives/actionBar/ActionBarReload.ts +64 -0
- package/src/primitives/actionBar/ActionBarRoot.tsx +119 -0
- package/src/primitives/actionBar/ActionBarSpeak.ts +25 -0
- package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +24 -0
- package/src/primitives/actionBar/useActionBarFloatStatus.ts +48 -0
- package/src/primitives/actionBar.ts +9 -0
- package/src/primitives/actionBarMore/ActionBarMoreContent.tsx +45 -0
- package/src/primitives/actionBarMore/ActionBarMoreItem.tsx +22 -0
- package/src/primitives/actionBarMore/ActionBarMoreRoot.test.ts +70 -0
- package/src/primitives/actionBarMore/ActionBarMoreRoot.tsx +46 -0
- package/src/primitives/actionBarMore/ActionBarMoreSeparator.tsx +26 -0
- package/src/primitives/actionBarMore/ActionBarMoreTrigger.tsx +26 -0
- package/src/primitives/actionBarMore/scope.ts +6 -0
- package/src/primitives/actionBarMore.ts +5 -0
- package/src/primitives/assistantModal/AssistantModalAnchor.tsx +22 -0
- package/src/primitives/assistantModal/AssistantModalContent.tsx +85 -0
- package/src/primitives/assistantModal/AssistantModalRoot.test.tsx +153 -0
- package/src/primitives/assistantModal/AssistantModalRoot.tsx +48 -0
- package/src/primitives/assistantModal/AssistantModalTrigger.test.tsx +65 -0
- package/src/primitives/assistantModal/AssistantModalTrigger.tsx +22 -0
- package/src/primitives/assistantModal/popoverRenderPrimitives.ts +6 -0
- package/src/primitives/assistantModal/scope.ts +6 -0
- package/src/primitives/assistantModal.ts +4 -0
- package/src/primitives/attachment/AttachmentName.tsx +16 -0
- package/src/primitives/attachment/AttachmentRemove.ts +28 -0
- package/src/primitives/attachment/AttachmentRoot.tsx +52 -0
- package/src/primitives/attachment/AttachmentThumb.test.tsx +179 -0
- package/src/primitives/attachment/AttachmentThumb.tsx +41 -0
- package/src/primitives/attachment.ts +7 -0
- package/src/primitives/branchPicker/BranchPickerCount.tsx +33 -0
- package/src/primitives/branchPicker/BranchPickerNext.ts +42 -0
- package/src/primitives/branchPicker/BranchPickerNumber.tsx +16 -0
- package/src/primitives/branchPicker/BranchPickerPrevious.ts +42 -0
- package/src/primitives/branchPicker/BranchPickerRoot.tsx +64 -0
- package/src/primitives/branchPicker.ts +5 -0
- package/src/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.test.tsx +116 -0
- package/src/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.tsx +63 -0
- package/src/primitives/chainOfThought/ChainOfThoughtParts.tsx +3 -0
- package/src/primitives/chainOfThought/ChainOfThoughtRoot.tsx +33 -0
- package/src/primitives/chainOfThought.ts +14 -0
- package/src/primitives/composer/ComposerAddAttachment.test.tsx +101 -0
- package/src/primitives/composer/ComposerAddAttachment.thread-scope.test.tsx +225 -0
- package/src/primitives/composer/ComposerAddAttachment.ts +88 -0
- package/src/primitives/composer/ComposerAttachmentDropzone.test.tsx +351 -0
- package/src/primitives/composer/ComposerAttachmentDropzone.tsx +109 -0
- package/src/primitives/composer/ComposerAttachments.tsx +6 -0
- package/src/primitives/composer/ComposerCancel.focus.test.tsx +324 -0
- package/src/primitives/composer/ComposerCancel.ts +52 -0
- package/src/primitives/composer/ComposerCompactContext.tsx +10 -0
- package/src/primitives/composer/ComposerDictate.ts +37 -0
- package/src/primitives/composer/ComposerDictationTranscript.tsx +55 -0
- package/src/primitives/composer/ComposerDisabledThread.test.tsx +118 -0
- package/src/primitives/composer/ComposerIf.ts +4 -0
- package/src/primitives/composer/ComposerInput.focus-on-run-start.test.tsx +145 -0
- package/src/primitives/composer/ComposerInput.test.tsx +712 -0
- package/src/primitives/composer/ComposerInput.text-change.test.tsx +77 -0
- package/src/primitives/composer/ComposerInput.thread-scope.test.tsx +83 -0
- package/src/primitives/composer/ComposerInput.tsx +462 -0
- package/src/primitives/composer/ComposerInputPluginContext.tsx +80 -0
- package/src/primitives/composer/ComposerPreview.native.test.ts +157 -0
- package/src/primitives/composer/ComposerQueue.tsx +3 -0
- package/src/primitives/composer/ComposerQuote.tsx +143 -0
- package/src/primitives/composer/ComposerResume.ts +35 -0
- package/src/primitives/composer/ComposerRoot.test.tsx +429 -0
- package/src/primitives/composer/ComposerRoot.tsx +155 -0
- package/src/primitives/composer/ComposerSend.ts +43 -0
- package/src/primitives/composer/ComposerStopDictation.ts +43 -0
- package/src/primitives/composer/composerInputSelector.ts +4 -0
- package/src/primitives/composer/trigger/TriggerPopover.native.test.ts +309 -0
- package/src/primitives/composer/trigger/TriggerPopover.tsx +248 -0
- package/src/primitives/composer/trigger/TriggerPopoverAction.tsx +61 -0
- package/src/primitives/composer/trigger/TriggerPopoverBack.tsx +51 -0
- package/src/primitives/composer/trigger/TriggerPopoverBehavior.test.tsx +113 -0
- package/src/primitives/composer/trigger/TriggerPopoverCategories.tsx +123 -0
- package/src/primitives/composer/trigger/TriggerPopoverDirective.tsx +55 -0
- package/src/primitives/composer/trigger/TriggerPopoverExports.test.ts +61 -0
- package/src/primitives/composer/trigger/TriggerPopoverItems.tsx +121 -0
- package/src/primitives/composer/trigger/TriggerPopoverResource.ts +146 -0
- package/src/primitives/composer/trigger/TriggerPopoverRootContext.test.tsx +159 -0
- package/src/primitives/composer/trigger/TriggerPopoverRootContext.tsx +236 -0
- package/src/primitives/composer/trigger/detectTrigger.test.ts +197 -0
- package/src/primitives/composer/trigger/detectTrigger.ts +78 -0
- package/src/primitives/composer/trigger/index.ts +33 -0
- package/src/primitives/composer/trigger/matchesTriggerItemQuery.test.ts +52 -0
- package/src/primitives/composer/trigger/matchesTriggerItemQuery.ts +13 -0
- package/src/primitives/composer/trigger/triggerDetectionResource.ts +47 -0
- package/src/primitives/composer/trigger/triggerKeyboardResource.test.ts +233 -0
- package/src/primitives/composer/trigger/triggerKeyboardResource.ts +150 -0
- package/src/primitives/composer/trigger/triggerNavigationResource.ts +129 -0
- package/src/primitives/composer/trigger/triggerSelectionResource.test.ts +173 -0
- package/src/primitives/composer/trigger/triggerSelectionResource.ts +133 -0
- package/src/primitives/composer/useAuiState.composer.test.tsx +93 -0
- package/src/primitives/composer/useComposerCancelWithFocus.ts +51 -0
- package/src/primitives/composer/useComposerInputState.ts +58 -0
- package/src/primitives/composer/useTextareaAutosize.ts +140 -0
- package/src/primitives/composer.ts +88 -0
- package/src/primitives/dropdownMenuRenderPrimitives.test.tsx +64 -0
- package/src/primitives/dropdownMenuRenderPrimitives.ts +14 -0
- package/src/primitives/error/ErrorMessage.tsx +39 -0
- package/src/primitives/error/ErrorRoot.tsx +34 -0
- package/src/primitives/error.ts +2 -0
- package/src/primitives/message/MessageAttachments.tsx +6 -0
- package/src/primitives/message/MessageError.ts +13 -0
- package/src/primitives/message/MessageIf.test.tsx +83 -0
- package/src/primitives/message/MessageIf.ts +110 -0
- package/src/primitives/message/MessageParts.test.tsx +119 -0
- package/src/primitives/message/MessageParts.tsx +64 -0
- package/src/primitives/message/MessagePartsGrouped.test.tsx +682 -0
- package/src/primitives/message/MessagePartsGrouped.tool-interaction.test.tsx +97 -0
- package/src/primitives/message/MessagePartsGrouped.tsx +374 -0
- package/src/primitives/message/MessageRoot.anchors.test.ts +167 -0
- package/src/primitives/message/MessageRoot.test.tsx +272 -0
- package/src/primitives/message/MessageRoot.tsx +145 -0
- package/src/primitives/message.ts +15 -0
- package/src/primitives/messagePart/MessagePartImage.tsx +29 -0
- package/src/primitives/messagePart/MessagePartInProgress.ts +3 -0
- package/src/primitives/messagePart/MessagePartText.test.tsx +114 -0
- package/src/primitives/messagePart/MessagePartText.tsx +54 -0
- package/src/primitives/messagePart/useMessagePartData.test.ts +118 -0
- package/src/primitives/messagePart/useMessagePartData.ts +34 -0
- package/src/primitives/messagePart/useMessagePartFile.ts +42 -0
- package/src/primitives/messagePart/useMessagePartImage.ts +41 -0
- package/src/primitives/messagePart/useMessagePartReasoning.ts +42 -0
- package/src/primitives/messagePart/useMessagePartSource.ts +43 -0
- package/src/primitives/messagePart/useMessagePartText.ts +45 -0
- package/src/primitives/messagePart.ts +4 -0
- package/src/primitives/native-action-bindings.test.ts +181 -0
- package/src/primitives/native-display-bindings.test.ts +159 -0
- package/src/primitives/queueItem/QueueItemRemove.ts +36 -0
- package/src/primitives/queueItem/QueueItemSteer.ts +36 -0
- package/src/primitives/queueItem/QueueItemText.tsx +48 -0
- package/src/primitives/queueItem.ts +3 -0
- package/src/primitives/reasoning/useScrollLock.test.tsx +296 -0
- package/src/primitives/reasoning/useScrollLock.ts +160 -0
- package/src/primitives/selectionToolbar/SelectionToolbarQuote.tsx +56 -0
- package/src/primitives/selectionToolbar/SelectionToolbarRoot.test.tsx +439 -0
- package/src/primitives/selectionToolbar/SelectionToolbarRoot.tsx +206 -0
- package/src/primitives/selectionToolbar.ts +8 -0
- package/src/primitives/suggestion/SuggestionDescription.tsx +35 -0
- package/src/primitives/suggestion/SuggestionTitle.tsx +43 -0
- package/src/primitives/suggestion/SuggestionTrigger.ts +59 -0
- package/src/primitives/suggestion.ts +3 -0
- package/src/primitives/thread/ThreadEmpty.ts +19 -0
- package/src/primitives/thread/ThreadIf.ts +42 -0
- package/src/primitives/thread/ThreadLoadEarlier.tsx +34 -0
- package/src/primitives/thread/ThreadMessages.tsx +9 -0
- package/src/primitives/thread/ThreadRoot.test.tsx +419 -0
- package/src/primitives/thread/ThreadRoot.tsx +119 -0
- package/src/primitives/thread/ThreadRootElementContext.ts +9 -0
- package/src/primitives/thread/ThreadScrollToBottom.ts +45 -0
- package/src/primitives/thread/ThreadSuggestion.ts +55 -0
- package/src/primitives/thread/ThreadSuggestions.tsx +7 -0
- package/src/primitives/thread/ThreadViewport.thread-scope.test.tsx +58 -0
- package/src/primitives/thread/ThreadViewport.tsx +219 -0
- package/src/primitives/thread/ThreadViewportFooter.tsx +46 -0
- package/src/primitives/thread/topAnchor/computeTopAnchorSlack.test.ts +131 -0
- package/src/primitives/thread/topAnchor/computeTopAnchorSlack.ts +94 -0
- package/src/primitives/thread/topAnchor/createReserveObservers.ts +50 -0
- package/src/primitives/thread/topAnchor/mountTopAnchorReserve.test.ts +570 -0
- package/src/primitives/thread/topAnchor/mountTopAnchorReserve.ts +221 -0
- package/src/primitives/thread/topAnchor/topAnchorTurn.test.ts +115 -0
- package/src/primitives/thread/topAnchor/topAnchorTurn.ts +59 -0
- package/src/primitives/thread/topAnchor/topAnchorUtils.ts +58 -0
- package/src/primitives/thread/topAnchor/useTopAnchorReserve.ts +23 -0
- package/src/primitives/thread/useThreadViewportAutoScroll.test.tsx +1887 -0
- package/src/primitives/thread/useThreadViewportAutoScroll.ts +140 -0
- package/src/primitives/thread.ts +17 -0
- package/src/primitives/threadList/ThreadListItems.tsx +6 -0
- package/src/primitives/threadList/ThreadListLoadMore.tsx +25 -0
- package/src/primitives/threadList/ThreadListNew.tsx +47 -0
- package/src/primitives/threadList/ThreadListRoot.tsx +29 -0
- package/src/primitives/threadList.ts +5 -0
- package/src/primitives/threadListFocusGroup.ts +91 -0
- package/src/primitives/threadListItem/ThreadListItemArchive.ts +23 -0
- package/src/primitives/threadListItem/ThreadListItemDelete.ts +23 -0
- package/src/primitives/threadListItem/ThreadListItemRoot.tsx +100 -0
- package/src/primitives/threadListItem/ThreadListItemTitle.test.tsx +63 -0
- package/src/primitives/threadListItem/ThreadListItemTitle.tsx +3 -0
- package/src/primitives/threadListItem/ThreadListItemTrigger.tsx +51 -0
- package/src/primitives/threadListItem/ThreadListItemUnarchive.test.tsx +55 -0
- package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +25 -0
- package/src/primitives/threadListItem/ThreadListKeyboardNav.test.tsx +348 -0
- package/src/primitives/threadListItem.ts +6 -0
- package/src/primitives/threadListItemMore/ThreadListItemMoreContent.tsx +81 -0
- package/src/primitives/threadListItemMore/ThreadListItemMoreItem.tsx +22 -0
- package/src/primitives/threadListItemMore/ThreadListItemMoreRoot.tsx +79 -0
- package/src/primitives/threadListItemMore/ThreadListItemMoreSeparator.tsx +26 -0
- package/src/primitives/threadListItemMore/ThreadListItemMoreTrigger.tsx +62 -0
- package/src/primitives/threadListItemMore/scope.ts +6 -0
- package/src/primitives/threadListItemMore.ts +5 -0
- package/src/sandbox-host/SandboxHost.test.tsx +579 -0
- package/src/sandbox-host/SandboxHost.tsx +271 -0
- package/src/tests/DataRenderers.test.tsx +218 -0
- package/src/tests/MessageParts.loading.test.tsx +105 -0
- package/src/tests/MessageParts.rendererOptions.test.tsx +125 -0
- package/src/tests/RemoteThreadListRuntime.adapterProvider.test.tsx +187 -0
- package/src/tests/RemoteThreadListRuntime.deferredProvider.test.tsx +99 -0
- package/src/tests/RemoteThreadListRuntime.reloadMainThread.test.tsx +113 -0
- package/src/tests/augmentations.test.ts +95 -0
- package/src/tests/generative-ui.primitive.test.tsx +176 -0
- package/src/tests/generative-ui.test.tsx +130 -0
- package/src/tests/in-memory-thread-list.test.tsx +142 -0
- package/src/tests/local-runtime-queue.test.tsx +506 -0
- package/src/tests/messageAction.ts +67 -0
- package/src/tests/messagePartSwitchRace.test.tsx +222 -0
- package/src/tests/messagePartTypeMismatch.test.tsx +153 -0
- package/src/tests/remote-thread-list-test-helpers.ts +40 -0
- package/src/tests/setup.ts +5 -0
- package/src/tests/threadListItemIsRunning.test.tsx +215 -0
- package/src/tests/threadMessageById.test.tsx +293 -0
- package/src/tests/toolCallTiming.test.tsx +324 -0
- package/src/tests/vue.ts +124 -0
- package/src/unstable/useComposerInput.test.tsx +201 -0
- package/src/unstable/useComposerInput.ts +125 -0
- package/src/unstable/useComposerInputHistory.test.tsx +207 -0
- package/src/unstable/useComposerInputHistory.thread-scope.test.tsx +128 -0
- package/src/unstable/useComposerInputHistory.ts +163 -0
- package/src/unstable/useLiveCompletionAdapter.test.tsx +760 -0
- package/src/unstable/useLiveCompletionAdapter.ts +217 -0
- package/src/unstable/useMentionAdapter.test.tsx +380 -0
- package/src/unstable/useMentionAdapter.ts +276 -0
- package/src/unstable/useMessageStallDetection.lifecycle.test.ts +120 -0
- package/src/unstable/useMessageStallDetection.test.tsx +59 -0
- package/src/unstable/useMessageStallDetection.ts +147 -0
- package/src/unstable/useModelContextSnapshot.test.tsx +181 -0
- package/src/unstable/useModelContextSnapshot.ts +85 -0
- package/src/unstable/useSlashCommandAdapter.test.tsx +172 -0
- package/src/unstable/useSlashCommandAdapter.ts +145 -0
- package/src/unstable/webmcp/WebMcpRegistrationResource.test.ts +150 -0
- package/src/unstable/webmcp/WebMcpRegistrationResource.ts +92 -0
- package/src/unstable/webmcp/__tests__/webmcp.fake.tsx +177 -0
- package/src/unstable/webmcp/convertTools.test.ts +605 -0
- package/src/unstable/webmcp/convertTools.ts +256 -0
- package/src/unstable/webmcp/useWebMcpProvider.test.tsx +543 -0
- package/src/unstable/webmcp/useWebMcpProvider.ts +185 -0
- package/src/unstable/webmcp/webmcp-host.test.ts +142 -0
- package/src/unstable/webmcp/webmcp-host.ts +83 -0
- package/src/utils/Primitive.test.tsx +551 -0
- package/src/utils/Primitive.tsx +363 -0
- package/src/utils/RequireAtLeastOne.ts +7 -0
- package/src/utils/createActionButton.child-cancel.test.tsx +82 -0
- package/src/utils/createActionButton.test.tsx +114 -0
- package/src/utils/createActionButton.tsx +75 -0
- package/src/utils/getSelectionMessageId.test.ts +609 -0
- package/src/utils/getSelectionMessageId.ts +133 -0
- package/src/utils/hooks/useManagedRef.ts +19 -0
- package/src/utils/hooks/useMediaQuery.test.tsx +60 -0
- package/src/utils/hooks/useMediaQuery.ts +44 -0
- package/src/utils/hooks/useOnScrollToBottom.ts +23 -0
- package/src/utils/hooks/useSizeHandle.ts +39 -0
- package/src/utils/isCompositionKey.ts +5 -0
- package/src/utils/smooth/SmoothContext.test.tsx +224 -0
- package/src/utils/smooth/SmoothContext.tsx +82 -0
- package/src/utils/smooth/useSmooth.test.tsx +499 -0
- package/src/utils/smooth/useSmooth.ts +266 -0
- package/src/utils/useIsomorphicLayoutEffect.test.tsx +25 -0
- package/src/utils/useIsomorphicLayoutEffect.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadLoadEarlier.js","names":["computed","useAui","useAuiState","ActionButtonElement","ActionButtonProps","createActionButton","useThreadLoadEarlier","aui","hasEarlier","s","thread","loadEarlier","value","ThreadPrimitiveLoadEarlier","Element","Props"],"sources":["../../../src/primitives/thread/ThreadLoadEarlier.tsx"],"sourcesContent":["\"use client\";\n\nimport { computed } from \"vue\";\nimport { useAui, useAuiState } from \"@ulearning/ai-store\";\nimport {\n type ActionButtonElement,\n type ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\n\nconst useThreadLoadEarlier = () => {\n const aui = useAui();\n const hasEarlier = useAuiState((s) => s.thread.hasEarlier);\n const loadEarlier = () => {\n void aui.thread.loadEarlier();\n };\n return computed(() => (hasEarlier.value ? loadEarlier : null));\n};\n\nexport namespace ThreadPrimitiveLoadEarlier {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useThreadLoadEarlier>;\n}\n\n/**\n * A button that loads the page before the first loaded message. Disabled\n * while the runtime reports no earlier messages. A press while a page is\n * loading joins that load, so the button stays enabled and keeps keyboard\n * focus until the page lands; read `thread.isLoadingEarlier` to show progress.\n */\nexport const ThreadPrimitiveLoadEarlier = createActionButton(\n \"ThreadPrimitive.LoadEarlier\",\n useThreadLoadEarlier,\n);\n"],"mappings":";;;;;AAUA,MAAMM,6BAA6B;CACjC,MAAMC,MAAMN,OAAO;CACnB,MAAMO,aAAaN,aAAaO,MAAMA,EAAEC,OAAOF,UAAU;CACzD,MAAMG,oBAAoB;EACxB,IAASD,OAAOC,YAAY;CAC9B;CACA,OAAOX,eAAgBQ,WAAWI,QAAQD,cAAc,IAAK;AAC/D;;;;;;;AAaA,MAAaE,6BAA6BR,mBACxC,+BACAC,oBACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadMessages.d.ts","mappings":"AAEA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,mCAAmC,EACnC,kBAAkB,GACnB,MAAM,wBAAwB","names":[],"ignoreList":[],"sources":["../../../src/primitives/thread/ThreadMessages.tsx"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type PrimitiveProps } from "../../utils/Primitive.js";
|
|
2
|
+
import { type ComponentPublicInstance } from "vue";
|
|
3
|
+
export declare namespace ThreadPrimitiveRoot {
|
|
4
|
+
type Element = ComponentPublicInstance;
|
|
5
|
+
/**
|
|
6
|
+
* Props for the ThreadPrimitive.Root component.
|
|
7
|
+
* Accepts all standard div element props.
|
|
8
|
+
*/
|
|
9
|
+
type Props = PrimitiveProps<"div">;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The root container component for a thread.
|
|
13
|
+
*
|
|
14
|
+
* This component serves as the foundational wrapper for all thread-related components.
|
|
15
|
+
* It provides the basic structure and context needed for thread functionality.
|
|
16
|
+
*
|
|
17
|
+
* While this component is mounted, an unhandled Escape keydown inside this thread stops its
|
|
18
|
+
* active speech, even if the action bar that started it is no longer mounted. Escape outside
|
|
19
|
+
* every thread retains the document-level fallback.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <ThreadPrimitive.Root>
|
|
24
|
+
* <ThreadPrimitive.Viewport>
|
|
25
|
+
* <ThreadPrimitive.Messages>
|
|
26
|
+
* {() => <MyMessage />}
|
|
27
|
+
* </ThreadPrimitive.Messages>
|
|
28
|
+
* </ThreadPrimitive.Viewport>
|
|
29
|
+
* </ThreadPrimitive.Root>
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare const ThreadPrimitiveRoot: import("vue").DefineSetupFnComponent<ThreadPrimitiveRoot.Props, {}, {}, import("vue").HTMLAttributes & {
|
|
33
|
+
render?: import("vue").VNode | undefined;
|
|
34
|
+
asChild?: boolean | undefined;
|
|
35
|
+
children?: import("vue").VNodeChild;
|
|
36
|
+
} & {}, import("vue").PublicProps>;
|
|
37
|
+
//# sourceMappingURL=ThreadRoot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadRoot.d.ts","mappings":"AAEA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,0BAAuB;AAEtE,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,KAAK;AAQZ,yBAAiB,mBAAmB,CAAC;IACnC,KAAY,OAAO,GAAG,uBAAuB;IAC7C;;;;IAIA,KAAY,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;;AAG3C;;;;;;;;;;;;;;;;;;;;;AAqBA,eAAO,MAAM,mBAAmB;;;;kCAqE/B","names":[],"ignoreList":[],"sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Primitive as Primitive$1 } from "../../utils/Primitive.js";
|
|
3
|
+
import { isCompositionKey } from "../../utils/isCompositionKey.js";
|
|
4
|
+
import { ThreadRootElementContext } from "./ThreadRootElementContext.js";
|
|
5
|
+
import { defineComponent, h, mergeProps, provide, shallowRef } from "vue";
|
|
6
|
+
import { useAui } from "@ulearning/ai-store";
|
|
7
|
+
import { useIsomorphicLayoutEffect } from "@ulearning/ai-store/internal";
|
|
8
|
+
import { useForwardExpose } from "reka-ui";
|
|
9
|
+
// src/primitives/thread/ThreadRoot.tsx
|
|
10
|
+
const escapeEventThreadRoots = /* @__PURE__ */ new WeakMap();
|
|
11
|
+
/**
|
|
12
|
+
* The root container component for a thread.
|
|
13
|
+
*
|
|
14
|
+
* This component serves as the foundational wrapper for all thread-related components.
|
|
15
|
+
* It provides the basic structure and context needed for thread functionality.
|
|
16
|
+
*
|
|
17
|
+
* While this component is mounted, an unhandled Escape keydown inside this thread stops its
|
|
18
|
+
* active speech, even if the action bar that started it is no longer mounted. Escape outside
|
|
19
|
+
* every thread retains the document-level fallback.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <ThreadPrimitive.Root>
|
|
24
|
+
* <ThreadPrimitive.Viewport>
|
|
25
|
+
* <ThreadPrimitive.Messages>
|
|
26
|
+
* {() => <MyMessage />}
|
|
27
|
+
* </ThreadPrimitive.Messages>
|
|
28
|
+
* </ThreadPrimitive.Viewport>
|
|
29
|
+
* </ThreadPrimitive.Root>
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
const ThreadPrimitiveRoot = defineComponent((props, { attrs, slots }) => {
|
|
33
|
+
const { forwardRef } = useForwardExpose();
|
|
34
|
+
const aui = useAui();
|
|
35
|
+
const root = shallowRef(null);
|
|
36
|
+
provide(ThreadRootElementContext, root);
|
|
37
|
+
const setElement = (instance) => {
|
|
38
|
+
forwardRef(instance);
|
|
39
|
+
const element = instance instanceof Element ? instance : instance?.$el;
|
|
40
|
+
root.value = element instanceof HTMLElement ? element : null;
|
|
41
|
+
};
|
|
42
|
+
const markRoot = (event) => {
|
|
43
|
+
if (event.key === "Escape" && root.value) escapeEventThreadRoots.set(event, root.value);
|
|
44
|
+
};
|
|
45
|
+
useIsomorphicLayoutEffect(() => {
|
|
46
|
+
const doc = root.value?.ownerDocument;
|
|
47
|
+
if (!doc) return void 0;
|
|
48
|
+
const handleKeyDown = (event) => {
|
|
49
|
+
if (event.key !== "Escape" || isCompositionKey(event)) return;
|
|
50
|
+
if (event.defaultPrevented || aui.thread.source === null) return;
|
|
51
|
+
const eventThreadRoot = escapeEventThreadRoots.get(event) ?? event.composedPath().find((target) => target instanceof Element && target.hasAttribute("data-aui-thread-root"));
|
|
52
|
+
if (eventThreadRoot && eventThreadRoot !== root.value) return;
|
|
53
|
+
if (aui.thread.getState().speech == null) return;
|
|
54
|
+
event.preventDefault();
|
|
55
|
+
try {
|
|
56
|
+
aui.thread.stopSpeaking();
|
|
57
|
+
} catch (error) {
|
|
58
|
+
if (!(error instanceof Error) || error.message !== "No message is being spoken") throw error;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
doc.addEventListener("keydown", handleKeyDown);
|
|
62
|
+
return () => doc.removeEventListener("keydown", handleKeyDown);
|
|
63
|
+
});
|
|
64
|
+
return () => h(Primitive$1.div, {
|
|
65
|
+
...attrs,
|
|
66
|
+
render: props.render,
|
|
67
|
+
asChild: props.asChild,
|
|
68
|
+
children: props.children,
|
|
69
|
+
"data-aui-thread-root": "",
|
|
70
|
+
ref: setElement,
|
|
71
|
+
...mergeProps({ onKeydown: markRoot }, { onKeydown: attrs.onKeydown })
|
|
72
|
+
}, slots);
|
|
73
|
+
}, {
|
|
74
|
+
name: "ThreadPrimitive.Root",
|
|
75
|
+
inheritAttrs: false,
|
|
76
|
+
props: [
|
|
77
|
+
"render",
|
|
78
|
+
"asChild",
|
|
79
|
+
"children"
|
|
80
|
+
]
|
|
81
|
+
});
|
|
82
|
+
export { ThreadPrimitiveRoot };
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=ThreadRoot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadRoot.js","names":["Primitive","PrimitiveProps","isCompositionKey","defineComponent","h","mergeProps","provide","shallowRef","ComponentPublicInstance","useForwardExpose","useIsomorphicLayoutEffect","useAui","ThreadRootElementContext","escapeEventThreadRoots","WeakMap","KeyboardEvent","Element","ThreadPrimitiveRoot","Props","props","attrs","slots","forwardRef","aui","root","HTMLElement","setElement","instance","element","$el","value","markRoot","event","key","set","doc","ownerDocument","undefined","handleKeyDown","defaultPrevented","thread","source","eventThreadRoot","get","composedPath","find","target","hasAttribute","getState","speech","preventDefault","stopSpeaking","error","Error","message","addEventListener","removeEventListener","div","render","asChild","children","ref","onKeydown","name","inheritAttrs","Primitive"],"sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive, type PrimitiveProps } from \"../../utils/Primitive\";\nimport { isCompositionKey } from \"../../utils/isCompositionKey\";\nimport {\n defineComponent,\n h,\n mergeProps,\n provide,\n shallowRef,\n type ComponentPublicInstance,\n} from \"vue\";\nimport { useForwardExpose } from \"reka-ui\";\nimport { useIsomorphicLayoutEffect } from \"@ulearning/ai-store/internal\";\nimport { useAui } from \"@ulearning/ai-store\";\nimport { ThreadRootElementContext } from \"./ThreadRootElementContext\";\n\nconst escapeEventThreadRoots = new WeakMap<KeyboardEvent, Element>();\n\nexport namespace ThreadPrimitiveRoot {\n export type Element = ComponentPublicInstance;\n /**\n * Props for the ThreadPrimitive.Root component.\n * Accepts all standard div element props.\n */\n export type Props = PrimitiveProps<\"div\">;\n}\n\n/**\n * The root container component for a thread.\n *\n * This component serves as the foundational wrapper for all thread-related components.\n * It provides the basic structure and context needed for thread functionality.\n *\n * While this component is mounted, an unhandled Escape keydown inside this thread stops its\n * active speech, even if the action bar that started it is no longer mounted. Escape outside\n * every thread retains the document-level fallback.\n *\n * @example\n * ```tsx\n * <ThreadPrimitive.Root>\n * <ThreadPrimitive.Viewport>\n * <ThreadPrimitive.Messages>\n * {() => <MyMessage />}\n * </ThreadPrimitive.Messages>\n * </ThreadPrimitive.Viewport>\n * </ThreadPrimitive.Root>\n * ```\n */\nexport const ThreadPrimitiveRoot = defineComponent<ThreadPrimitiveRoot.Props>(\n (props, { attrs, slots }) => {\n const { forwardRef } = useForwardExpose();\n const aui = useAui();\n const root = shallowRef<HTMLElement | null>(null);\n provide(ThreadRootElementContext, root);\n const setElement = (instance: Element | ComponentPublicInstance | null) => {\n forwardRef(instance);\n const element = instance instanceof Element ? instance : instance?.$el;\n root.value = element instanceof HTMLElement ? element : null;\n };\n const markRoot = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && root.value)\n escapeEventThreadRoots.set(event, root.value);\n };\n useIsomorphicLayoutEffect(() => {\n const doc = root.value?.ownerDocument;\n if (!doc) return undefined;\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\" || isCompositionKey(event)) return;\n if (event.defaultPrevented || aui.thread.source === null) return;\n const eventThreadRoot =\n escapeEventThreadRoots.get(event) ??\n event\n .composedPath()\n .find(\n (target) =>\n target instanceof Element &&\n target.hasAttribute(\"data-aui-thread-root\"),\n );\n if (eventThreadRoot && eventThreadRoot !== root.value) return;\n if (aui.thread.getState().speech == null) return;\n event.preventDefault();\n try {\n aui.thread.stopSpeaking();\n } catch (error) {\n if (\n !(error instanceof Error) ||\n error.message !== \"No message is being spoken\"\n )\n throw error;\n }\n };\n doc.addEventListener(\"keydown\", handleKeyDown);\n return () => doc.removeEventListener(\"keydown\", handleKeyDown);\n });\n return () =>\n h(\n Primitive.div,\n {\n ...attrs,\n render: props.render,\n asChild: props.asChild,\n children: props.children,\n \"data-aui-thread-root\": \"\",\n ref: setElement,\n ...mergeProps(\n { onKeydown: markRoot },\n { onKeydown: attrs.onKeydown },\n ),\n },\n slots,\n );\n },\n {\n name: \"ThreadPrimitive.Root\",\n inheritAttrs: false,\n props: [\"render\", \"asChild\", \"children\"],\n },\n);\n"],"mappings":";;;;;;;;;AAiBA,MAAMa,yCAAyB,IAAIC,QAAgC;;;;;;;;;;;;;;;;;;;;;;AAgCnE,MAAaG,sBAAsBd,iBAChCgB,OAAO,EAAEC,OAAOC,YAAY;CAC3B,MAAM,EAAEC,eAAeb,iBAAiB;CACxC,MAAMc,MAAMZ,OAAO;CACnB,MAAMa,OAAOjB,WAA+B,IAAI;CAChDD,QAAQM,0BAA0BY,IAAI;CACtC,MAAME,cAAcC,aAAuD;EACzEL,WAAWK,QAAQ;EACnB,MAAMC,UAAUD,oBAAoBX,UAAUW,WAAWA,UAAUE;EACnEL,KAAKM,QAAQF,mBAAmBH,cAAcG,UAAU;CAC1D;CACA,MAAMG,YAAYC,UAAyB;EACzC,IAAIA,MAAMC,QAAQ,YAAYT,KAAKM,OACjCjB,uBAAuBqB,IAAIF,OAAOR,KAAKM,KAAK;CAChD;CACApB,gCAAgC;EAC9B,MAAMyB,MAAMX,KAAKM,OAAOM;EACxB,IAAI,CAACD,KAAK,OAAOE,KAAAA;EACjB,MAAMC,iBAAiBN,UAAyB;GAC9C,IAAIA,MAAMC,QAAQ,YAAY/B,iBAAiB8B,KAAK,GAAG;GACvD,IAAIA,MAAMO,oBAAoBhB,IAAIiB,OAAOC,WAAW,MAAM;GAC1D,MAAMC,kBACJ7B,uBAAuB8B,IAAIX,KAAK,KAChCA,MACGY,aAAa,CAAC,CACdC,MACEC,WACCA,kBAAkB9B,WAClB8B,OAAOC,aAAa,sBAAsB,CAC9C;GACJ,IAAIL,mBAAmBA,oBAAoBlB,KAAKM,OAAO;GACvD,IAAIP,IAAIiB,OAAOQ,SAAS,CAAC,CAACC,UAAU,MAAM;GAC1CjB,MAAMkB,eAAe;GACrB,IAAI;IACF3B,IAAIiB,OAAOW,aAAa;GAC1B,SAASC,OAAO;IACd,IACE,EAAEA,iBAAiBC,UACnBD,MAAME,YAAY,8BAElB,MAAMF;GACV;EACF;EACAjB,IAAIoB,iBAAiB,WAAWjB,aAAa;EAC7C,aAAaH,IAAIqB,oBAAoB,WAAWlB,aAAa;CAC/D,CAAC;CACD,aACElC,EACEJ,YAAUyD,KACV;EACE,GAAGrC;EACHsC,QAAQvC,MAAMuC;EACdC,SAASxC,MAAMwC;EACfC,UAAUzC,MAAMyC;EAChB,wBAAwB;EACxBC,KAAKnC;EACL,GAAGrB,WACD,EAAEyD,WAAW/B,SAAS,GACtB,EAAE+B,WAAW1C,MAAM0C,UAAU,CAC/B;CACF,GACAzC,KACF;AACJ,GACA;CACE0C,MAAM;CACNC,cAAc;CACd7C,OAAO;EAAC;EAAU;EAAW;CAAU;AACzC,CACF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type InjectionKey, type ShallowRef } from "vue";
|
|
2
|
+
export declare const ThreadRootElementContext: InjectionKey<ShallowRef<HTMLElement | null>>;
|
|
3
|
+
export declare const useThreadRootElementRef: () => ShallowRef<HTMLElement | null> | undefined;
|
|
4
|
+
//# sourceMappingURL=ThreadRootElementContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadRootElementContext.d.ts","mappings":"AAEA,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK;AAEhE,eAAO,MAAM,wBAAwB,EAAE,YAAY,CACjD,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,CACG;AACnC,eAAO,MAAM,uBAAuB,kDACS","names":[],"ignoreList":[],"sources":["../../../src/primitives/thread/ThreadRootElementContext.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { inject } from "vue";
|
|
3
|
+
// src/primitives/thread/ThreadRootElementContext.ts
|
|
4
|
+
const ThreadRootElementContext = Symbol("aui.ThreadRootElement");
|
|
5
|
+
const useThreadRootElementRef = () => inject(ThreadRootElementContext, void 0);
|
|
6
|
+
export { ThreadRootElementContext, useThreadRootElementRef };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=ThreadRootElementContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadRootElementContext.js","names":[],"sources":["../../../src/primitives/thread/ThreadRootElementContext.ts"],"sourcesContent":["\"use client\";\n\nimport { inject, type InjectionKey, type ShallowRef } from \"vue\";\n\nexport const ThreadRootElementContext: InjectionKey<\n ShallowRef<HTMLElement | null>\n> = Symbol(\"aui.ThreadRootElement\");\nexport const useThreadRootElementRef = () =>\n inject(ThreadRootElementContext, undefined);\n"],"mappings":";;;AAIA,MAAa,2BAET,OAAO,uBAAuB;AAClC,MAAa,gCACX,OAAO,0BAA0B,KAAA,CAAS"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type ActionButtonElement, type ActionButtonProps } from "../../utils/createActionButton.js";
|
|
2
|
+
export declare namespace useThreadScrollToBottom {
|
|
3
|
+
type Options = {
|
|
4
|
+
behavior?: ScrollBehavior | undefined;
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
declare const useThreadScrollToBottom: (options?: useThreadScrollToBottom.Options) => import("vue").ComputedRef<(() => void) | null>;
|
|
8
|
+
export declare namespace ThreadPrimitiveScrollToBottom {
|
|
9
|
+
type Element = ActionButtonElement;
|
|
10
|
+
type Props = ActionButtonProps<typeof useThreadScrollToBottom>;
|
|
11
|
+
}
|
|
12
|
+
export declare const ThreadPrimitiveScrollToBottom: import("vue").DefineSetupFnComponent<import("vue").ButtonHTMLAttributes & {
|
|
13
|
+
render?: import("vue").VNode | undefined;
|
|
14
|
+
asChild?: boolean | undefined;
|
|
15
|
+
children?: import("vue").VNodeChild;
|
|
16
|
+
} & useThreadScrollToBottom.Options, {}, {}, import("vue").ButtonHTMLAttributes & {
|
|
17
|
+
render?: import("vue").VNode | undefined;
|
|
18
|
+
asChild?: boolean | undefined;
|
|
19
|
+
children?: import("vue").VNodeChild;
|
|
20
|
+
} & useThreadScrollToBottom.Options & {}, import("vue").PublicProps>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=ThreadScrollToBottom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadScrollToBottom.d.ts","mappings":"AAEA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EAEvB,MAAM,mCAAgC;AAOvC,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,OAAO,GAAG;QACpB,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS;KACtC;;AAGH,cAAM,uBAAuB,GAC3B,UAAS,uBAAuB,CAAC,OAAY,mDAa9C;AAED,yBAAiB,6BAA6B,CAAC;IAC7C,KAAY,OAAO,GAAG,mBAAmB;IACzC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,uBAAuB,CAAC;;AAGvE,eAAO,MAAM,6BAA6B;;;;;;;;oEAIzC","names":[],"ignoreList":[],"sources":["../../../src/primitives/thread/ThreadScrollToBottom.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useThreadViewport, useThreadViewportStore } from "../../context/vue/ThreadViewportContext.js";
|
|
3
|
+
import { createActionButton } from "../../utils/createActionButton.js";
|
|
4
|
+
import { computed } from "vue";
|
|
5
|
+
// src/primitives/thread/ThreadScrollToBottom.ts
|
|
6
|
+
const useThreadScrollToBottom = (options = {}) => {
|
|
7
|
+
const isAtBottom = useThreadViewport((s) => s.isAtBottom);
|
|
8
|
+
const threadViewportStore = useThreadViewportStore();
|
|
9
|
+
const handleScrollToBottom = () => {
|
|
10
|
+
threadViewportStore.getState().scrollToBottom({ behavior: options.behavior });
|
|
11
|
+
};
|
|
12
|
+
return computed(() => isAtBottom.value ? null : handleScrollToBottom);
|
|
13
|
+
};
|
|
14
|
+
const ThreadPrimitiveScrollToBottom = createActionButton("ThreadPrimitive.ScrollToBottom", useThreadScrollToBottom, ["behavior"]);
|
|
15
|
+
export { ThreadPrimitiveScrollToBottom };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=ThreadScrollToBottom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadScrollToBottom.js","names":[],"sources":["../../../src/primitives/thread/ThreadScrollToBottom.ts"],"sourcesContent":["\"use client\";\n\nimport {\n type ActionButtonElement,\n type ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { computed } from \"vue\";\nimport {\n useThreadViewport,\n useThreadViewportStore,\n} from \"../../context/vue/ThreadViewportContext\";\n\nexport namespace useThreadScrollToBottom {\n export type Options = {\n behavior?: ScrollBehavior | undefined;\n };\n}\n\nconst useThreadScrollToBottom = (\n options: useThreadScrollToBottom.Options = {},\n) => {\n const isAtBottom = useThreadViewport((s) => s.isAtBottom);\n\n const threadViewportStore = useThreadViewportStore();\n\n const handleScrollToBottom = () => {\n threadViewportStore\n .getState()\n .scrollToBottom({ behavior: options.behavior });\n };\n\n return computed(() => (isAtBottom.value ? null : handleScrollToBottom));\n};\n\nexport namespace ThreadPrimitiveScrollToBottom {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useThreadScrollToBottom>;\n}\n\nexport const ThreadPrimitiveScrollToBottom = createActionButton(\n \"ThreadPrimitive.ScrollToBottom\",\n useThreadScrollToBottom,\n [\"behavior\"],\n);\n"],"mappings":";;;;;AAmBA,MAAM,2BACJ,UAA2C,CAAC,MACzC;CACH,MAAM,aAAa,mBAAmB,MAAM,EAAE,UAAU;CAExD,MAAM,sBAAsB,uBAAuB;CAEnD,MAAM,6BAA6B;EACjC,oBACG,SAAS,CAAC,CACV,eAAe,EAAE,UAAU,QAAQ,SAAS,CAAC;CAClD;CAEA,OAAO,eAAgB,WAAW,QAAQ,OAAO,oBAAqB;AACxE;AAOA,MAAa,gCAAgC,mBAC3C,kCACA,yBACA,CAAC,UAAU,CACb"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { type ActionButtonElement, type ActionButtonProps } from "../../utils/createActionButton.js";
|
|
2
|
+
declare const useThreadSuggestion: (options: {
|
|
3
|
+
/** The suggestion prompt. */
|
|
4
|
+
prompt: string;
|
|
5
|
+
/**
|
|
6
|
+
* When true, automatically sends the message.
|
|
7
|
+
* When false, replaces or appends the composer text with the suggestion - depending on the value of `clearComposer`.
|
|
8
|
+
*/
|
|
9
|
+
send?: boolean | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Whether to clear the composer after sending. A send queued while a run is
|
|
12
|
+
* in progress never clears the composer.
|
|
13
|
+
* When send is set to false, determines if composer text is replaced with suggestion (true, default),
|
|
14
|
+
* or if it's appended to the composer text (false).
|
|
15
|
+
*
|
|
16
|
+
* @default true
|
|
17
|
+
*/
|
|
18
|
+
clearComposer?: boolean | undefined;
|
|
19
|
+
/** @deprecated Use `send` instead. */
|
|
20
|
+
autoSend?: boolean | undefined;
|
|
21
|
+
/** @deprecated Use `clearComposer` instead. */
|
|
22
|
+
method?: "replace";
|
|
23
|
+
}) => import("vue").ComputedRef<(() => void) | null>;
|
|
24
|
+
export declare namespace ThreadPrimitiveSuggestion {
|
|
25
|
+
type Element = ActionButtonElement;
|
|
26
|
+
type Props = ActionButtonProps<typeof useThreadSuggestion>;
|
|
27
|
+
}
|
|
28
|
+
export declare const ThreadPrimitiveSuggestion: import("vue").DefineSetupFnComponent<import("vue").ButtonHTMLAttributes & {
|
|
29
|
+
render?: import("vue").VNode | undefined;
|
|
30
|
+
asChild?: boolean | undefined;
|
|
31
|
+
children?: import("vue").VNodeChild;
|
|
32
|
+
} & {
|
|
33
|
+
/** The suggestion prompt. */
|
|
34
|
+
prompt: string;
|
|
35
|
+
/**
|
|
36
|
+
* When true, automatically sends the message.
|
|
37
|
+
* When false, replaces or appends the composer text with the suggestion - depending on the value of `clearComposer`.
|
|
38
|
+
*/
|
|
39
|
+
send?: boolean | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Whether to clear the composer after sending. A send queued while a run is
|
|
42
|
+
* in progress never clears the composer.
|
|
43
|
+
* When send is set to false, determines if composer text is replaced with suggestion (true, default),
|
|
44
|
+
* or if it's appended to the composer text (false).
|
|
45
|
+
*
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
clearComposer?: boolean | undefined;
|
|
49
|
+
/** @deprecated Use `send` instead. */
|
|
50
|
+
autoSend?: boolean | undefined;
|
|
51
|
+
/** @deprecated Use `clearComposer` instead. */
|
|
52
|
+
method?: "replace";
|
|
53
|
+
}, {}, {}, import("vue").ButtonHTMLAttributes & {
|
|
54
|
+
render?: import("vue").VNode | undefined;
|
|
55
|
+
asChild?: boolean | undefined;
|
|
56
|
+
children?: import("vue").VNodeChild;
|
|
57
|
+
} & {
|
|
58
|
+
/** The suggestion prompt. */
|
|
59
|
+
prompt: string;
|
|
60
|
+
/**
|
|
61
|
+
* When true, automatically sends the message.
|
|
62
|
+
* When false, replaces or appends the composer text with the suggestion - depending on the value of `clearComposer`.
|
|
63
|
+
*/
|
|
64
|
+
send?: boolean | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Whether to clear the composer after sending. A send queued while a run is
|
|
67
|
+
* in progress never clears the composer.
|
|
68
|
+
* When send is set to false, determines if composer text is replaced with suggestion (true, default),
|
|
69
|
+
* or if it's appended to the composer text (false).
|
|
70
|
+
*
|
|
71
|
+
* @default true
|
|
72
|
+
*/
|
|
73
|
+
clearComposer?: boolean | undefined;
|
|
74
|
+
/** @deprecated Use `send` instead. */
|
|
75
|
+
autoSend?: boolean | undefined;
|
|
76
|
+
/** @deprecated Use `clearComposer` instead. */
|
|
77
|
+
method?: "replace";
|
|
78
|
+
} & {}, import("vue").PublicProps>;
|
|
79
|
+
export {};
|
|
80
|
+
//# sourceMappingURL=ThreadSuggestion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadSuggestion.d.ts","mappings":"AAIA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EAEvB,MAAM,mCAAgC;AAGvC,cAAM,mBAAmB,GAAI,SAAS;IACpC;IACA,MAAM,EAAE,MAAM;IAEd;;;;IAIA,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS;IAE1B;;;;;;;;IAQA,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS;IAEnC;IACA,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS;IAE9B;IACA,MAAM,CAAC,EAAE,SAAS;CACnB,mDAOA;AAED,yBAAiB,yBAAyB,CAAC;IACzC,KAAY,OAAO,GAAG,mBAAmB;IACzC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,mBAAmB,CAAC;;AAGnE,eAAO,MAAM,yBAAyB;;;;;IAtCpC;YACQ,MAAM;IAEd;;;;WAIO,OAAO,GAAG,SAAS;IAE1B;;;;;;;;oBAQgB,OAAO,GAAG,SAAS;IAEnC;eACW,OAAO,GAAG,SAAS;IAE9B;aACS,SAAS;;;;;;IAvBlB;YACQ,MAAM;IAEd;;;;WAIO,OAAO,GAAG,SAAS;IAE1B;;;;;;;;oBAQgB,OAAO,GAAG,SAAS;IAEnC;eACW,OAAO,GAAG,SAAS;IAE9B;aACS,SAAS;kCAmBnB","names":[],"ignoreList":[],"sources":["../../../src/primitives/thread/ThreadSuggestion.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createActionButton } from "../../utils/createActionButton.js";
|
|
3
|
+
import { useSuggestionTrigger } from "@ulearning/ai-core/vue";
|
|
4
|
+
import { computed } from "vue";
|
|
5
|
+
// src/primitives/thread/ThreadSuggestion.ts
|
|
6
|
+
const useThreadSuggestion = (options) => {
|
|
7
|
+
const { disabled, trigger } = useSuggestionTrigger(() => ({
|
|
8
|
+
prompt: options.prompt,
|
|
9
|
+
send: options.send ?? options.autoSend ?? false,
|
|
10
|
+
clearComposer: options.clearComposer
|
|
11
|
+
}));
|
|
12
|
+
return computed(() => disabled.value ? null : trigger);
|
|
13
|
+
};
|
|
14
|
+
const ThreadPrimitiveSuggestion = createActionButton("ThreadPrimitive.Suggestion", useThreadSuggestion, [
|
|
15
|
+
"prompt",
|
|
16
|
+
"send",
|
|
17
|
+
"clearComposer",
|
|
18
|
+
"autoSend",
|
|
19
|
+
"method"
|
|
20
|
+
]);
|
|
21
|
+
export { ThreadPrimitiveSuggestion };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=ThreadSuggestion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadSuggestion.js","names":["useSuggestionTriggerBehavior"],"sources":["../../../src/primitives/thread/ThreadSuggestion.ts"],"sourcesContent":["\"use client\";\n\nimport { computed } from \"vue\";\n\nimport {\n type ActionButtonElement,\n type ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useSuggestionTrigger as useSuggestionTriggerBehavior } from \"@ulearning/ai-core/vue\";\n\nconst useThreadSuggestion = (options: {\n /** The suggestion prompt. */\n prompt: string;\n\n /**\n * When true, automatically sends the message.\n * When false, replaces or appends the composer text with the suggestion - depending on the value of `clearComposer`.\n */\n send?: boolean | undefined;\n\n /**\n * Whether to clear the composer after sending. A send queued while a run is\n * in progress never clears the composer.\n * When send is set to false, determines if composer text is replaced with suggestion (true, default),\n * or if it's appended to the composer text (false).\n *\n * @default true\n */\n clearComposer?: boolean | undefined;\n\n /** @deprecated Use `send` instead. */\n autoSend?: boolean | undefined;\n\n /** @deprecated Use `clearComposer` instead. */\n method?: \"replace\";\n}) => {\n const { disabled, trigger } = useSuggestionTriggerBehavior(() => ({\n prompt: options.prompt,\n send: options.send ?? options.autoSend ?? false,\n clearComposer: options.clearComposer,\n }));\n return computed(() => (disabled.value ? null : trigger));\n};\n\nexport namespace ThreadPrimitiveSuggestion {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useThreadSuggestion>;\n}\n\nexport const ThreadPrimitiveSuggestion = createActionButton(\n \"ThreadPrimitive.Suggestion\",\n useThreadSuggestion,\n [\"prompt\", \"send\", \"clearComposer\", \"autoSend\", \"method\"],\n);\n"],"mappings":";;;;;AAWA,MAAM,uBAAuB,YAyBvB;CACJ,MAAM,EAAE,UAAU,YAAYA,4BAAoC;EAChE,QAAQ,QAAQ;EAChB,MAAM,QAAQ,QAAQ,QAAQ,YAAY;EAC1C,eAAe,QAAQ;CACzB,EAAE;CACF,OAAO,eAAgB,SAAS,QAAQ,OAAO,OAAQ;AACzD;AAOA,MAAa,4BAA4B,mBACvC,8BACA,qBACA;CAAC;CAAU;CAAQ;CAAiB;CAAY;AAAQ,CAC1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadSuggestions.d.ts","mappings":"AAEA,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,wBAAwB","names":[],"ignoreList":[],"sources":["../../../src/primitives/thread/ThreadSuggestions.tsx"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { type ComponentPublicInstance } from "vue";
|
|
2
|
+
import { type PrimitiveProps } from "../../utils/Primitive.js";
|
|
3
|
+
export declare namespace ThreadPrimitiveViewport {
|
|
4
|
+
type Element = ComponentPublicInstance;
|
|
5
|
+
type Props = PrimitiveProps<"div"> & {
|
|
6
|
+
/**
|
|
7
|
+
* Whether to automatically scroll to the bottom when new messages are added.
|
|
8
|
+
* When enabled, the viewport will automatically scroll to show the latest content.
|
|
9
|
+
*
|
|
10
|
+
* Default false if `turnAnchor` is "top", otherwise defaults to true.
|
|
11
|
+
*/
|
|
12
|
+
autoScroll?: boolean | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Controls scroll anchoring behavior for new messages.
|
|
15
|
+
* - "bottom" (default): Messages anchor at the bottom, classic chat behavior.
|
|
16
|
+
* - "top": New user messages anchor at the top of the viewport for a focused reading experience.
|
|
17
|
+
*/
|
|
18
|
+
turnAnchor?: "top" | "bottom" | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Clamps tall user messages so the assistant response stays in view.
|
|
21
|
+
*
|
|
22
|
+
* @default { tallerThan: "10em", visibleHeight: "6em" }
|
|
23
|
+
*/
|
|
24
|
+
topAnchorMessageClamp?: {
|
|
25
|
+
/**
|
|
26
|
+
* Clamp messages taller than this. Supports `px`, `em`, and `rem`.
|
|
27
|
+
*
|
|
28
|
+
* @default "10em"
|
|
29
|
+
*/
|
|
30
|
+
tallerThan?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Visible portion of clamped messages. Supports `px`, `em`, and `rem`.
|
|
33
|
+
*
|
|
34
|
+
* @default "6em"
|
|
35
|
+
*/
|
|
36
|
+
visibleHeight?: string;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Whether to scroll to bottom when a new run starts.
|
|
40
|
+
*
|
|
41
|
+
* Defaults to true.
|
|
42
|
+
*/
|
|
43
|
+
scrollToBottomOnRunStart?: boolean | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Whether to scroll to bottom when thread history is first loaded.
|
|
46
|
+
*
|
|
47
|
+
* Defaults to true.
|
|
48
|
+
*/
|
|
49
|
+
scrollToBottomOnInitialize?: boolean | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Whether to scroll to bottom when switching to a different thread.
|
|
52
|
+
*
|
|
53
|
+
* Defaults to true.
|
|
54
|
+
*/
|
|
55
|
+
scrollToBottomOnThreadSwitch?: boolean | undefined;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/** A scrollable thread viewport with bottom or top turn anchoring. */
|
|
59
|
+
export declare const ThreadPrimitiveViewport: import("vue").DefineSetupFnComponent<ThreadPrimitiveViewport.Props, {}, {}, import("vue").HTMLAttributes & {
|
|
60
|
+
render?: import("vue").VNode | undefined;
|
|
61
|
+
asChild?: boolean | undefined;
|
|
62
|
+
children?: import("vue").VNodeChild;
|
|
63
|
+
} & {
|
|
64
|
+
/**
|
|
65
|
+
* Whether to automatically scroll to the bottom when new messages are added.
|
|
66
|
+
* When enabled, the viewport will automatically scroll to show the latest content.
|
|
67
|
+
*
|
|
68
|
+
* Default false if `turnAnchor` is "top", otherwise defaults to true.
|
|
69
|
+
*/
|
|
70
|
+
autoScroll?: boolean | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Controls scroll anchoring behavior for new messages.
|
|
73
|
+
* - "bottom" (default): Messages anchor at the bottom, classic chat behavior.
|
|
74
|
+
* - "top": New user messages anchor at the top of the viewport for a focused reading experience.
|
|
75
|
+
*/
|
|
76
|
+
turnAnchor?: "top" | "bottom" | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Clamps tall user messages so the assistant response stays in view.
|
|
79
|
+
*
|
|
80
|
+
* @default { tallerThan: "10em", visibleHeight: "6em" }
|
|
81
|
+
*/
|
|
82
|
+
topAnchorMessageClamp?: {
|
|
83
|
+
/**
|
|
84
|
+
* Clamp messages taller than this. Supports `px`, `em`, and `rem`.
|
|
85
|
+
*
|
|
86
|
+
* @default "10em"
|
|
87
|
+
*/
|
|
88
|
+
tallerThan?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Visible portion of clamped messages. Supports `px`, `em`, and `rem`.
|
|
91
|
+
*
|
|
92
|
+
* @default "6em"
|
|
93
|
+
*/
|
|
94
|
+
visibleHeight?: string;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Whether to scroll to bottom when a new run starts.
|
|
98
|
+
*
|
|
99
|
+
* Defaults to true.
|
|
100
|
+
*/
|
|
101
|
+
scrollToBottomOnRunStart?: boolean | undefined;
|
|
102
|
+
/**
|
|
103
|
+
* Whether to scroll to bottom when thread history is first loaded.
|
|
104
|
+
*
|
|
105
|
+
* Defaults to true.
|
|
106
|
+
*/
|
|
107
|
+
scrollToBottomOnInitialize?: boolean | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* Whether to scroll to bottom when switching to a different thread.
|
|
110
|
+
*
|
|
111
|
+
* Defaults to true.
|
|
112
|
+
*/
|
|
113
|
+
scrollToBottomOnThreadSwitch?: boolean | undefined;
|
|
114
|
+
} & {}, import("vue").PublicProps>;
|
|
115
|
+
//# sourceMappingURL=ThreadViewport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadViewport.d.ts","mappings":"AAEA,OAAO,EAIL,KAAK,uBAAuB,EAG7B,MAAM,KAAK;AAEZ,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,0BAAuB;AAiBtE,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,OAAO,GAAG,uBAAuB;IAC7C,KAAY,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;QAC1C;;;;;;QAMA,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS;QAEhC;;;;;QAKA,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS;QAEzC;;;;;QAKA,qBAAqB,CAAC,EAAE;YACtB;;;;;YAKA,UAAU,CAAC,EAAE,MAAM;YACnB;;;;;YAKA,aAAa,CAAC,EAAE,MAAM;SACvB;QAED;;;;;QAKA,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS;QAE9C;;;;;QAKA,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS;QAEhD;;;;;QAKA,4BAA4B,CAAC,EAAE,OAAO,GAAG,SAAS;KACnD;;AAwGH;AACA,eAAO,MAAM,uBAAuB;;;;;IAhKhC;;;;;;iBAMa,OAAO,GAAG,SAAS;IAEhC;;;;;iBAKa,KAAK,GAAG,QAAQ,GAAG,SAAS;IAEzC;;;;;4BAKwB;QACtB;;;;;QAKA,UAAU,CAAC,EAAE,MAAM;QACnB;;;;;QAKA,aAAa,CAAC,EAAE,MAAM;KACvB;IAED;;;;;+BAK2B,OAAO,GAAG,SAAS;IAE9C;;;;;iCAK6B,OAAO,GAAG,SAAS;IAEhD;;;;;mCAK+B,OAAO,GAAG,SAAS;kCAqIrD","names":[],"ignoreList":[],"sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useThreadViewport, useThreadViewportStore } from "../../context/vue/ThreadViewportContext.js";
|
|
3
|
+
import { ThreadPrimitiveViewportProvider } from "../../context/providers/ThreadViewportProvider.js";
|
|
4
|
+
import { Primitive as Primitive$1 } from "../../utils/Primitive.js";
|
|
5
|
+
import { useManagedRef } from "../../utils/hooks/useManagedRef.js";
|
|
6
|
+
import { useThreadViewportAutoScroll } from "./useThreadViewportAutoScroll.js";
|
|
7
|
+
import { useSizeHandle } from "../../utils/hooks/useSizeHandle.js";
|
|
8
|
+
import { useTopAnchorReserve } from "./topAnchor/useTopAnchorReserve.js";
|
|
9
|
+
import { getActiveTopAnchorAnchorId, getActiveTopAnchorTargetId, isTopAnchorTurnValid } from "./topAnchor/topAnchorTurn.js";
|
|
10
|
+
import { computed, defineComponent, h, toValue } from "vue";
|
|
11
|
+
import { useAuiState } from "@ulearning/ai-store";
|
|
12
|
+
import { useIsomorphicLayoutEffect } from "@ulearning/ai-store/internal";
|
|
13
|
+
import { useForwardExpose } from "reka-ui";
|
|
14
|
+
// src/primitives/thread/ThreadViewport.tsx
|
|
15
|
+
const useTopAnchorTurn = (enabled) => {
|
|
16
|
+
const threadViewportStore = useThreadViewportStore();
|
|
17
|
+
const activeAnchorId = useAuiState((s) => toValue(enabled) ? getActiveTopAnchorAnchorId(s.thread) : void 0);
|
|
18
|
+
const activeTargetId = useAuiState((s) => toValue(enabled) ? getActiveTopAnchorTargetId(s.thread) : void 0);
|
|
19
|
+
const topAnchorTurn = useThreadViewport((s) => s.topAnchorTurn);
|
|
20
|
+
const activeTurn = computed(() => activeAnchorId.value && activeTargetId.value ? {
|
|
21
|
+
anchorId: activeAnchorId.value,
|
|
22
|
+
targetId: activeTargetId.value
|
|
23
|
+
} : null);
|
|
24
|
+
const topAnchorTurnIsValid = useAuiState((s) => toValue(enabled) && !!topAnchorTurn.value && isTopAnchorTurnValid(topAnchorTurn.value, s.thread.messages));
|
|
25
|
+
useIsomorphicLayoutEffect(() => {
|
|
26
|
+
if (!topAnchorTurn.value || topAnchorTurnIsValid.value) return;
|
|
27
|
+
threadViewportStore.getState().setTopAnchorTurn(null);
|
|
28
|
+
}, () => [topAnchorTurn.value, topAnchorTurnIsValid.value]);
|
|
29
|
+
useIsomorphicLayoutEffect(() => {
|
|
30
|
+
if (!activeTurn.value) return;
|
|
31
|
+
const state = threadViewportStore.getState();
|
|
32
|
+
const current = state.topAnchorTurn;
|
|
33
|
+
if (current?.anchorId === activeTurn.value.anchorId && current.targetId === activeTurn.value.targetId) return;
|
|
34
|
+
state.setTopAnchorTurn(activeTurn.value);
|
|
35
|
+
}, () => [activeTurn.value]);
|
|
36
|
+
};
|
|
37
|
+
const viewportProps = [
|
|
38
|
+
"render",
|
|
39
|
+
"asChild",
|
|
40
|
+
"children",
|
|
41
|
+
"autoScroll",
|
|
42
|
+
"scrollToBottomOnRunStart",
|
|
43
|
+
"scrollToBottomOnInitialize",
|
|
44
|
+
"scrollToBottomOnThreadSwitch",
|
|
45
|
+
"turnAnchor",
|
|
46
|
+
"topAnchorMessageClamp"
|
|
47
|
+
];
|
|
48
|
+
const ThreadPrimitiveViewportScrollable = defineComponent((props, { attrs, slots }) => {
|
|
49
|
+
const { forwardRef } = useForwardExpose();
|
|
50
|
+
const autoScrollRef = useThreadViewportAutoScroll(() => props);
|
|
51
|
+
const registerSize = useThreadViewport((s) => s.registerViewport);
|
|
52
|
+
const viewportSizeRef = useSizeHandle(registerSize, (element) => element.clientHeight);
|
|
53
|
+
const registerElement = useThreadViewport((s) => s.registerViewportElement);
|
|
54
|
+
const viewportElementRef = useManagedRef((element) => registerElement.value(element));
|
|
55
|
+
const topAnchorEnabled = useThreadViewportStore().getState().turnAnchor === "top";
|
|
56
|
+
useTopAnchorTurn(topAnchorEnabled);
|
|
57
|
+
useTopAnchorReserve(topAnchorEnabled);
|
|
58
|
+
const setElement = (instance) => {
|
|
59
|
+
forwardRef(instance);
|
|
60
|
+
const candidate = instance instanceof Element ? instance : instance?.$el;
|
|
61
|
+
const element = candidate instanceof HTMLElement ? candidate : null;
|
|
62
|
+
autoScrollRef(element);
|
|
63
|
+
viewportSizeRef(element);
|
|
64
|
+
viewportElementRef(element);
|
|
65
|
+
};
|
|
66
|
+
return () => h(Primitive$1.div, {
|
|
67
|
+
...attrs,
|
|
68
|
+
render: props.render,
|
|
69
|
+
asChild: props.asChild,
|
|
70
|
+
children: props.children,
|
|
71
|
+
ref: setElement
|
|
72
|
+
}, slots);
|
|
73
|
+
}, {
|
|
74
|
+
name: "ThreadPrimitive.ViewportScrollable",
|
|
75
|
+
inheritAttrs: false,
|
|
76
|
+
props: [...viewportProps]
|
|
77
|
+
});
|
|
78
|
+
/** A scrollable thread viewport with bottom or top turn anchoring. */
|
|
79
|
+
const ThreadPrimitiveViewport = defineComponent((props, { attrs, slots }) => {
|
|
80
|
+
const { forwardRef } = useForwardExpose();
|
|
81
|
+
return () => h(ThreadPrimitiveViewportProvider, { options: {
|
|
82
|
+
turnAnchor: props.turnAnchor,
|
|
83
|
+
topAnchorMessageClamp: props.topAnchorMessageClamp
|
|
84
|
+
} }, { default: () => h(ThreadPrimitiveViewportScrollable, {
|
|
85
|
+
...attrs,
|
|
86
|
+
...props,
|
|
87
|
+
ref: forwardRef
|
|
88
|
+
}, slots) });
|
|
89
|
+
}, {
|
|
90
|
+
name: "ThreadPrimitive.Viewport",
|
|
91
|
+
inheritAttrs: false,
|
|
92
|
+
props: [...viewportProps]
|
|
93
|
+
});
|
|
94
|
+
export { ThreadPrimitiveViewport };
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=ThreadViewport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadViewport.js","names":["computed","defineComponent","h","ComponentPublicInstance","MaybeRefOrGetter","toValue","useForwardExpose","Primitive","PrimitiveProps","useAuiState","useIsomorphicLayoutEffect","useManagedRef","useThreadViewportAutoScroll","ThreadPrimitiveViewportProvider","useSizeHandle","useThreadViewport","useThreadViewportStore","useTopAnchorReserve","getActiveTopAnchorAnchorId","getActiveTopAnchorTargetId","isTopAnchorTurnValid","ThreadPrimitiveViewport","Element","Props","autoScroll","turnAnchor","topAnchorMessageClamp","tallerThan","visibleHeight","scrollToBottomOnRunStart","scrollToBottomOnInitialize","scrollToBottomOnThreadSwitch","useTopAnchorTurn","enabled","threadViewportStore","activeAnchorId","s","thread","undefined","activeTargetId","topAnchorTurn","activeTurn","value","anchorId","targetId","topAnchorTurnIsValid","messages","getState","setTopAnchorTurn","state","current","viewportProps","const","ThreadPrimitiveViewportScrollable","props","attrs","slots","forwardRef","autoScrollRef","HTMLElement","registerSize","registerViewport","viewportSizeRef","element","clientHeight","registerElement","registerViewportElement","viewportElementRef","topAnchorEnabled","setElement","instance","candidate","$el","div","render","asChild","children","ref","name","inheritAttrs","options","default","Primitive"],"sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n computed,\n defineComponent,\n h,\n type ComponentPublicInstance,\n type MaybeRefOrGetter,\n toValue,\n} from \"vue\";\nimport { useForwardExpose } from \"reka-ui\";\nimport { Primitive, type PrimitiveProps } from \"../../utils/Primitive\";\nimport { useAuiState } from \"@ulearning/ai-store\";\nimport { useIsomorphicLayoutEffect } from \"@ulearning/ai-store/internal\";\nimport { useManagedRef } from \"../../utils/hooks/useManagedRef\";\nimport { useThreadViewportAutoScroll } from \"./useThreadViewportAutoScroll\";\nimport { ThreadPrimitiveViewportProvider } from \"../../context/providers/ThreadViewportProvider\";\nimport { useSizeHandle } from \"../../utils/hooks/useSizeHandle\";\nimport {\n useThreadViewport,\n useThreadViewportStore,\n} from \"../../context/vue/ThreadViewportContext\";\nimport { useTopAnchorReserve } from \"./topAnchor/useTopAnchorReserve\";\nimport {\n getActiveTopAnchorAnchorId,\n getActiveTopAnchorTargetId,\n isTopAnchorTurnValid,\n} from \"./topAnchor/topAnchorTurn\";\nexport namespace ThreadPrimitiveViewport {\n export type Element = ComponentPublicInstance;\n export type Props = PrimitiveProps<\"div\"> & {\n /**\n * Whether to automatically scroll to the bottom when new messages are added.\n * When enabled, the viewport will automatically scroll to show the latest content.\n *\n * Default false if `turnAnchor` is \"top\", otherwise defaults to true.\n */\n autoScroll?: boolean | undefined;\n\n /**\n * Controls scroll anchoring behavior for new messages.\n * - \"bottom\" (default): Messages anchor at the bottom, classic chat behavior.\n * - \"top\": New user messages anchor at the top of the viewport for a focused reading experience.\n */\n turnAnchor?: \"top\" | \"bottom\" | undefined;\n\n /**\n * Clamps tall user messages so the assistant response stays in view.\n *\n * @default { tallerThan: \"10em\", visibleHeight: \"6em\" }\n */\n topAnchorMessageClamp?: {\n /**\n * Clamp messages taller than this. Supports `px`, `em`, and `rem`.\n *\n * @default \"10em\"\n */\n tallerThan?: string;\n /**\n * Visible portion of clamped messages. Supports `px`, `em`, and `rem`.\n *\n * @default \"6em\"\n */\n visibleHeight?: string;\n };\n\n /**\n * Whether to scroll to bottom when a new run starts.\n *\n * Defaults to true.\n */\n scrollToBottomOnRunStart?: boolean | undefined;\n\n /**\n * Whether to scroll to bottom when thread history is first loaded.\n *\n * Defaults to true.\n */\n scrollToBottomOnInitialize?: boolean | undefined;\n\n /**\n * Whether to scroll to bottom when switching to a different thread.\n *\n * Defaults to true.\n */\n scrollToBottomOnThreadSwitch?: boolean | undefined;\n };\n}\n\nconst useTopAnchorTurn = (enabled: MaybeRefOrGetter<boolean>) => {\n const threadViewportStore = useThreadViewportStore();\n const activeAnchorId = useAuiState((s) =>\n toValue(enabled) ? getActiveTopAnchorAnchorId(s.thread) : undefined,\n );\n const activeTargetId = useAuiState((s) =>\n toValue(enabled) ? getActiveTopAnchorTargetId(s.thread) : undefined,\n );\n const topAnchorTurn = useThreadViewport((s) => s.topAnchorTurn);\n const activeTurn = computed(() =>\n activeAnchorId.value && activeTargetId.value\n ? { anchorId: activeAnchorId.value, targetId: activeTargetId.value }\n : null,\n );\n const topAnchorTurnIsValid = useAuiState(\n (s) =>\n toValue(enabled) &&\n !!topAnchorTurn.value &&\n isTopAnchorTurnValid(topAnchorTurn.value, s.thread.messages),\n );\n\n useIsomorphicLayoutEffect(\n () => {\n if (!topAnchorTurn.value || topAnchorTurnIsValid.value) return;\n threadViewportStore.getState().setTopAnchorTurn(null);\n },\n () => [topAnchorTurn.value, topAnchorTurnIsValid.value],\n );\n useIsomorphicLayoutEffect(\n () => {\n if (!activeTurn.value) return;\n const state = threadViewportStore.getState();\n const current = state.topAnchorTurn;\n if (\n current?.anchorId === activeTurn.value.anchorId &&\n current.targetId === activeTurn.value.targetId\n )\n return;\n state.setTopAnchorTurn(activeTurn.value);\n },\n () => [activeTurn.value],\n );\n};\n\nconst viewportProps = [\n \"render\",\n \"asChild\",\n \"children\",\n \"autoScroll\",\n \"scrollToBottomOnRunStart\",\n \"scrollToBottomOnInitialize\",\n \"scrollToBottomOnThreadSwitch\",\n \"turnAnchor\",\n \"topAnchorMessageClamp\",\n] as const;\nconst ThreadPrimitiveViewportScrollable = defineComponent(\n (props: ThreadPrimitiveViewport.Props, { attrs, slots }) => {\n const { forwardRef } = useForwardExpose();\n const autoScrollRef = useThreadViewportAutoScroll<HTMLElement>(() => props);\n const registerSize = useThreadViewport((s) => s.registerViewport);\n const viewportSizeRef = useSizeHandle(\n registerSize,\n (element) => element.clientHeight,\n );\n const registerElement = useThreadViewport((s) => s.registerViewportElement);\n const viewportElementRef = useManagedRef<HTMLElement>((element) =>\n registerElement.value(element),\n );\n const threadViewportStore = useThreadViewportStore();\n const topAnchorEnabled =\n threadViewportStore.getState().turnAnchor === \"top\";\n useTopAnchorTurn(topAnchorEnabled);\n useTopAnchorReserve(topAnchorEnabled);\n const setElement = (instance: Element | ComponentPublicInstance | null) => {\n forwardRef(instance);\n const candidate = instance instanceof Element ? instance : instance?.$el;\n const element = candidate instanceof HTMLElement ? candidate : null;\n autoScrollRef(element);\n viewportSizeRef(element);\n viewportElementRef(element);\n };\n return () =>\n h(\n Primitive.div,\n {\n ...attrs,\n render: props.render,\n asChild: props.asChild,\n children: props.children,\n ref: setElement,\n },\n slots,\n );\n },\n {\n name: \"ThreadPrimitive.ViewportScrollable\",\n inheritAttrs: false,\n props: [...viewportProps],\n },\n);\n\n/** A scrollable thread viewport with bottom or top turn anchoring. */\nexport const ThreadPrimitiveViewport = defineComponent(\n (props: ThreadPrimitiveViewport.Props, { attrs, slots }) => {\n const { forwardRef } = useForwardExpose();\n return () =>\n h(\n ThreadPrimitiveViewportProvider,\n {\n options: {\n turnAnchor: props.turnAnchor,\n topAnchorMessageClamp: props.topAnchorMessageClamp,\n },\n },\n {\n default: () =>\n h(\n ThreadPrimitiveViewportScrollable,\n { ...attrs, ...props, ref: forwardRef },\n slots,\n ),\n },\n );\n },\n {\n name: \"ThreadPrimitive.Viewport\",\n inheritAttrs: false,\n props: [...viewportProps],\n },\n);\n"],"mappings":";;;;;;;;;;;;;;AAyFA,MAAMgC,oBAAoBC,YAAuC;CAC/D,MAAMC,sBAAsBlB,uBAAuB;CACnD,MAAMmB,iBAAiB1B,aAAa2B,MAClC/B,QAAQ4B,OAAO,IAAIf,2BAA2BkB,EAAEC,MAAM,IAAIC,KAAAA,CAC5D;CACA,MAAMC,iBAAiB9B,aAAa2B,MAClC/B,QAAQ4B,OAAO,IAAId,2BAA2BiB,EAAEC,MAAM,IAAIC,KAAAA,CAC5D;CACA,MAAME,gBAAgBzB,mBAAmBqB,MAAMA,EAAEI,aAAa;CAC9D,MAAMC,aAAazC,eACjBmC,eAAeO,SAASH,eAAeG,QACnC;EAAEC,UAAUR,eAAeO;EAAOE,UAAUL,eAAeG;CAAM,IACjE,IACN;CACA,MAAMG,uBAAuBpC,aAC1B2B,MACC/B,QAAQ4B,OAAO,KACf,CAAC,CAACO,cAAcE,SAChBtB,qBAAqBoB,cAAcE,OAAON,EAAEC,OAAOS,QAAQ,CAC/D;CAEApC,gCACQ;EACJ,IAAI,CAAC8B,cAAcE,SAASG,qBAAqBH,OAAO;EACxDR,oBAAoBa,SAAS,CAAC,CAACC,iBAAiB,IAAI;CACtD,SACM,CAACR,cAAcE,OAAOG,qBAAqBH,KAAK,CACxD;CACAhC,gCACQ;EACJ,IAAI,CAAC+B,WAAWC,OAAO;EACvB,MAAMO,QAAQf,oBAAoBa,SAAS;EAC3C,MAAMG,UAAUD,MAAMT;EACtB,IACEU,SAASP,aAAaF,WAAWC,MAAMC,YACvCO,QAAQN,aAAaH,WAAWC,MAAME,UAEtC;EACFK,MAAMD,iBAAiBP,WAAWC,KAAK;CACzC,SACM,CAACD,WAAWC,KAAK,CACzB;AACF;AAEA,MAAMS,gBAAgB;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAAuB;AAEzB,MAAME,oCAAoCpD,iBACvCqD,OAAsC,EAAEC,OAAOC,YAAY;CAC1D,MAAM,EAAEC,eAAenD,iBAAiB;CACxC,MAAMoD,gBAAgB9C,kCAA+C0C,KAAK;CAC1E,MAAMM,eAAe7C,mBAAmBqB,MAAMA,EAAEyB,gBAAgB;CAChE,MAAMC,kBAAkBhD,cACtB8C,eACCG,YAAYA,QAAQC,YACvB;CACA,MAAMC,kBAAkBlD,mBAAmBqB,MAAMA,EAAE8B,uBAAuB;CAC1E,MAAMC,qBAAqBxD,eAA4BoD,YACrDE,gBAAgBvB,MAAMqB,OAAO,CAC/B;CAEA,MAAMK,mBADsBpD,uBAE1BkB,CAAmB,CAACa,SAAS,CAAC,CAACtB,eAAe;CAChDO,iBAAiBoC,gBAAgB;CACjCnD,oBAAoBmD,gBAAgB;CACpC,MAAMC,cAAcC,aAAuD;EACzEb,WAAWa,QAAQ;EACnB,MAAMC,YAAYD,oBAAoBhD,UAAUgD,WAAWA,UAAUE;EACrE,MAAMT,UAAUQ,qBAAqBZ,cAAcY,YAAY;EAC/Db,cAAcK,OAAO;EACrBD,gBAAgBC,OAAO;EACvBI,mBAAmBJ,OAAO;CAC5B;CACA,aACE7D,EACEK,YAAUkE,KACV;EACE,GAAGlB;EACHmB,QAAQpB,MAAMoB;EACdC,SAASrB,MAAMqB;EACfC,UAAUtB,MAAMsB;EAChBC,KAAKR;CACP,GACAb,KACF;AACJ,GACA;CACEsB,MAAM;CACNC,cAAc;CACdzB,OAAO,CAAC,GAAGH,aAAa;AAC1B,CACF;;AAGA,MAAa9B,0BAA0BpB,iBACpCqD,OAAsC,EAAEC,OAAOC,YAAY;CAC1D,MAAM,EAAEC,eAAenD,iBAAiB;CACxC,aACEJ,EACEW,iCACA,EACEmE,SAAS;EACPvD,YAAY6B,MAAM7B;EAClBC,uBAAuB4B,MAAM5B;CAC/B,EACF,GACA,EACEuD,eACE/E,EACEmD,mCACA;EAAE,GAAGE;EAAO,GAAGD;EAAOuB,KAAKpB;CAAW,GACtCD,KACF,EACJ,CACF;AACJ,GACA;CACEsB,MAAM;CACNC,cAAc;CACdzB,OAAO,CAAC,GAAGH,aAAa;AAC1B,CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ComponentPublicInstance } from "vue";
|
|
2
|
+
import { type PrimitiveProps } from "../../utils/Primitive.js";
|
|
3
|
+
export declare namespace ThreadPrimitiveViewportFooter {
|
|
4
|
+
type Element = ComponentPublicInstance;
|
|
5
|
+
type Props = PrimitiveProps<"div">;
|
|
6
|
+
}
|
|
7
|
+
/** Measures its height and margin; multiple footer insets are summed. */
|
|
8
|
+
export declare const ThreadPrimitiveViewportFooter: import("vue").DefineSetupFnComponent<ThreadPrimitiveViewportFooter.Props, {}, {}, import("vue").HTMLAttributes & {
|
|
9
|
+
render?: import("vue").VNode | undefined;
|
|
10
|
+
asChild?: boolean | undefined;
|
|
11
|
+
children?: import("vue").VNodeChild;
|
|
12
|
+
} & {}, import("vue").PublicProps>;
|
|
13
|
+
//# sourceMappingURL=ThreadViewportFooter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadViewportFooter.d.ts","mappings":"AAEA,OAAO,EAAsB,KAAK,uBAAuB,EAAE,MAAM,KAAK;AAEtE,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,0BAAuB;AAItE,yBAAiB,6BAA6B,CAAC;IAC7C,KAAY,OAAO,GAAG,uBAAuB;IAC7C,KAAY,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;;AAG3C;AACA,eAAO,MAAM,6BAA6B;;;;kCA+BzC","names":[],"ignoreList":[],"sources":["../../../src/primitives/thread/ThreadViewportFooter.tsx"],"sourcesContent":[null]}
|