@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
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 AgentbaseAI Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @ulearning/ai-sdk
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Vue Web chat runtime bindings and primitives. This is the main SDK package; it reuses the shared core, store and tap packages. Vue 3.5.22 or newer is required.
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
npm install @ulearning/ai-sdk @ulearning/ai-sdk-adapter ai @ai-sdk/vue vue
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Import Vue runtime primitives from `@ulearning/ai-sdk` and `useChatRuntime` from `@ulearning/ai-sdk-adapter`. Call composables in Vue setup and pass changing inputs through the supported refs/getters. The consuming application supplies its AI SDK transport and persistence adapters. No backend service is included.
|
|
10
|
+
|
|
11
|
+
Migration acceptance remains incomplete. The official AI SDK dependency graph currently has strict declaration errors; see the repository's `reports/vue3/REVISED-EXECUTION.md` before treating this branch as release ready.
|
|
12
|
+
|
|
13
|
+
Elements remains a private source component kit in this repository and is not included in this npm package.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __exportAll = (all, no_symbols) => {
|
|
4
|
+
let target = {};
|
|
5
|
+
for (var name in all) __defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true
|
|
8
|
+
});
|
|
9
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
10
|
+
return target;
|
|
11
|
+
};
|
|
12
|
+
export { __exportAll };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type RealtimeVoiceAdapter } from "@ulearning/ai-core";
|
|
2
|
+
/** Options for a browser WebRTC connection to OpenAI Realtime. */
|
|
3
|
+
export type OpenAIRealtimeVoiceAdapterOptions = {
|
|
4
|
+
/** Exchange the browser's SDP offer for an answer through your authenticated server. Keep the API key and session configuration on the server. */
|
|
5
|
+
exchangeSdp: (sdp: string, options: {
|
|
6
|
+
signal: AbortSignal;
|
|
7
|
+
}) => Promise<string>;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Connects browser microphone audio directly to OpenAI Realtime over WebRTC.
|
|
11
|
+
* Configure audio output, input transcription, and automatic turn detection on
|
|
12
|
+
* the server. Each connection starts a new conversation; existing thread history
|
|
13
|
+
* and assistant-ui tools are not sent to the voice model.
|
|
14
|
+
*/
|
|
15
|
+
export declare class OpenAIRealtimeVoiceAdapter implements RealtimeVoiceAdapter {
|
|
16
|
+
private readonly options;
|
|
17
|
+
constructor(options: OpenAIRealtimeVoiceAdapterOptions);
|
|
18
|
+
connect(options: {
|
|
19
|
+
abortSignal?: AbortSignal;
|
|
20
|
+
}): RealtimeVoiceAdapter.Session;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=OpenAIRealtimeVoiceAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenAIRealtimeVoiceAdapter.d.ts","mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB;AAE3B;AACA,MAAM,MAAM,iCAAiC,GAAG;IAC9C;IACA,WAAW,EAAE,CACX,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,MAAM,EAAE,WAAW;KAAE,KAC7B,OAAO,CAAC,MAAM,CAAC;CACrB;AAOD;;;;;;AAMA,qBAAa,0BAA2B,YAAW,oBAAoB;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAEZ,OAAO,EAAE,iCAAiC;IAItD,OAAO,CAAC,OAAO,EAAE;QACf,WAAW,CAAC,EAAE,WAAW;KAC1B,GAAG,oBAAoB,CAAC,OAAO","names":[],"ignoreList":[],"sources":["../../src/adapters/OpenAIRealtimeVoiceAdapter.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import { createVoiceSession } from "@ulearning/ai-core";
|
|
2
|
+
// src/adapters/OpenAIRealtimeVoiceAdapter.ts
|
|
3
|
+
const asRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Connects browser microphone audio directly to OpenAI Realtime over WebRTC.
|
|
6
|
+
* Configure audio output, input transcription, and automatic turn detection on
|
|
7
|
+
* the server. Each connection starts a new conversation; existing thread history
|
|
8
|
+
* and assistant-ui tools are not sent to the voice model.
|
|
9
|
+
*/
|
|
10
|
+
var OpenAIRealtimeVoiceAdapter = class {
|
|
11
|
+
options;
|
|
12
|
+
constructor(options) {
|
|
13
|
+
this.options = options;
|
|
14
|
+
}
|
|
15
|
+
connect(options) {
|
|
16
|
+
return createVoiceSession(options, async (session) => {
|
|
17
|
+
if (typeof RTCPeerConnection === "undefined" || typeof document === "undefined" || typeof navigator === "undefined" || !navigator.mediaDevices?.getUserMedia) throw new Error("OpenAI Realtime voice requires a browser with WebRTC and microphone access.");
|
|
18
|
+
const controller = new AbortController();
|
|
19
|
+
const peer = new RTCPeerConnection();
|
|
20
|
+
const channel = peer.createDataChannel("oai-events");
|
|
21
|
+
const audio = document.createElement("audio");
|
|
22
|
+
audio.autoplay = true;
|
|
23
|
+
let microphone;
|
|
24
|
+
let muted = false;
|
|
25
|
+
let closed = false;
|
|
26
|
+
let generating = false;
|
|
27
|
+
let speaking = false;
|
|
28
|
+
let transcribing = false;
|
|
29
|
+
let volumeTimer;
|
|
30
|
+
let connectionTimer;
|
|
31
|
+
let assistantTranscript;
|
|
32
|
+
const transcriptQueue = [];
|
|
33
|
+
const pendingTranscripts = /* @__PURE__ */ new Map();
|
|
34
|
+
const flushTranscripts = () => {
|
|
35
|
+
while (transcriptQueue[0]?.ready) {
|
|
36
|
+
const item = transcriptQueue[0];
|
|
37
|
+
item.ready = false;
|
|
38
|
+
if (item.value?.isFinal !== false) transcriptQueue.shift();
|
|
39
|
+
if (item.value) session.emitTranscript(item.value);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const finishUserTranscript = (id, value) => {
|
|
43
|
+
const item = typeof id === "string" ? pendingTranscripts.get(id) : void 0;
|
|
44
|
+
if (item) {
|
|
45
|
+
item.ready = true;
|
|
46
|
+
item.value = value;
|
|
47
|
+
pendingTranscripts.delete(id);
|
|
48
|
+
} else if (value) transcriptQueue.push({
|
|
49
|
+
ready: true,
|
|
50
|
+
value
|
|
51
|
+
});
|
|
52
|
+
flushTranscripts();
|
|
53
|
+
};
|
|
54
|
+
const pending = /* @__PURE__ */ new Map();
|
|
55
|
+
const disconnect = () => {
|
|
56
|
+
if (closed) return;
|
|
57
|
+
closed = true;
|
|
58
|
+
controller.abort();
|
|
59
|
+
clearInterval(volumeTimer);
|
|
60
|
+
clearTimeout(connectionTimer);
|
|
61
|
+
for (const id of pending.keys()) settle(id, /* @__PURE__ */ new Error("OpenAI Realtime session disconnected before accepting the message."));
|
|
62
|
+
pendingTranscripts.clear();
|
|
63
|
+
transcriptQueue.length = 0;
|
|
64
|
+
channel.onopen = channel.onmessage = channel.onclose = channel.onerror = null;
|
|
65
|
+
peer.ontrack = peer.onconnectionstatechange = null;
|
|
66
|
+
for (const track of microphone?.getTracks() ?? []) track.stop();
|
|
67
|
+
audio.pause();
|
|
68
|
+
audio.srcObject = null;
|
|
69
|
+
channel.close();
|
|
70
|
+
peer.close();
|
|
71
|
+
};
|
|
72
|
+
const end = (reason, error) => {
|
|
73
|
+
session.end(reason, error);
|
|
74
|
+
disconnect();
|
|
75
|
+
};
|
|
76
|
+
const send = (event) => {
|
|
77
|
+
if (closed || channel.readyState !== "open") throw new Error("OpenAI Realtime session is not connected.");
|
|
78
|
+
channel.send(JSON.stringify(event));
|
|
79
|
+
};
|
|
80
|
+
const request = (id, event) => new Promise((resolve, reject) => {
|
|
81
|
+
const timer = setTimeout(() => {
|
|
82
|
+
reject(/* @__PURE__ */ new Error("OpenAI Realtime did not acknowledge the message."));
|
|
83
|
+
}, 1e4);
|
|
84
|
+
pending.set(id, {
|
|
85
|
+
resolve,
|
|
86
|
+
reject,
|
|
87
|
+
timer
|
|
88
|
+
});
|
|
89
|
+
send({
|
|
90
|
+
...event,
|
|
91
|
+
event_id: id
|
|
92
|
+
});
|
|
93
|
+
}).finally(() => settle(id));
|
|
94
|
+
const settle = (id, error) => {
|
|
95
|
+
if (typeof id !== "string") return false;
|
|
96
|
+
const message = pending.get(id);
|
|
97
|
+
if (!message) return false;
|
|
98
|
+
clearTimeout(message.timer);
|
|
99
|
+
pending.delete(id);
|
|
100
|
+
if (error) message.reject(error);
|
|
101
|
+
else message.resolve();
|
|
102
|
+
return true;
|
|
103
|
+
};
|
|
104
|
+
const setSpeaking = (value) => {
|
|
105
|
+
speaking = value;
|
|
106
|
+
session.emitMode(value ? "speaking" : "listening");
|
|
107
|
+
};
|
|
108
|
+
channel.onmessage = ({ data }) => {
|
|
109
|
+
if (closed) return;
|
|
110
|
+
let event;
|
|
111
|
+
try {
|
|
112
|
+
event = asRecord(JSON.parse(data));
|
|
113
|
+
} catch {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if (!event) return;
|
|
117
|
+
switch (event.type) {
|
|
118
|
+
case "session.created":
|
|
119
|
+
case "session.updated": {
|
|
120
|
+
const audio = asRecord(asRecord(event.session)?.audio);
|
|
121
|
+
const input = asRecord(audio?.input);
|
|
122
|
+
transcribing = asRecord(input?.transcription) !== void 0;
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
case "input_audio_buffer.committed":
|
|
126
|
+
if (transcribing && typeof event.item_id === "string" && !pendingTranscripts.has(event.item_id)) {
|
|
127
|
+
const item = {
|
|
128
|
+
ready: false,
|
|
129
|
+
value: void 0
|
|
130
|
+
};
|
|
131
|
+
pendingTranscripts.set(event.item_id, item);
|
|
132
|
+
transcriptQueue.push(item);
|
|
133
|
+
}
|
|
134
|
+
break;
|
|
135
|
+
case "conversation.item.input_audio_transcription.completed":
|
|
136
|
+
if (typeof event.transcript === "string") finishUserTranscript(event.item_id, {
|
|
137
|
+
role: "user",
|
|
138
|
+
text: event.transcript,
|
|
139
|
+
isFinal: true
|
|
140
|
+
});
|
|
141
|
+
break;
|
|
142
|
+
case "response.output_audio_transcript.delta":
|
|
143
|
+
case "response.output_audio_transcript.done": {
|
|
144
|
+
if (typeof event.item_id !== "string") break;
|
|
145
|
+
const final = event.type === "response.output_audio_transcript.done";
|
|
146
|
+
const text = final ? event.transcript : event.delta;
|
|
147
|
+
if (typeof text !== "string") break;
|
|
148
|
+
if (assistantTranscript?.id !== event.item_id) {
|
|
149
|
+
assistantTranscript = {
|
|
150
|
+
id: event.item_id,
|
|
151
|
+
ready: false,
|
|
152
|
+
value: void 0
|
|
153
|
+
};
|
|
154
|
+
transcriptQueue.push(assistantTranscript);
|
|
155
|
+
}
|
|
156
|
+
assistantTranscript.ready = true;
|
|
157
|
+
assistantTranscript.value = {
|
|
158
|
+
role: "assistant",
|
|
159
|
+
text: final ? text : (assistantTranscript.value?.text ?? "") + text,
|
|
160
|
+
isFinal: final
|
|
161
|
+
};
|
|
162
|
+
flushTranscripts();
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
case "response.created":
|
|
166
|
+
generating = true;
|
|
167
|
+
settle(asRecord(asRecord(event.response)?.metadata)?.aui_request_id);
|
|
168
|
+
break;
|
|
169
|
+
case "response.done": {
|
|
170
|
+
generating = false;
|
|
171
|
+
const response = asRecord(event.response);
|
|
172
|
+
if (assistantTranscript?.value?.isFinal === false) {
|
|
173
|
+
assistantTranscript.value = {
|
|
174
|
+
...assistantTranscript.value,
|
|
175
|
+
isFinal: true
|
|
176
|
+
};
|
|
177
|
+
assistantTranscript.ready = true;
|
|
178
|
+
flushTranscripts();
|
|
179
|
+
}
|
|
180
|
+
if (response?.status === "failed") console.warn("OpenAI Realtime response failed.", response.status_details);
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
case "output_audio_buffer.started":
|
|
184
|
+
setSpeaking(true);
|
|
185
|
+
break;
|
|
186
|
+
case "output_audio_buffer.stopped":
|
|
187
|
+
case "output_audio_buffer.cleared":
|
|
188
|
+
setSpeaking(false);
|
|
189
|
+
break;
|
|
190
|
+
case "conversation.item.added":
|
|
191
|
+
settle(asRecord(event.item)?.id);
|
|
192
|
+
break;
|
|
193
|
+
case "conversation.item.input_audio_transcription.failed":
|
|
194
|
+
finishUserTranscript(event.item_id);
|
|
195
|
+
console.warn("OpenAI Realtime transcription failed.", event.error);
|
|
196
|
+
break;
|
|
197
|
+
case "error": {
|
|
198
|
+
const error = asRecord(event.error);
|
|
199
|
+
if (error?.code === "response_cancel_not_active") break;
|
|
200
|
+
if (!settle(error?.event_id, new Error(typeof error?.message === "string" ? error.message : "OpenAI Realtime rejected the message."))) console.warn("OpenAI Realtime error.", event.error);
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
channel.onopen = () => {
|
|
206
|
+
if (closed) return;
|
|
207
|
+
clearTimeout(connectionTimer);
|
|
208
|
+
session.setStatus({ type: "running" });
|
|
209
|
+
if (closed) return;
|
|
210
|
+
session.emitMode("listening");
|
|
211
|
+
if (closed) return;
|
|
212
|
+
volumeTimer = setInterval(() => {
|
|
213
|
+
peer.getStats().then((report) => {
|
|
214
|
+
if (closed) return;
|
|
215
|
+
let volume = 0;
|
|
216
|
+
report.forEach((stat) => {
|
|
217
|
+
if ((stat.type === "inbound-rtp" || !muted && stat.type === "media-source") && typeof stat.audioLevel === "number") volume = Math.max(volume, stat.audioLevel);
|
|
218
|
+
});
|
|
219
|
+
session.emitVolume(Math.min(1, volume));
|
|
220
|
+
}).catch(() => {});
|
|
221
|
+
}, 100);
|
|
222
|
+
};
|
|
223
|
+
channel.onclose = () => end("finished");
|
|
224
|
+
channel.onerror = () => end("error", /* @__PURE__ */ new Error("OpenAI Realtime data channel failed."));
|
|
225
|
+
peer.onconnectionstatechange = () => {
|
|
226
|
+
if (peer.connectionState === "failed") end("error", /* @__PURE__ */ new Error("OpenAI Realtime connection failed."));
|
|
227
|
+
else if (peer.connectionState === "closed") end("finished");
|
|
228
|
+
};
|
|
229
|
+
peer.ontrack = ({ track }) => {
|
|
230
|
+
if (closed || track.kind !== "audio") return;
|
|
231
|
+
audio.srcObject = new MediaStream([track]);
|
|
232
|
+
audio.play().catch((error) => end("error", error));
|
|
233
|
+
};
|
|
234
|
+
const start = async () => {
|
|
235
|
+
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
|
|
236
|
+
if (closed || session.isDisposed()) {
|
|
237
|
+
for (const track of stream.getTracks()) track.stop();
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
microphone = stream;
|
|
241
|
+
for (const track of stream.getAudioTracks()) {
|
|
242
|
+
track.enabled = !muted;
|
|
243
|
+
peer.addTrack(track, stream);
|
|
244
|
+
}
|
|
245
|
+
connectionTimer = setTimeout(() => end("error", /* @__PURE__ */ new Error("OpenAI Realtime connection timed out.")), 3e4);
|
|
246
|
+
const offer = await peer.createOffer();
|
|
247
|
+
if (closed) return;
|
|
248
|
+
await peer.setLocalDescription(offer);
|
|
249
|
+
if (closed) return;
|
|
250
|
+
const answer = await this.options.exchangeSdp(offer.sdp, { signal: controller.signal });
|
|
251
|
+
if (closed) return;
|
|
252
|
+
await peer.setRemoteDescription({
|
|
253
|
+
type: "answer",
|
|
254
|
+
sdp: answer
|
|
255
|
+
});
|
|
256
|
+
};
|
|
257
|
+
start().catch((error) => end("error", error));
|
|
258
|
+
return {
|
|
259
|
+
disconnect,
|
|
260
|
+
mute: () => {
|
|
261
|
+
muted = true;
|
|
262
|
+
for (const track of microphone?.getAudioTracks() ?? []) track.enabled = false;
|
|
263
|
+
},
|
|
264
|
+
unmute: () => {
|
|
265
|
+
muted = false;
|
|
266
|
+
for (const track of microphone?.getAudioTracks() ?? []) track.enabled = true;
|
|
267
|
+
},
|
|
268
|
+
sendText: async (text) => {
|
|
269
|
+
if (generating) send({ type: "response.cancel" });
|
|
270
|
+
if (speaking) send({ type: "output_audio_buffer.clear" });
|
|
271
|
+
const id = crypto.randomUUID().replaceAll("-", "");
|
|
272
|
+
await request(id, {
|
|
273
|
+
type: "conversation.item.create",
|
|
274
|
+
item: {
|
|
275
|
+
id,
|
|
276
|
+
type: "message",
|
|
277
|
+
role: "user",
|
|
278
|
+
content: [{
|
|
279
|
+
type: "input_text",
|
|
280
|
+
text
|
|
281
|
+
}]
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
const responseId = crypto.randomUUID().replaceAll("-", "");
|
|
285
|
+
await request(responseId, {
|
|
286
|
+
type: "response.create",
|
|
287
|
+
response: { metadata: { aui_request_id: responseId } }
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
export { OpenAIRealtimeVoiceAdapter };
|
|
295
|
+
|
|
296
|
+
//# sourceMappingURL=OpenAIRealtimeVoiceAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenAIRealtimeVoiceAdapter.js","names":[],"sources":["../../src/adapters/OpenAIRealtimeVoiceAdapter.ts"],"sourcesContent":["import {\n createVoiceSession,\n type RealtimeVoiceAdapter,\n} from \"@ulearning/ai-core\";\n\n/** Options for a browser WebRTC connection to OpenAI Realtime. */\nexport type OpenAIRealtimeVoiceAdapterOptions = {\n /** Exchange the browser's SDP offer for an answer through your authenticated server. Keep the API key and session configuration on the server. */\n exchangeSdp: (\n sdp: string,\n options: { signal: AbortSignal },\n ) => Promise<string>;\n};\n\nconst asRecord = (value: unknown): Record<string, unknown> | undefined =>\n value !== null && typeof value === \"object\" && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : undefined;\n\n/**\n * Connects browser microphone audio directly to OpenAI Realtime over WebRTC.\n * Configure audio output, input transcription, and automatic turn detection on\n * the server. Each connection starts a new conversation; existing thread history\n * and assistant-ui tools are not sent to the voice model.\n */\nexport class OpenAIRealtimeVoiceAdapter implements RealtimeVoiceAdapter {\n private readonly options: OpenAIRealtimeVoiceAdapterOptions;\n\n constructor(options: OpenAIRealtimeVoiceAdapterOptions) {\n this.options = options;\n }\n\n connect(options: {\n abortSignal?: AbortSignal;\n }): RealtimeVoiceAdapter.Session {\n return createVoiceSession(options, async (session) => {\n if (\n typeof RTCPeerConnection === \"undefined\" ||\n typeof document === \"undefined\" ||\n typeof navigator === \"undefined\" ||\n !navigator.mediaDevices?.getUserMedia\n ) {\n throw new Error(\n \"OpenAI Realtime voice requires a browser with WebRTC and microphone access.\",\n );\n }\n\n const controller = new AbortController();\n const peer = new RTCPeerConnection();\n const channel = peer.createDataChannel(\"oai-events\");\n const audio = document.createElement(\"audio\");\n audio.autoplay = true;\n let microphone: MediaStream | undefined;\n let muted = false;\n let closed = false;\n let generating = false;\n let speaking = false;\n let transcribing = false;\n let volumeTimer: ReturnType<typeof setInterval> | undefined;\n let connectionTimer: ReturnType<typeof setTimeout> | undefined;\n type Transcript = {\n ready: boolean;\n value: RealtimeVoiceAdapter.TranscriptItem | undefined;\n };\n let assistantTranscript: (Transcript & { id: string }) | undefined;\n const transcriptQueue: Transcript[] = [];\n const pendingTranscripts = new Map<string, Transcript>();\n const flushTranscripts = () => {\n while (transcriptQueue[0]?.ready) {\n const item = transcriptQueue[0];\n item.ready = false;\n if (item.value?.isFinal !== false) transcriptQueue.shift();\n if (item.value) session.emitTranscript(item.value);\n }\n };\n const finishUserTranscript = (\n id: unknown,\n value?: RealtimeVoiceAdapter.TranscriptItem,\n ) => {\n const item =\n typeof id === \"string\" ? pendingTranscripts.get(id) : undefined;\n if (item) {\n item.ready = true;\n item.value = value;\n pendingTranscripts.delete(id as string);\n } else if (value) transcriptQueue.push({ ready: true, value });\n flushTranscripts();\n };\n const pending = new Map<\n string,\n {\n resolve: () => void;\n reject: (error: Error) => void;\n timer: ReturnType<typeof setTimeout>;\n }\n >();\n\n const disconnect = () => {\n if (closed) return;\n closed = true;\n controller.abort();\n clearInterval(volumeTimer);\n clearTimeout(connectionTimer);\n for (const id of pending.keys())\n settle(\n id,\n new Error(\n \"OpenAI Realtime session disconnected before accepting the message.\",\n ),\n );\n pendingTranscripts.clear();\n transcriptQueue.length = 0;\n channel.onopen =\n channel.onmessage =\n channel.onclose =\n channel.onerror =\n null;\n peer.ontrack = peer.onconnectionstatechange = null;\n for (const track of microphone?.getTracks() ?? []) track.stop();\n audio.pause();\n audio.srcObject = null;\n channel.close();\n peer.close();\n };\n\n const end = (reason: \"finished\" | \"error\", error?: unknown) => {\n session.end(reason, error);\n disconnect();\n };\n\n const send = (event: Record<string, unknown>) => {\n if (closed || channel.readyState !== \"open\")\n throw new Error(\"OpenAI Realtime session is not connected.\");\n channel.send(JSON.stringify(event));\n };\n\n const request = (id: string, event: Record<string, unknown>) =>\n new Promise<void>((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(\n new Error(\"OpenAI Realtime did not acknowledge the message.\"),\n );\n }, 10_000);\n pending.set(id, { resolve, reject, timer });\n send({ ...event, event_id: id });\n }).finally(() => settle(id));\n\n const settle = (id: unknown, error?: Error) => {\n if (typeof id !== \"string\") return false;\n const message = pending.get(id);\n if (!message) return false;\n clearTimeout(message.timer);\n pending.delete(id);\n if (error) message.reject(error);\n else message.resolve();\n return true;\n };\n\n const setSpeaking = (value: boolean) => {\n speaking = value;\n session.emitMode(value ? \"speaking\" : \"listening\");\n };\n\n channel.onmessage = ({ data }) => {\n if (closed) return;\n let event: Record<string, unknown> | undefined;\n try {\n event = asRecord(JSON.parse(data));\n } catch {\n return;\n }\n if (!event) return;\n switch (event.type) {\n case \"session.created\":\n case \"session.updated\": {\n const audio = asRecord(asRecord(event.session)?.audio);\n const input = asRecord(audio?.input);\n transcribing = asRecord(input?.transcription) !== undefined;\n break;\n }\n case \"input_audio_buffer.committed\":\n if (\n transcribing &&\n typeof event.item_id === \"string\" &&\n !pendingTranscripts.has(event.item_id)\n ) {\n const item = { ready: false, value: undefined };\n pendingTranscripts.set(event.item_id, item);\n transcriptQueue.push(item);\n }\n break;\n case \"conversation.item.input_audio_transcription.completed\":\n if (typeof event.transcript === \"string\")\n finishUserTranscript(event.item_id, {\n role: \"user\",\n text: event.transcript,\n isFinal: true,\n });\n break;\n case \"response.output_audio_transcript.delta\":\n case \"response.output_audio_transcript.done\": {\n if (typeof event.item_id !== \"string\") break;\n const final =\n event.type === \"response.output_audio_transcript.done\";\n const text = final ? event.transcript : event.delta;\n if (typeof text !== \"string\") break;\n if (assistantTranscript?.id !== event.item_id) {\n assistantTranscript = {\n id: event.item_id,\n ready: false,\n value: undefined,\n };\n transcriptQueue.push(assistantTranscript);\n }\n assistantTranscript.ready = true;\n assistantTranscript.value = {\n role: \"assistant\",\n text: final\n ? text\n : (assistantTranscript.value?.text ?? \"\") + text,\n isFinal: final,\n };\n flushTranscripts();\n break;\n }\n case \"response.created\":\n generating = true;\n settle(\n asRecord(asRecord(event.response)?.metadata)?.aui_request_id,\n );\n break;\n case \"response.done\": {\n generating = false;\n const response = asRecord(event.response);\n if (assistantTranscript?.value?.isFinal === false) {\n assistantTranscript.value = {\n ...assistantTranscript.value,\n isFinal: true,\n };\n assistantTranscript.ready = true;\n flushTranscripts();\n }\n if (response?.status === \"failed\")\n console.warn(\n \"OpenAI Realtime response failed.\",\n response.status_details,\n );\n break;\n }\n case \"output_audio_buffer.started\":\n setSpeaking(true);\n break;\n case \"output_audio_buffer.stopped\":\n case \"output_audio_buffer.cleared\":\n setSpeaking(false);\n break;\n case \"conversation.item.added\":\n settle(asRecord(event.item)?.id);\n break;\n case \"conversation.item.input_audio_transcription.failed\":\n finishUserTranscript(event.item_id);\n console.warn(\"OpenAI Realtime transcription failed.\", event.error);\n break;\n case \"error\": {\n const error = asRecord(event.error);\n if (error?.code === \"response_cancel_not_active\") break;\n if (\n !settle(\n error?.event_id,\n new Error(\n typeof error?.message === \"string\"\n ? error.message\n : \"OpenAI Realtime rejected the message.\",\n ),\n )\n )\n console.warn(\"OpenAI Realtime error.\", event.error);\n break;\n }\n }\n };\n channel.onopen = () => {\n if (closed) return;\n clearTimeout(connectionTimer);\n session.setStatus({ type: \"running\" });\n if (closed) return;\n session.emitMode(\"listening\");\n if (closed) return;\n volumeTimer = setInterval(() => {\n void peer\n .getStats()\n .then((report) => {\n if (closed) return;\n let volume = 0;\n report.forEach((stat) => {\n if (\n (stat.type === \"inbound-rtp\" ||\n (!muted && stat.type === \"media-source\")) &&\n typeof stat.audioLevel === \"number\"\n )\n volume = Math.max(volume, stat.audioLevel);\n });\n session.emitVolume(Math.min(1, volume));\n })\n .catch(() => {});\n }, 100);\n };\n channel.onclose = () => end(\"finished\");\n channel.onerror = () =>\n end(\"error\", new Error(\"OpenAI Realtime data channel failed.\"));\n peer.onconnectionstatechange = () => {\n if (peer.connectionState === \"failed\") {\n end(\"error\", new Error(\"OpenAI Realtime connection failed.\"));\n } else if (peer.connectionState === \"closed\") {\n end(\"finished\");\n }\n };\n peer.ontrack = ({ track }) => {\n if (closed || track.kind !== \"audio\") return;\n audio.srcObject = new MediaStream([track]);\n void audio.play().catch((error: unknown) => end(\"error\", error));\n };\n\n const start = async () => {\n const stream = await navigator.mediaDevices.getUserMedia({\n audio: true,\n });\n if (closed || session.isDisposed()) {\n for (const track of stream.getTracks()) track.stop();\n return;\n }\n microphone = stream;\n for (const track of stream.getAudioTracks()) {\n track.enabled = !muted;\n peer.addTrack(track, stream);\n }\n connectionTimer = setTimeout(\n () =>\n end(\"error\", new Error(\"OpenAI Realtime connection timed out.\")),\n 30_000,\n );\n const offer = await peer.createOffer();\n if (closed) return;\n await peer.setLocalDescription(offer);\n if (closed) return;\n const answer = await this.options.exchangeSdp(offer.sdp!, {\n signal: controller.signal,\n });\n if (closed) return;\n await peer.setRemoteDescription({ type: \"answer\", sdp: answer });\n };\n void start().catch((error: unknown) => end(\"error\", error));\n\n return {\n disconnect,\n mute: () => {\n muted = true;\n for (const track of microphone?.getAudioTracks() ?? [])\n track.enabled = false;\n },\n unmute: () => {\n muted = false;\n for (const track of microphone?.getAudioTracks() ?? [])\n track.enabled = true;\n },\n sendText: async (text) => {\n if (generating) send({ type: \"response.cancel\" });\n if (speaking) send({ type: \"output_audio_buffer.clear\" });\n const id = crypto.randomUUID().replaceAll(\"-\", \"\");\n await request(id, {\n type: \"conversation.item.create\",\n item: {\n id,\n type: \"message\",\n role: \"user\",\n content: [{ type: \"input_text\", text }],\n },\n });\n const responseId = crypto.randomUUID().replaceAll(\"-\", \"\");\n await request(responseId, {\n type: \"response.create\",\n response: { metadata: { aui_request_id: responseId } },\n });\n },\n };\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AssistantRuntime, UserCommands as CoreUserCommands } from "@ulearning/ai-core";
|
|
2
|
+
import type { AssistantTransportCommand as CoreAssistantTransportCommand, AssistantTransportConnectionMetadata as CoreAssistantTransportConnectionMetadata, AssistantTransportOptions as CoreAssistantTransportOptions, AssistantTransportProtocol, SendCommandsRequestBody as CoreSendCommandsRequestBody } from "@ulearning/ai-core/vue";
|
|
3
|
+
import type { UserCommands, UserExternalState } from "./augmentations.js";
|
|
4
|
+
import type { ShallowRef } from "vue";
|
|
5
|
+
export type { AssistantTransportProtocol };
|
|
6
|
+
export type SendCommandsRequestBody = {
|
|
7
|
+
[K in keyof CoreSendCommandsRequestBody as K extends "commands" ? never : K]: CoreSendCommandsRequestBody[K];
|
|
8
|
+
} & {
|
|
9
|
+
commands: AssistantTransportCommand[];
|
|
10
|
+
};
|
|
11
|
+
export type AssistantTransportCommand = Exclude<CoreAssistantTransportCommand, CoreUserCommands> | UserCommands;
|
|
12
|
+
export type AssistantTransportConnectionMetadata = Omit<CoreAssistantTransportConnectionMetadata, "pendingCommands"> & {
|
|
13
|
+
pendingCommands: AssistantTransportCommand[];
|
|
14
|
+
};
|
|
15
|
+
export type AssistantTransportStateConverter<T> = (state: T, connectionMetadata: AssistantTransportConnectionMetadata) => ReturnType<CoreAssistantTransportOptions<T>["converter"]>;
|
|
16
|
+
export type AssistantTransportOptions<T> = Omit<CoreAssistantTransportOptions<T>, "converter" | "prepareSendCommandsRequest" | "onError" | "onCancel"> & {
|
|
17
|
+
converter: AssistantTransportStateConverter<T>;
|
|
18
|
+
prepareSendCommandsRequest?: (body: SendCommandsRequestBody) => Record<string, unknown> | Promise<Record<string, unknown>>;
|
|
19
|
+
onError?: (error: Error, params: {
|
|
20
|
+
commands: AssistantTransportCommand[];
|
|
21
|
+
updateState: (updater: (state: T) => T) => void;
|
|
22
|
+
}) => void | Promise<void>;
|
|
23
|
+
onCancel?: (params: {
|
|
24
|
+
commands: AssistantTransportCommand[];
|
|
25
|
+
updateState: (updater: (state: T) => T) => void;
|
|
26
|
+
error?: Error;
|
|
27
|
+
}) => void;
|
|
28
|
+
};
|
|
29
|
+
export declare const useAssistantTransportRuntime: <T>(options: AssistantTransportOptions<T>) => AssistantRuntime;
|
|
30
|
+
export declare const useAssistantTransportSendCommand: () => (command: AssistantTransportCommand) => void;
|
|
31
|
+
export declare function useAssistantTransportState(): Readonly<ShallowRef<UserExternalState>>;
|
|
32
|
+
export declare function useAssistantTransportState<T>(selector: (state: UserExternalState) => T): Readonly<ShallowRef<T>>;
|
|
33
|
+
//# sourceMappingURL=assistant-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-transport.d.ts","mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,IAAI,gBAAgB,EAEjC,MAAM,oBAAoB;AAM3B,OAAO,KAAK,EACV,yBAAyB,IAAI,6BAA6B,EAC1D,oCAAoC,IAAI,wCAAwC,EAChF,yBAAyB,IAAI,6BAA6B,EAC1D,0BAA0B,EAC1B,uBAAuB,IAAI,2BAA2B,EACvD,MAAM,wBAAwB;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAiB;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK;AAErC,YAAY,EAAE,0BAA0B,EAAE;AAE1C,MAAM,MAAM,uBAAuB,GAAG;KAElC,CAAC,IAAI,MAAM,2BAA2B,IAAI,CAAC,SAAS,UAAU,GAAG,KAAK,GAAG,CAAC,GACzE,2BAA2B,CAAC,CAAC,CAAC;CAClC,GAAG;IACF,QAAQ,EAAE,yBAAyB,EAAE;CACtC;AAED,MAAM,MAAM,yBAAyB,GACjC,OAAO,CAAC,6BAA6B,EAAE,gBAAgB,CAAC,GACxD,YAAY;AAEhB,MAAM,MAAM,oCAAoC,GAAG,IAAI,CACrD,wCAAwC,EACxC,iBAAiB,CAClB,GAAG;IACF,eAAe,EAAE,yBAAyB,EAAE;CAC7C;AAED,MAAM,MAAM,gCAAgC,CAAC,CAAC,IAAI,CAChD,KAAK,EAAE,CAAC,EACR,kBAAkB,EAAE,oCAAoC,KACrD,UAAU,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAE9D,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,IAAI,CAC7C,6BAA6B,CAAC,CAAC,CAAC,EAChC,WAAW,GAAG,4BAA4B,GAAG,SAAS,GAAG,UAAU,CACpE,GAAG;IACF,SAAS,EAAE,gCAAgC,CAAC,CAAC,CAAC;IAC9C,0BAA0B,CAAC,EAAE,CAC3B,IAAI,EAAE,uBAAuB,KAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE;QACN,QAAQ,EAAE,yBAAyB,EAAE;QACrC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI;KAChD,KACE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,yBAAyB,EAAE;QACrC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI;QAC/C,KAAK,CAAC,EAAE,KAAK;KACd,KAAK,IAAI;CACX;AAED,eAAO,MAAM,4BAA4B,GAAI,CAAC,EAC5C,SAAS,yBAAyB,CAAC,CAAC,CAAC,KACpC,gBAIF;AAED,eAAO,MAAM,gCAAgC,SAEnC,SAAS,yBAAyB,SAG3C;AAED,wBAAgB,0BAA0B,IAAI,QAAQ,CACpD,UAAU,CAAC,iBAAiB,CAAC,CAC9B;AACD,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,CAAC,GACxC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC","names":[],"ignoreList":[],"sources":["../src/assistant-transport.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useAssistantTransportRuntime as useAssistantTransportRuntime$1, useAssistantTransportSendCommand as useAssistantTransportSendCommand$1, useAssistantTransportState as useAssistantTransportState$1 } from "@ulearning/ai-core/vue";
|
|
3
|
+
// src/assistant-transport.ts
|
|
4
|
+
const useAssistantTransportRuntime = (options) => {
|
|
5
|
+
return useAssistantTransportRuntime$1(options);
|
|
6
|
+
};
|
|
7
|
+
const useAssistantTransportSendCommand = () => {
|
|
8
|
+
const send = useAssistantTransportSendCommand$1();
|
|
9
|
+
return (command) => {
|
|
10
|
+
send(command);
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
function useAssistantTransportState(selector = (state) => state) {
|
|
14
|
+
return useAssistantTransportState$1(selector);
|
|
15
|
+
}
|
|
16
|
+
export { useAssistantTransportRuntime, useAssistantTransportSendCommand, useAssistantTransportState };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=assistant-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-transport.js","names":["useCoreAssistantTransportRuntime","useCoreAssistantTransportSendCommand","useCoreAssistantTransportState"],"sources":["../src/assistant-transport.ts"],"sourcesContent":["\"use client\";\n\nimport type {\n AssistantRuntime,\n UserCommands as CoreUserCommands,\n UserExternalState as CoreUserExternalState,\n} from \"@ulearning/ai-core\";\nimport {\n useAssistantTransportRuntime as useCoreAssistantTransportRuntime,\n useAssistantTransportSendCommand as useCoreAssistantTransportSendCommand,\n useAssistantTransportState as useCoreAssistantTransportState,\n} from \"@ulearning/ai-core/vue\";\nimport type {\n AssistantTransportCommand as CoreAssistantTransportCommand,\n AssistantTransportConnectionMetadata as CoreAssistantTransportConnectionMetadata,\n AssistantTransportOptions as CoreAssistantTransportOptions,\n AssistantTransportProtocol,\n SendCommandsRequestBody as CoreSendCommandsRequestBody,\n} from \"@ulearning/ai-core/vue\";\nimport type { UserCommands, UserExternalState } from \"./augmentations\";\nimport type { ShallowRef } from \"vue\";\n\nexport type { AssistantTransportProtocol };\n\nexport type SendCommandsRequestBody = {\n [\n K in keyof CoreSendCommandsRequestBody as K extends \"commands\" ? never : K\n ]: CoreSendCommandsRequestBody[K];\n} & {\n commands: AssistantTransportCommand[];\n};\n\nexport type AssistantTransportCommand =\n | Exclude<CoreAssistantTransportCommand, CoreUserCommands>\n | UserCommands;\n\nexport type AssistantTransportConnectionMetadata = Omit<\n CoreAssistantTransportConnectionMetadata,\n \"pendingCommands\"\n> & {\n pendingCommands: AssistantTransportCommand[];\n};\n\nexport type AssistantTransportStateConverter<T> = (\n state: T,\n connectionMetadata: AssistantTransportConnectionMetadata,\n) => ReturnType<CoreAssistantTransportOptions<T>[\"converter\"]>;\n\nexport type AssistantTransportOptions<T> = Omit<\n CoreAssistantTransportOptions<T>,\n \"converter\" | \"prepareSendCommandsRequest\" | \"onError\" | \"onCancel\"\n> & {\n converter: AssistantTransportStateConverter<T>;\n prepareSendCommandsRequest?: (\n body: SendCommandsRequestBody,\n ) => Record<string, unknown> | Promise<Record<string, unknown>>;\n onError?: (\n error: Error,\n params: {\n commands: AssistantTransportCommand[];\n updateState: (updater: (state: T) => T) => void;\n },\n ) => void | Promise<void>;\n onCancel?: (params: {\n commands: AssistantTransportCommand[];\n updateState: (updater: (state: T) => T) => void;\n error?: Error;\n }) => void;\n};\n\nexport const useAssistantTransportRuntime = <T>(\n options: AssistantTransportOptions<T>,\n): AssistantRuntime => {\n return useCoreAssistantTransportRuntime(\n options as CoreAssistantTransportOptions<T>,\n );\n};\n\nexport const useAssistantTransportSendCommand = () => {\n const send = useCoreAssistantTransportSendCommand();\n return (command: AssistantTransportCommand) => {\n send(command as CoreAssistantTransportCommand);\n };\n};\n\nexport function useAssistantTransportState(): Readonly<\n ShallowRef<UserExternalState>\n>;\nexport function useAssistantTransportState<T>(\n selector: (state: UserExternalState) => T,\n): Readonly<ShallowRef<T>>;\nexport function useAssistantTransportState<T>(\n selector: (state: UserExternalState) => T = (state) => state as T,\n): Readonly<ShallowRef<T | UserExternalState>> {\n return useCoreAssistantTransportState(\n selector as (state: CoreUserExternalState) => T,\n );\n}\n"],"mappings":";;;AAsEA,MAAa,gCACX,YACqB;CACrB,OAAOA,+BACL,OACF;AACF;AAEA,MAAa,yCAAyC;CACpD,MAAM,OAAOC,mCAAqC;CAClD,QAAQ,YAAuC;EAC7C,KAAK,OAAwC;CAC/C;AACF;AAQA,SAAgB,2BACd,YAA6C,UAAU,OACV;CAC7C,OAAOC,6BACL,QACF;AACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module augmentation namespace for assistant-ui type extensions.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* declare module "@ulearning/ai-sdk" {
|
|
7
|
+
* namespace Assistant {
|
|
8
|
+
* interface Commands {
|
|
9
|
+
* myCustomCommand: {
|
|
10
|
+
* type: "my-custom-command";
|
|
11
|
+
* data: string;
|
|
12
|
+
* };
|
|
13
|
+
* }
|
|
14
|
+
*
|
|
15
|
+
* interface ExternalState {
|
|
16
|
+
* myCustomState: {
|
|
17
|
+
* foo: string;
|
|
18
|
+
* };
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
import type { Assistant as CoreAssistant } from "@ulearning/ai-core";
|
|
25
|
+
export declare namespace Assistant {
|
|
26
|
+
interface Commands extends CoreAssistant.Commands {
|
|
27
|
+
}
|
|
28
|
+
interface ExternalState extends CoreAssistant.ExternalState {
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export type UserCommands = Assistant.Commands[keyof Assistant.Commands];
|
|
32
|
+
export type UserExternalState = keyof Assistant.ExternalState extends never ? Record<string, unknown> : Assistant.ExternalState[keyof Assistant.ExternalState];
|
|
33
|
+
//# sourceMappingURL=augmentations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"augmentations.d.ts","mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;AAuBA,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,oBAAoB;AAEpE,yBAAiB,SAAS,CAAC;IACzB,UAAiB,QAAS,SAAQ,aAAa,CAAC,QAAQ;;IAExD,UAAiB,aAAc,SAAQ,aAAa,CAAC,aAAa;;;AAGpE,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,MAAM,SAAS,CAAC,aAAa,SAAS,KAAK,GACvE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,SAAS,CAAC,aAAa,CAAC,MAAM,SAAS,CAAC,aAAa,CAAC","names":[],"ignoreList":[],"sources":["../src/augmentations.ts"],"sourcesContent":[null]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadonlyStore.d.ts","mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB;AAE/C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;AAExE,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,OAAO,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,KACvC,QAAQ,CAAC,CAAC,CACtC","names":[],"ignoreList":[],"sources":["../../src/context/ReadonlyStore.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadonlyStore.js","names":[],"sources":["../../src/context/ReadonlyStore.ts"],"sourcesContent":["import type { StoreApi } from \"zustand/vanilla\";\n\nexport type ReadonlyStore<T> = Omit<StoreApi<T>, \"setState\" | \"destroy\">;\n\nexport const writableStore = <T>(store: ReadonlyStore<T> | undefined) => {\n return store as unknown as StoreApi<T>;\n};\n"],"mappings":";AAIA,MAAa,iBAAoB,UAAwC;CACvE,OAAO;AACT"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { AssistantRuntimeProvider } from "../legacy-runtime/AssistantRuntimeProvider.js";
|
|
2
|
+
export { ThreadListItemByIndexProvider, ThreadListItemRuntimeProvider, } from "./providers/ThreadListItemProvider.js";
|
|
3
|
+
export { MessageByIndexProvider } from "./providers/MessageByIndexProvider.js";
|
|
4
|
+
export { SuggestionByIndexProvider } from "./providers/SuggestionByIndexProvider.js";
|
|
5
|
+
export { PartByIndexProvider } from "./providers/PartByIndexProvider.js";
|
|
6
|
+
export { MessageAttachmentByIndexProvider, ComposerAttachmentByIndexProvider, } from "./providers/AttachmentByIndexProvider.js";
|
|
7
|
+
export { TextMessagePartProvider } from "./providers/TextMessagePartProvider.js";
|
|
8
|
+
export { MessageProvider } from "./providers/MessageProvider.js";
|
|
9
|
+
export { ChainOfThoughtByIndicesProvider } from "./providers/ChainOfThoughtByIndicesProvider.js";
|
|
10
|
+
export { ReadonlyThreadProvider } from "@ulearning/ai-core/vue";
|
|
11
|
+
export type { ThreadViewportState } from "./stores/ThreadViewport.js";
|
|
12
|
+
export { useThreadViewport, useThreadViewportStore, } from "./vue/ThreadViewportContext.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA4C;AACrF,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,uCAAoC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAoC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAAuC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAiC;AACrE,OAAO,EACL,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,0CAAuC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAqC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAA6B;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAA6C;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB;AAE/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAAyB;AAElE,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,gCAA6B","names":[],"ignoreList":[],"sources":["../../src/context/index.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useThreadViewport, useThreadViewportStore } from "./vue/ThreadViewportContext.js";
|
|
2
|
+
import { AssistantRuntimeProvider } from "../legacy-runtime/AssistantRuntimeProvider.js";
|
|
3
|
+
import { ThreadListItemByIndexProvider, ThreadListItemRuntimeProvider } from "./providers/ThreadListItemProvider.js";
|
|
4
|
+
import { MessageByIndexProvider } from "./providers/MessageByIndexProvider.js";
|
|
5
|
+
import { SuggestionByIndexProvider } from "./providers/SuggestionByIndexProvider.js";
|
|
6
|
+
import { PartByIndexProvider } from "./providers/PartByIndexProvider.js";
|
|
7
|
+
import { ComposerAttachmentByIndexProvider, MessageAttachmentByIndexProvider } from "./providers/AttachmentByIndexProvider.js";
|
|
8
|
+
import { TextMessagePartProvider } from "./providers/TextMessagePartProvider.js";
|
|
9
|
+
import { MessageProvider } from "./providers/MessageProvider.js";
|
|
10
|
+
import { ChainOfThoughtByIndicesProvider } from "./providers/ChainOfThoughtByIndicesProvider.js";
|
|
11
|
+
import { ReadonlyThreadProvider } from "@ulearning/ai-core/vue";
|
|
12
|
+
export { AssistantRuntimeProvider, ChainOfThoughtByIndicesProvider, ComposerAttachmentByIndexProvider, MessageAttachmentByIndexProvider, MessageByIndexProvider, MessageProvider, PartByIndexProvider, ReadonlyThreadProvider, SuggestionByIndexProvider, TextMessagePartProvider, ThreadListItemByIndexProvider, ThreadListItemRuntimeProvider, useThreadViewport, useThreadViewportStore };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttachmentByIndexProvider.d.ts","mappings":"AAEA,OAAO,EACL,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,wBAAwB","names":[],"ignoreList":[],"sources":["../../../src/context/providers/AttachmentByIndexProvider.tsx"],"sourcesContent":[null]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChainOfThoughtByIndicesProvider.d.ts","mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB","names":[],"ignoreList":[],"sources":["../../../src/context/providers/ChainOfThoughtByIndicesProvider.tsx"],"sourcesContent":[null]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageByIndexProvider.d.ts","mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB","names":[],"ignoreList":[],"sources":["../../../src/context/providers/MessageByIndexProvider.tsx"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type ThreadMessageClientProps } from "@ulearning/ai-core/store";
|
|
2
|
+
export declare const MessageProvider: import("vue").DefineSetupFnComponent<ThreadMessageClientProps, {}, {}, ThreadMessageClientProps & {}, import("vue").PublicProps>;
|
|
3
|
+
//# sourceMappingURL=MessageProvider.d.ts.map
|