@assistant-ui/react 0.14.26 → 0.14.27
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/README.md +1 -1
- package/dist/augmentations.d.ts.map +1 -1
- package/dist/client/ExternalThread.d.ts +6 -4
- package/dist/client/ExternalThread.d.ts.map +1 -1
- package/dist/client/ExternalThread.js +2 -1
- package/dist/client/ExternalThread.js.map +1 -1
- package/dist/client/InMemoryThreadList.d.ts +0 -1
- package/dist/client/InMemoryThreadList.d.ts.map +1 -1
- package/dist/client/InMemoryThreadList.js +4 -1
- package/dist/client/InMemoryThreadList.js.map +1 -1
- package/dist/client/SingleThreadList.d.ts +0 -1
- package/dist/client/SingleThreadList.d.ts.map +1 -1
- package/dist/context/ReadonlyStore.d.ts +0 -1
- package/dist/context/ReadonlyStore.d.ts.map +1 -1
- package/dist/context/providers/MessageProvider.d.ts +0 -1
- package/dist/context/providers/MessageProvider.d.ts.map +1 -1
- package/dist/context/providers/ThreadViewportProvider.d.ts +0 -1
- package/dist/context/providers/ThreadViewportProvider.d.ts.map +1 -1
- package/dist/context/react/ThreadViewportContext.d.ts +15 -16
- package/dist/context/react/ThreadViewportContext.d.ts.map +1 -1
- package/dist/context/react/utils/createContextHook.d.ts +0 -1
- package/dist/context/react/utils/createContextHook.d.ts.map +1 -1
- package/dist/context/react/utils/createContextStoreHook.d.ts +2 -3
- package/dist/context/react/utils/createContextStoreHook.d.ts.map +1 -1
- package/dist/context/react/utils/createStateHookForRuntime.d.ts +0 -1
- package/dist/context/react/utils/createStateHookForRuntime.d.ts.map +1 -1
- package/dist/context/react/utils/ensureBinding.d.ts.map +1 -1
- package/dist/context/react/utils/useRuntimeState.d.ts +0 -1
- package/dist/context/react/utils/useRuntimeState.d.ts.map +1 -1
- package/dist/context/stores/ThreadViewport.d.ts +25 -15
- package/dist/context/stores/ThreadViewport.d.ts.map +1 -1
- package/dist/devtools/DevToolsHooks.d.ts +0 -1
- package/dist/devtools/DevToolsHooks.d.ts.map +1 -1
- package/dist/hooks/useMessageQuote.d.ts +0 -1
- package/dist/hooks/useMessageQuote.d.ts.map +1 -1
- package/dist/hooks/useMessageTiming.d.ts +0 -1
- package/dist/hooks/useMessageTiming.d.ts.map +1 -1
- package/dist/hooks/useToolCallElapsed.d.ts.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/internal.d.ts +0 -2
- package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts +0 -1
- package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/legacy-runtime/cloud/auiV0.d.ts +11 -2
- package/dist/legacy-runtime/cloud/auiV0.d.ts.map +1 -1
- package/dist/legacy-runtime/cloud/auiV0.js +31 -2
- package/dist/legacy-runtime/cloud/auiV0.js.map +1 -1
- package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts +1 -5
- package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/AssistantContext.d.ts +0 -1
- package/dist/legacy-runtime/hooks/AssistantContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/AttachmentContext.d.ts +12 -13
- package/dist/legacy-runtime/hooks/AttachmentContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/ComposerContext.d.ts +0 -1
- package/dist/legacy-runtime/hooks/ComposerContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/MessageContext.d.ts +0 -1
- package/dist/legacy-runtime/hooks/MessageContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/MessagePartContext.d.ts +0 -1
- package/dist/legacy-runtime/hooks/MessagePartContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/ThreadContext.d.ts +0 -1
- package/dist/legacy-runtime/hooks/ThreadContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/ThreadListItemContext.d.ts +0 -1
- package/dist/legacy-runtime/hooks/ThreadListItemContext.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts +0 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.d.ts +1 -4
- package/dist/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/runManager.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts +0 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts +0 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.d.ts +0 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.d.ts.map +1 -1
- package/dist/mcp-apps/McpAppRenderer.d.ts +12 -7
- package/dist/mcp-apps/McpAppRenderer.d.ts.map +1 -1
- package/dist/mcp-apps/McpAppRenderer.js +29 -7
- package/dist/mcp-apps/McpAppRenderer.js.map +1 -1
- package/dist/mcp-apps/McpAppsRemoteHost.d.ts +0 -1
- package/dist/mcp-apps/McpAppsRemoteHost.d.ts.map +1 -1
- package/dist/mcp-apps/McpAppsRemoteHost.js +32 -1
- package/dist/mcp-apps/McpAppsRemoteHost.js.map +1 -1
- package/dist/mcp-apps/app-frame.d.ts +1 -12
- package/dist/mcp-apps/app-frame.d.ts.map +1 -1
- package/dist/mcp-apps/app-frame.js +1 -1
- package/dist/mcp-apps/app-frame.js.map +1 -1
- package/dist/mcp-apps/bridge.d.ts +0 -1
- package/dist/mcp-apps/bridge.d.ts.map +1 -1
- package/dist/mcp-apps/bridge.js +4 -3
- package/dist/mcp-apps/bridge.js.map +1 -1
- package/dist/mcp-apps/types.d.ts +10 -7
- package/dist/mcp-apps/types.d.ts.map +1 -1
- package/dist/mcp-apps/types.js.map +1 -1
- package/dist/mcp-apps/utils.d.ts +0 -1
- package/dist/mcp-apps/utils.d.ts.map +1 -1
- package/dist/model-context/frame/useAssistantFrameHost.d.ts +1 -6
- package/dist/model-context/frame/useAssistantFrameHost.d.ts.map +1 -1
- package/dist/model-context/makeAssistantVisible.d.ts +0 -1
- package/dist/model-context/makeAssistantVisible.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -4
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts +0 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts +1 -5
- package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +0 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +0 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarInteractionContext.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts +0 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.d.ts +0 -1
- package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts +0 -1
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +0 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts +1 -6
- package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
- package/dist/primitives/actionBar.d.ts +0 -2
- package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts +0 -1
- package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts +0 -1
- package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts +0 -1
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts +0 -1
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts +0 -1
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/scope.d.ts +0 -1
- package/dist/primitives/actionBarMore/scope.d.ts.map +1 -1
- package/dist/primitives/actionBarMore.d.ts +0 -2
- package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +6 -4
- package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.js +2 -2
- package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts +4 -2
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js +2 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +0 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +6 -4
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.js +2 -2
- package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
- package/dist/primitives/assistantModal/popoverRenderPrimitives.d.ts +14 -0
- package/dist/primitives/assistantModal/popoverRenderPrimitives.d.ts.map +1 -0
- package/dist/primitives/assistantModal/popoverRenderPrimitives.js +10 -0
- package/dist/primitives/assistantModal/popoverRenderPrimitives.js.map +1 -0
- package/dist/primitives/assistantModal/scope.d.ts +0 -1
- package/dist/primitives/assistantModal/scope.d.ts.map +1 -1
- package/dist/primitives/assistantModal.d.ts +0 -2
- package/dist/primitives/attachment/AttachmentName.d.ts +0 -1
- package/dist/primitives/attachment/AttachmentName.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.d.ts +0 -1
- package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.d.ts +0 -1
- package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts +0 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
- package/dist/primitives/attachment.d.ts +0 -2
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts +0 -1
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts +0 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +0 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +0 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +0 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
- package/dist/primitives/branchPicker.d.ts +0 -2
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +0 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +0 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -1
- package/dist/primitives/chainOfThought.d.ts +0 -2
- package/dist/primitives/composer/ComposerAddAttachment.d.ts +5 -6
- package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts +0 -1
- package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerCancel.d.ts +0 -1
- package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerCompactContext.d.ts +9 -0
- package/dist/primitives/composer/ComposerCompactContext.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerCompactContext.js +11 -0
- package/dist/primitives/composer/ComposerCompactContext.js.map +1 -0
- package/dist/primitives/composer/ComposerDictate.d.ts +0 -1
- package/dist/primitives/composer/ComposerDictate.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerDictationTranscript.d.ts +0 -1
- package/dist/primitives/composer/ComposerDictationTranscript.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts +0 -1
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +17 -2
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts +4 -3
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerQuote.d.ts +0 -1
- package/dist/primitives/composer/ComposerQuote.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerRoot.d.ts +22 -3
- package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerRoot.js +63 -30
- package/dist/primitives/composer/ComposerRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts +0 -1
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerStopDictation.d.ts +0 -1
- package/dist/primitives/composer/ComposerStopDictation.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopover.d.ts +10 -5
- package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts +5 -3
- package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverAction.js +3 -2
- package/dist/primitives/composer/trigger/TriggerPopoverAction.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts +0 -1
- package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts +0 -1
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts +3 -2
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts +0 -1
- package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts +10 -6
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts +8 -5
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/index.d.ts +0 -1
- package/dist/primitives/composer/trigger/index.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts +5 -2
- package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts +7 -4
- package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts +13 -7
- package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts +7 -4
- package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts.map +1 -1
- package/dist/primitives/composer/useComposerInputState.d.ts.map +1 -1
- package/dist/primitives/composer.d.ts +0 -2
- package/dist/primitives/dropdownMenuRenderPrimitives.d.ts +0 -1
- package/dist/primitives/dropdownMenuRenderPrimitives.d.ts.map +1 -1
- package/dist/primitives/error/ErrorMessage.d.ts +0 -1
- package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
- package/dist/primitives/error/ErrorRoot.d.ts +0 -1
- package/dist/primitives/error/ErrorRoot.d.ts.map +1 -1
- package/dist/primitives/error.d.ts +0 -2
- package/dist/primitives/message/MessageError.d.ts +0 -1
- package/dist/primitives/message/MessageError.d.ts.map +1 -1
- package/dist/primitives/message/MessageIf.d.ts +0 -1
- package/dist/primitives/message/MessageIf.d.ts.map +1 -1
- package/dist/primitives/message/MessageParts.d.ts +0 -1
- package/dist/primitives/message/MessageParts.d.ts.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.d.ts +25 -12
- package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.d.ts +0 -1
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/message.d.ts +0 -2
- package/dist/primitives/messagePart/MessagePartImage.d.ts +0 -1
- package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -1
- package/dist/primitives/messagePart/MessagePartText.d.ts +0 -1
- package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartData.d.ts +0 -1
- package/dist/primitives/messagePart/useMessagePartData.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartFile.d.ts +0 -1
- package/dist/primitives/messagePart/useMessagePartFile.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartImage.d.ts +0 -1
- package/dist/primitives/messagePart/useMessagePartImage.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartReasoning.d.ts +0 -1
- package/dist/primitives/messagePart/useMessagePartReasoning.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartSource.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartText.d.ts +0 -1
- package/dist/primitives/messagePart/useMessagePartText.d.ts.map +1 -1
- package/dist/primitives/messagePart.d.ts +0 -2
- package/dist/primitives/queueItem/QueueItemRemove.d.ts +0 -1
- package/dist/primitives/queueItem/QueueItemRemove.d.ts.map +1 -1
- package/dist/primitives/queueItem/QueueItemSteer.d.ts +0 -1
- package/dist/primitives/queueItem/QueueItemSteer.d.ts.map +1 -1
- package/dist/primitives/queueItem/QueueItemText.d.ts +0 -1
- package/dist/primitives/queueItem/QueueItemText.d.ts.map +1 -1
- package/dist/primitives/queueItem.d.ts +0 -2
- package/dist/primitives/reasoning/useScrollLock.d.ts +0 -1
- package/dist/primitives/reasoning/useScrollLock.d.ts.map +1 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.d.ts +0 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.d.ts.map +1 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.d.ts +0 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.d.ts.map +1 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js +2 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js.map +1 -1
- package/dist/primitives/selectionToolbar.d.ts +0 -2
- package/dist/primitives/suggestion/SuggestionDescription.d.ts +0 -1
- package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -1
- package/dist/primitives/suggestion/SuggestionTitle.d.ts +0 -1
- package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -1
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts +1 -5
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
- package/dist/primitives/suggestion.d.ts +0 -2
- package/dist/primitives/thread/ThreadEmpty.d.ts +0 -1
- package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadIf.d.ts +0 -1
- package/dist/primitives/thread/ThreadIf.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadRoot.d.ts +0 -1
- package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts +1 -4
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts +13 -14
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadViewport.d.ts +0 -1
- package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadViewportFooter.d.ts +0 -1
- package/dist/primitives/thread/ThreadViewportFooter.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.d.ts +2 -11
- package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/createReserveObservers.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/topAnchorTurn.d.ts +1 -4
- package/dist/primitives/thread/topAnchor/topAnchorTurn.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/topAnchorUtils.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/useTopAnchorReserve.d.ts.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts +1 -7
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
- package/dist/primitives/thread.d.ts +0 -2
- package/dist/primitives/threadList/ThreadListLoadMore.d.ts +0 -1
- package/dist/primitives/threadList/ThreadListLoadMore.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.d.ts +0 -1
- package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListRoot.d.ts +0 -1
- package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -1
- package/dist/primitives/threadList.d.ts +0 -2
- package/dist/primitives/threadListFocusGroup.d.ts +0 -1
- package/dist/primitives/threadListFocusGroup.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +0 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +0 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +0 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +0 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +0 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
- package/dist/primitives/threadListItem.d.ts +0 -2
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts +0 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts +0 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts +0 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts +0 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts +0 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/scope.d.ts +0 -1
- package/dist/primitives/threadListItemMore/scope.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore.d.ts +0 -2
- package/dist/sandbox-host/SandboxHost.d.ts +1 -10
- package/dist/sandbox-host/SandboxHost.d.ts.map +1 -1
- package/dist/tests/remote-thread-list-test-helpers.d.ts +0 -1
- package/dist/tests/remote-thread-list-test-helpers.d.ts.map +1 -1
- package/dist/unstable/useComposerInput.d.ts +2 -2
- package/dist/unstable/useComposerInput.d.ts.map +1 -1
- package/dist/unstable/useComposerInputHistory.d.ts +2 -2
- package/dist/unstable/useComposerInputHistory.d.ts.map +1 -1
- package/dist/unstable/useLiveCompletionAdapter.d.ts +4 -3
- package/dist/unstable/useLiveCompletionAdapter.d.ts.map +1 -1
- package/dist/unstable/useMentionAdapter.d.ts +19 -10
- package/dist/unstable/useMentionAdapter.d.ts.map +1 -1
- package/dist/unstable/useMessageStallDetection.d.ts +3 -1
- package/dist/unstable/useMessageStallDetection.d.ts.map +1 -1
- package/dist/unstable/useSlashCommandAdapter.d.ts +6 -4
- package/dist/unstable/useSlashCommandAdapter.d.ts.map +1 -1
- package/dist/utils/Primitive.d.ts +0 -1
- package/dist/utils/Primitive.d.ts.map +1 -1
- package/dist/utils/RequireAtLeastOne.d.ts +1 -1
- package/dist/utils/RequireAtLeastOne.d.ts.map +1 -1
- package/dist/utils/createActionButton.d.ts +0 -1
- package/dist/utils/createActionButton.d.ts.map +1 -1
- package/dist/utils/getSelectionMessageId.d.ts.map +1 -1
- package/dist/utils/getSelectionMessageId.js +32 -7
- package/dist/utils/getSelectionMessageId.js.map +1 -1
- package/dist/utils/hooks/useManagedRef.d.ts.map +1 -1
- package/dist/utils/hooks/useMediaQuery.d.ts.map +1 -1
- package/dist/utils/hooks/useOnResizeContent.d.ts.map +1 -1
- package/dist/utils/hooks/useOnScrollToBottom.d.ts.map +1 -1
- package/dist/utils/hooks/useSizeHandle.d.ts +0 -1
- package/dist/utils/hooks/useSizeHandle.d.ts.map +1 -1
- package/dist/utils/smooth/SmoothContext.d.ts +71 -72
- package/dist/utils/smooth/SmoothContext.d.ts.map +1 -1
- package/dist/utils/smooth/useSmooth.d.ts +0 -1
- package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
- package/dist/utils/useToolArgsFieldStatus.d.ts +2 -2
- package/dist/utils/useToolArgsFieldStatus.d.ts.map +1 -1
- package/package.json +18 -18
- package/src/index.ts +3 -0
- package/src/legacy-runtime/cloud/auiV0.ts +72 -3
- package/src/mcp-apps/McpAppRenderer.test.tsx +141 -0
- package/src/mcp-apps/McpAppRenderer.tsx +48 -10
- package/src/mcp-apps/McpAppsRemoteHost.test.ts +126 -0
- package/src/mcp-apps/McpAppsRemoteHost.ts +40 -1
- package/src/mcp-apps/app-frame.tsx +3 -1
- package/src/mcp-apps/bridge.ts +1 -1
- package/src/mcp-apps/types.ts +16 -8
- package/src/primitives/assistantModal/AssistantModalAnchor.tsx +6 -8
- package/src/primitives/assistantModal/AssistantModalContent.tsx +5 -5
- package/src/primitives/assistantModal/AssistantModalTrigger.test.tsx +80 -0
- package/src/primitives/assistantModal/AssistantModalTrigger.tsx +6 -8
- package/src/primitives/assistantModal/popoverRenderPrimitives.ts +6 -0
- package/src/primitives/composer/ComposerCompactContext.tsx +13 -0
- package/src/primitives/composer/ComposerInput.tsx +35 -0
- package/src/primitives/composer/ComposerRoot.test.tsx +161 -0
- package/src/primitives/composer/ComposerRoot.tsx +37 -7
- package/src/tests/LocalThreadRuntimeCore.test.ts +4 -1
- package/src/tests/auiV0Encode.test.ts +134 -1
- package/src/utils/getSelectionMessageId.test.ts +175 -0
- package/src/utils/getSelectionMessageId.ts +57 -6
- package/dist/utils/json/is-json-equal.d.ts +0 -5
- package/dist/utils/json/is-json-equal.d.ts.map +0 -1
- package/dist/utils/json/is-json-equal.js +0 -26
- package/dist/utils/json/is-json-equal.js.map +0 -1
- package/dist/utils/json/is-json.d.ts +0 -10
- package/dist/utils/json/is-json.d.ts.map +0 -1
- package/dist/utils/json/is-json.js +0 -22
- package/dist/utils/json/is-json.js.map +0 -1
- package/src/utils/json/is-json-equal.ts +0 -48
- package/src/utils/json/is-json.ts +0 -58
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","names":["SandboxHostFrame","MCP_APP_PROTOCOL_VERSION","McpAppBridgeHandlers","McpAppDisplayMode","McpAppHostContext","McpAppHostInfo","McpAppJsonRpcMessage","McpAppJsonRpcNotification","McpAppJsonRpcRequest","McpAppJsonRpcResponse","isRecord","VALID_DISPLAY_MODES","const","McpAppBridgeFrame","CreateMcpAppBridgeOptions","frame","handlers","hostInfo","hostContext","McpAppBridge","onMessage","event","MessageEvent","dispose","notifyToolInput","input","notifyToolResult","result","notifyHostContextChanged","DEFAULT_HOST_INFO","name","version","METHOD_ALIASES","Record","normalizeMethod","method","JSONRPC_ERROR","parseError","invalidRequest","methodNotFound","invalidParams","internalError","isJsonRpcMessage","value","v","jsonrpc","isRequest","msg","isNotification","createMcpAppBridge","opts","post","sendMessage","respond","id","payload","error","code","message","data","res","errorResponse","undefined","handleRequest","req","params","requestedProtocolVersion","protocolVersion","host","capabilities","tools","callTool","resources","readResource","listResources","ui","openLink","requestDisplayMode","updateModelContext","hostCapabilities","openLinks","serverTools","serverResources","text","onLog","logging","callParams","arguments","allowedTools","includes","callArgs","Array","isArray","readParams","uri","linkParams","url","linkProtocol","URL","protocol","modeParams","mode","err","Error","String","onError","handleNotification","note","onInitialized","p","width","height","onSizeChange","onRequestTeardown","content","type","ctx"],"sources":["../../src/mcp-apps/bridge.ts"],"sourcesContent":["import type { SandboxHostFrame } from \"../sandbox-host/SandboxHost\";\nimport {\n MCP_APP_PROTOCOL_VERSION,\n type McpAppBridgeHandlers,\n type McpAppDisplayMode,\n type McpAppHostContext,\n type McpAppHostInfo,\n type McpAppJsonRpcMessage,\n type McpAppJsonRpcNotification,\n type McpAppJsonRpcRequest,\n type McpAppJsonRpcResponse,\n} from \"./types\";\nimport { isRecord } from \"../utils/json/is-json\";\n\nconst VALID_DISPLAY_MODES = [\n \"inline\",\n \"fullscreen\",\n \"pip\",\n] as const satisfies readonly McpAppDisplayMode[];\n\nexport type McpAppBridgeFrame = SandboxHostFrame;\n\nexport type CreateMcpAppBridgeOptions = {\n frame: McpAppBridgeFrame;\n handlers?: McpAppBridgeHandlers | undefined;\n hostInfo?: McpAppHostInfo | undefined;\n hostContext?: McpAppHostContext | undefined;\n};\n\nexport type McpAppBridge = {\n onMessage: (event: MessageEvent) => void;\n dispose: () => void;\n notifyToolInput: (input: unknown) => void;\n notifyToolResult: (result: unknown) => void;\n notifyHostContextChanged: (hostContext: McpAppHostContext) => void;\n};\n\nconst DEFAULT_HOST_INFO: McpAppHostInfo = {\n name: \"assistant-ui\",\n version: \"0.1\",\n};\n\n// Accept both the legacy method names and the MCP-UI 2026-01-26 names that\n// `ui/*` capable widgets (e.g. xmcp's host-bridge) emit. Normalize on input\n// so downstream switch statements only need to know the legacy names.\nconst METHOD_ALIASES: Record<string, string> = {\n \"ui/notifications/initialized\": \"notifications/initialized\",\n \"ui/notifications/size-changed\": \"notifications/size_changed\",\n \"ui/request-display-mode\": \"requestDisplayMode\",\n \"ui/open-link\": \"openLink\",\n \"ui/update-model-context\": \"updateModelContext\",\n \"ui/message\": \"sendMessage\",\n \"notifications/message\": \"notifications/log\",\n};\n\nconst normalizeMethod = (method: string): string =>\n METHOD_ALIASES[method] ?? method;\n\nconst JSONRPC_ERROR = {\n parseError: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internalError: -32603,\n} as const;\n\nfunction isJsonRpcMessage(value: unknown): value is McpAppJsonRpcMessage {\n if (!value || typeof value !== \"object\") return false;\n const v = value as Record<string, unknown>;\n return v.jsonrpc === \"2.0\" && typeof v.method === \"string\";\n}\n\nfunction isRequest(msg: McpAppJsonRpcMessage): msg is McpAppJsonRpcRequest {\n return \"id\" in msg;\n}\n\nfunction isNotification(\n msg: McpAppJsonRpcMessage,\n): msg is McpAppJsonRpcNotification {\n return !(\"id\" in msg);\n}\n\nexport function createMcpAppBridge(\n opts: CreateMcpAppBridgeOptions,\n): McpAppBridge {\n const {\n frame,\n handlers = {},\n hostInfo = DEFAULT_HOST_INFO,\n hostContext = {},\n } = opts;\n\n const post = (msg: McpAppJsonRpcMessage) => {\n frame.sendMessage(msg);\n };\n\n const respond = (\n id: McpAppJsonRpcRequest[\"id\"],\n payload:\n | { result: unknown }\n | { error: { code: number; message: string; data?: unknown } },\n ) => {\n const res: McpAppJsonRpcResponse = {\n jsonrpc: \"2.0\",\n id,\n ...payload,\n };\n post(res);\n };\n\n const errorResponse = (\n id: McpAppJsonRpcRequest[\"id\"],\n code: number,\n message: string,\n data?: unknown,\n ) => {\n respond(id, {\n error: {\n code,\n message,\n ...(data !== undefined ? { data } : {}),\n },\n });\n };\n\n const handleRequest = async (req: McpAppJsonRpcRequest) => {\n try {\n const params = req.params;\n\n switch (normalizeMethod(req.method)) {\n case \"ui/initialize\": {\n const requestedProtocolVersion =\n isRecord(params) && typeof params.protocolVersion === \"string\"\n ? params.protocolVersion\n : MCP_APP_PROTOCOL_VERSION;\n respond(req.id, {\n result: {\n protocolVersion: requestedProtocolVersion,\n host: hostInfo,\n hostInfo,\n hostContext,\n capabilities: {\n tools: handlers.callTool ? {} : undefined,\n resources:\n handlers.readResource || handlers.listResources\n ? {}\n : undefined,\n ui: {\n sendMessage: !!handlers.sendMessage,\n openLink: !!handlers.openLink,\n requestDisplayMode: !!handlers.requestDisplayMode,\n updateModelContext: !!handlers.updateModelContext,\n },\n },\n hostCapabilities: {\n ...(handlers.openLink ? { openLinks: {} } : {}),\n ...(handlers.callTool ? { serverTools: {} } : {}),\n ...(handlers.readResource || handlers.listResources\n ? { serverResources: {} }\n : {}),\n ...(handlers.updateModelContext\n ? { updateModelContext: { text: {} } }\n : {}),\n ...(handlers.sendMessage ? { message: { text: {} } } : {}),\n ...(handlers.onLog ? { logging: {} } : {}),\n },\n },\n });\n return;\n }\n\n case \"tools/call\": {\n if (!handlers.callTool) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"tools/call is not supported by this host\",\n );\n return;\n }\n const callParams = (params ?? {}) as {\n name?: unknown;\n arguments?: unknown;\n };\n if (typeof callParams.name !== \"string\") {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"tools/call requires a string 'name'\",\n );\n return;\n }\n if (\n handlers.allowedTools &&\n !handlers.allowedTools.includes(callParams.name)\n ) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n `tool '${callParams.name}' is not allowed for this app`,\n );\n return;\n }\n let callArgs: Record<string, unknown> | undefined;\n if (callParams.arguments !== undefined) {\n if (\n callParams.arguments === null ||\n typeof callParams.arguments !== \"object\" ||\n Array.isArray(callParams.arguments)\n ) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"tools/call 'arguments' must be an object\",\n );\n return;\n }\n callArgs = callParams.arguments as Record<string, unknown>;\n }\n const result = await handlers.callTool({\n name: callParams.name,\n ...(callArgs !== undefined ? { arguments: callArgs } : {}),\n });\n respond(req.id, { result });\n return;\n }\n\n case \"resources/read\": {\n if (!handlers.readResource) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"resources/read is not supported by this host\",\n );\n return;\n }\n const readParams = (params ?? {}) as { uri?: unknown };\n if (typeof readParams.uri !== \"string\") {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"resources/read requires a string 'uri'\",\n );\n return;\n }\n respond(req.id, {\n result: await handlers.readResource({ uri: readParams.uri }),\n });\n return;\n }\n\n case \"resources/list\": {\n if (!handlers.listResources) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"resources/list is not supported by this host\",\n );\n return;\n }\n respond(req.id, {\n result: (await handlers.listResources(params)) ?? null,\n });\n return;\n }\n\n case \"openLink\": {\n if (!handlers.openLink) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"openLink is not supported by this host\",\n );\n return;\n }\n const linkParams = (params ?? {}) as { url?: unknown };\n if (typeof linkParams.url !== \"string\") {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"openLink requires a string 'url'\",\n );\n return;\n }\n let linkProtocol: string;\n try {\n linkProtocol = new URL(linkParams.url).protocol;\n } catch {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"openLink requires a valid URL\",\n );\n return;\n }\n if (linkProtocol !== \"https:\" && linkProtocol !== \"http:\") {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"openLink only accepts http(s) URLs\",\n );\n return;\n }\n respond(req.id, {\n result: await handlers.openLink({ url: linkParams.url }),\n });\n return;\n }\n\n case \"sendMessage\": {\n if (!handlers.sendMessage) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"sendMessage is not supported by this host\",\n );\n return;\n }\n respond(req.id, {\n result: (await handlers.sendMessage(params)) ?? null,\n });\n return;\n }\n\n case \"updateModelContext\": {\n if (!handlers.updateModelContext) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"updateModelContext is not supported by this host\",\n );\n return;\n }\n respond(req.id, {\n result: (await handlers.updateModelContext(params)) ?? null,\n });\n return;\n }\n\n case \"requestDisplayMode\": {\n if (!handlers.requestDisplayMode) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"requestDisplayMode is not supported by this host\",\n );\n return;\n }\n const modeParams = (params ?? {}) as { mode?: unknown };\n if (\n typeof modeParams.mode !== \"string\" ||\n !VALID_DISPLAY_MODES.includes(modeParams.mode as McpAppDisplayMode)\n ) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"requestDisplayMode requires a valid 'mode'\",\n );\n return;\n }\n respond(req.id, {\n result: await handlers.requestDisplayMode({\n mode: modeParams.mode as McpAppDisplayMode,\n }),\n });\n return;\n }\n\n default: {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n `Unknown method: ${req.method}`,\n );\n }\n }\n } catch (err) {\n const error = err instanceof Error ? err : new Error(String(err));\n handlers.onError?.(error);\n errorResponse(req.id, JSONRPC_ERROR.internalError, error.message);\n }\n };\n\n const handleNotification = (note: McpAppJsonRpcNotification) => {\n switch (normalizeMethod(note.method)) {\n case \"notifications/initialized\": {\n handlers.onInitialized?.();\n return;\n }\n case \"notifications/size_changed\": {\n const p = (note.params ?? {}) as { width?: number; height?: number };\n handlers.onSizeChange?.({\n ...(typeof p.width === \"number\" ? { width: p.width } : {}),\n ...(typeof p.height === \"number\" ? { height: p.height } : {}),\n });\n return;\n }\n case \"notifications/log\": {\n handlers.onLog?.(note.params);\n return;\n }\n case \"notifications/request_teardown\": {\n handlers.onRequestTeardown?.(note.params);\n return;\n }\n case \"notifications/error\": {\n const p = (note.params ?? {}) as { message?: string };\n handlers.onError?.(\n new Error(typeof p.message === \"string\" ? p.message : \"Widget error\"),\n );\n return;\n }\n default:\n return;\n }\n };\n\n // The host applies the cross-origin guard before delegating; this only\n // validates the JSON-RPC envelope.\n const onMessage = (event: MessageEvent) => {\n if (!isJsonRpcMessage(event.data)) return;\n\n const msg = event.data;\n if (isRequest(msg)) {\n void handleRequest(msg);\n } else if (isNotification(msg)) {\n handleNotification(msg);\n }\n };\n\n return {\n onMessage,\n dispose: () => {},\n notifyToolInput: (input: unknown) => {\n post({\n jsonrpc: \"2.0\",\n method: \"notifications/tools/call/input\",\n params: { input },\n });\n post({\n jsonrpc: \"2.0\",\n method: \"ui/notifications/tool-input\",\n params: isRecord(input) ? { arguments: input } : {},\n });\n },\n notifyToolResult: (result: unknown) => {\n post({\n jsonrpc: \"2.0\",\n method: \"notifications/tools/call/result\",\n params: { result },\n });\n post({\n jsonrpc: \"2.0\",\n method: \"ui/notifications/tool-result\",\n params: isRecord(result)\n ? result\n : { content: [{ type: \"text\", text: String(result) }] },\n });\n },\n notifyHostContextChanged: (ctx: McpAppHostContext) => {\n post({\n jsonrpc: \"2.0\",\n method: \"notifications/host_context/changed\",\n params: ctx,\n });\n post({\n jsonrpc: \"2.0\",\n method: \"ui/notifications/host-context-changed\",\n params: ctx,\n });\n },\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.js","names":["SandboxHostFrame","MCP_APP_PROTOCOL_VERSION","McpAppBridgeHandlers","McpAppDisplayMode","McpAppHostContext","McpAppHostInfo","McpAppJsonRpcMessage","McpAppJsonRpcNotification","McpAppJsonRpcRequest","McpAppJsonRpcResponse","isRecord","VALID_DISPLAY_MODES","const","McpAppBridgeFrame","CreateMcpAppBridgeOptions","frame","handlers","hostInfo","hostContext","McpAppBridge","onMessage","event","MessageEvent","dispose","notifyToolInput","input","notifyToolResult","result","notifyHostContextChanged","DEFAULT_HOST_INFO","name","version","METHOD_ALIASES","Record","normalizeMethod","method","JSONRPC_ERROR","parseError","invalidRequest","methodNotFound","invalidParams","internalError","isJsonRpcMessage","value","v","jsonrpc","isRequest","msg","isNotification","createMcpAppBridge","opts","post","sendMessage","respond","id","payload","error","code","message","data","res","errorResponse","undefined","handleRequest","req","params","requestedProtocolVersion","protocolVersion","host","capabilities","tools","callTool","resources","readResource","listResources","ui","openLink","requestDisplayMode","updateModelContext","hostCapabilities","openLinks","serverTools","serverResources","text","onLog","logging","callParams","arguments","allowedTools","includes","callArgs","Array","isArray","readParams","uri","linkParams","url","linkProtocol","URL","protocol","modeParams","mode","err","Error","String","onError","handleNotification","note","onInitialized","p","width","height","onSizeChange","onRequestTeardown","content","type","ctx"],"sources":["../../src/mcp-apps/bridge.ts"],"sourcesContent":["import type { SandboxHostFrame } from \"../sandbox-host/SandboxHost\";\nimport {\n MCP_APP_PROTOCOL_VERSION,\n type McpAppBridgeHandlers,\n type McpAppDisplayMode,\n type McpAppHostContext,\n type McpAppHostInfo,\n type McpAppJsonRpcMessage,\n type McpAppJsonRpcNotification,\n type McpAppJsonRpcRequest,\n type McpAppJsonRpcResponse,\n} from \"./types\";\nimport { isRecord } from \"@assistant-ui/core/internal\";\n\nconst VALID_DISPLAY_MODES = [\n \"inline\",\n \"fullscreen\",\n \"pip\",\n] as const satisfies readonly McpAppDisplayMode[];\n\nexport type McpAppBridgeFrame = SandboxHostFrame;\n\nexport type CreateMcpAppBridgeOptions = {\n frame: McpAppBridgeFrame;\n handlers?: McpAppBridgeHandlers | undefined;\n hostInfo?: McpAppHostInfo | undefined;\n hostContext?: McpAppHostContext | undefined;\n};\n\nexport type McpAppBridge = {\n onMessage: (event: MessageEvent) => void;\n dispose: () => void;\n notifyToolInput: (input: unknown) => void;\n notifyToolResult: (result: unknown) => void;\n notifyHostContextChanged: (hostContext: McpAppHostContext) => void;\n};\n\nconst DEFAULT_HOST_INFO: McpAppHostInfo = {\n name: \"assistant-ui\",\n version: \"0.1\",\n};\n\n// Accept both the legacy method names and the MCP-UI 2026-01-26 names that\n// `ui/*` capable widgets (e.g. xmcp's host-bridge) emit. Normalize on input\n// so downstream switch statements only need to know the legacy names.\nconst METHOD_ALIASES: Record<string, string> = {\n \"ui/notifications/initialized\": \"notifications/initialized\",\n \"ui/notifications/size-changed\": \"notifications/size_changed\",\n \"ui/request-display-mode\": \"requestDisplayMode\",\n \"ui/open-link\": \"openLink\",\n \"ui/update-model-context\": \"updateModelContext\",\n \"ui/message\": \"sendMessage\",\n \"notifications/message\": \"notifications/log\",\n};\n\nconst normalizeMethod = (method: string): string =>\n METHOD_ALIASES[method] ?? method;\n\nconst JSONRPC_ERROR = {\n parseError: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internalError: -32603,\n} as const;\n\nfunction isJsonRpcMessage(value: unknown): value is McpAppJsonRpcMessage {\n if (!value || typeof value !== \"object\") return false;\n const v = value as Record<string, unknown>;\n return v.jsonrpc === \"2.0\" && typeof v.method === \"string\";\n}\n\nfunction isRequest(msg: McpAppJsonRpcMessage): msg is McpAppJsonRpcRequest {\n return \"id\" in msg;\n}\n\nfunction isNotification(\n msg: McpAppJsonRpcMessage,\n): msg is McpAppJsonRpcNotification {\n return !(\"id\" in msg);\n}\n\nexport function createMcpAppBridge(\n opts: CreateMcpAppBridgeOptions,\n): McpAppBridge {\n const {\n frame,\n handlers = {},\n hostInfo = DEFAULT_HOST_INFO,\n hostContext = {},\n } = opts;\n\n const post = (msg: McpAppJsonRpcMessage) => {\n frame.sendMessage(msg);\n };\n\n const respond = (\n id: McpAppJsonRpcRequest[\"id\"],\n payload:\n | { result: unknown }\n | { error: { code: number; message: string; data?: unknown } },\n ) => {\n const res: McpAppJsonRpcResponse = {\n jsonrpc: \"2.0\",\n id,\n ...payload,\n };\n post(res);\n };\n\n const errorResponse = (\n id: McpAppJsonRpcRequest[\"id\"],\n code: number,\n message: string,\n data?: unknown,\n ) => {\n respond(id, {\n error: {\n code,\n message,\n ...(data !== undefined ? { data } : {}),\n },\n });\n };\n\n const handleRequest = async (req: McpAppJsonRpcRequest) => {\n try {\n const params = req.params;\n\n switch (normalizeMethod(req.method)) {\n case \"ui/initialize\": {\n const requestedProtocolVersion =\n isRecord(params) && typeof params.protocolVersion === \"string\"\n ? params.protocolVersion\n : MCP_APP_PROTOCOL_VERSION;\n respond(req.id, {\n result: {\n protocolVersion: requestedProtocolVersion,\n host: hostInfo,\n hostInfo,\n hostContext,\n capabilities: {\n tools: handlers.callTool ? {} : undefined,\n resources:\n handlers.readResource || handlers.listResources\n ? {}\n : undefined,\n ui: {\n sendMessage: !!handlers.sendMessage,\n openLink: !!handlers.openLink,\n requestDisplayMode: !!handlers.requestDisplayMode,\n updateModelContext: !!handlers.updateModelContext,\n },\n },\n hostCapabilities: {\n ...(handlers.openLink ? { openLinks: {} } : {}),\n ...(handlers.callTool ? { serverTools: {} } : {}),\n ...(handlers.readResource || handlers.listResources\n ? { serverResources: {} }\n : {}),\n ...(handlers.updateModelContext\n ? { updateModelContext: { text: {} } }\n : {}),\n ...(handlers.sendMessage ? { message: { text: {} } } : {}),\n ...(handlers.onLog ? { logging: {} } : {}),\n },\n },\n });\n return;\n }\n\n case \"tools/call\": {\n if (!handlers.callTool) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"tools/call is not supported by this host\",\n );\n return;\n }\n const callParams = (params ?? {}) as {\n name?: unknown;\n arguments?: unknown;\n };\n if (typeof callParams.name !== \"string\") {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"tools/call requires a string 'name'\",\n );\n return;\n }\n if (\n handlers.allowedTools &&\n !handlers.allowedTools.includes(callParams.name)\n ) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n `tool '${callParams.name}' is not allowed for this app`,\n );\n return;\n }\n let callArgs: Record<string, unknown> | undefined;\n if (callParams.arguments !== undefined) {\n if (\n callParams.arguments === null ||\n typeof callParams.arguments !== \"object\" ||\n Array.isArray(callParams.arguments)\n ) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"tools/call 'arguments' must be an object\",\n );\n return;\n }\n callArgs = callParams.arguments as Record<string, unknown>;\n }\n const result = await handlers.callTool({\n name: callParams.name,\n ...(callArgs !== undefined ? { arguments: callArgs } : {}),\n });\n respond(req.id, { result });\n return;\n }\n\n case \"resources/read\": {\n if (!handlers.readResource) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"resources/read is not supported by this host\",\n );\n return;\n }\n const readParams = (params ?? {}) as { uri?: unknown };\n if (typeof readParams.uri !== \"string\") {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"resources/read requires a string 'uri'\",\n );\n return;\n }\n respond(req.id, {\n result: await handlers.readResource({ uri: readParams.uri }),\n });\n return;\n }\n\n case \"resources/list\": {\n if (!handlers.listResources) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"resources/list is not supported by this host\",\n );\n return;\n }\n respond(req.id, {\n result: (await handlers.listResources(params)) ?? null,\n });\n return;\n }\n\n case \"openLink\": {\n if (!handlers.openLink) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"openLink is not supported by this host\",\n );\n return;\n }\n const linkParams = (params ?? {}) as { url?: unknown };\n if (typeof linkParams.url !== \"string\") {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"openLink requires a string 'url'\",\n );\n return;\n }\n let linkProtocol: string;\n try {\n linkProtocol = new URL(linkParams.url).protocol;\n } catch {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"openLink requires a valid URL\",\n );\n return;\n }\n if (linkProtocol !== \"https:\" && linkProtocol !== \"http:\") {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"openLink only accepts http(s) URLs\",\n );\n return;\n }\n respond(req.id, {\n result: await handlers.openLink({ url: linkParams.url }),\n });\n return;\n }\n\n case \"sendMessage\": {\n if (!handlers.sendMessage) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"sendMessage is not supported by this host\",\n );\n return;\n }\n respond(req.id, {\n result: (await handlers.sendMessage(params)) ?? null,\n });\n return;\n }\n\n case \"updateModelContext\": {\n if (!handlers.updateModelContext) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"updateModelContext is not supported by this host\",\n );\n return;\n }\n respond(req.id, {\n result: (await handlers.updateModelContext(params)) ?? null,\n });\n return;\n }\n\n case \"requestDisplayMode\": {\n if (!handlers.requestDisplayMode) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n \"requestDisplayMode is not supported by this host\",\n );\n return;\n }\n const modeParams = (params ?? {}) as { mode?: unknown };\n if (\n typeof modeParams.mode !== \"string\" ||\n !VALID_DISPLAY_MODES.includes(modeParams.mode as McpAppDisplayMode)\n ) {\n errorResponse(\n req.id,\n JSONRPC_ERROR.invalidParams,\n \"requestDisplayMode requires a valid 'mode'\",\n );\n return;\n }\n respond(req.id, {\n result: await handlers.requestDisplayMode({\n mode: modeParams.mode as McpAppDisplayMode,\n }),\n });\n return;\n }\n\n default: {\n errorResponse(\n req.id,\n JSONRPC_ERROR.methodNotFound,\n `Unknown method: ${req.method}`,\n );\n }\n }\n } catch (err) {\n const error = err instanceof Error ? err : new Error(String(err));\n handlers.onError?.(error);\n errorResponse(req.id, JSONRPC_ERROR.internalError, error.message);\n }\n };\n\n const handleNotification = (note: McpAppJsonRpcNotification) => {\n switch (normalizeMethod(note.method)) {\n case \"notifications/initialized\": {\n handlers.onInitialized?.();\n return;\n }\n case \"notifications/size_changed\": {\n const p = (note.params ?? {}) as { width?: number; height?: number };\n handlers.onSizeChange?.({\n ...(typeof p.width === \"number\" ? { width: p.width } : {}),\n ...(typeof p.height === \"number\" ? { height: p.height } : {}),\n });\n return;\n }\n case \"notifications/log\": {\n handlers.onLog?.(note.params);\n return;\n }\n case \"notifications/request_teardown\": {\n handlers.onRequestTeardown?.(note.params);\n return;\n }\n case \"notifications/error\": {\n const p = (note.params ?? {}) as { message?: string };\n handlers.onError?.(\n new Error(typeof p.message === \"string\" ? p.message : \"Widget error\"),\n );\n return;\n }\n default:\n return;\n }\n };\n\n // The host applies the cross-origin guard before delegating; this only\n // validates the JSON-RPC envelope.\n const onMessage = (event: MessageEvent) => {\n if (!isJsonRpcMessage(event.data)) return;\n\n const msg = event.data;\n if (isRequest(msg)) {\n void handleRequest(msg);\n } else if (isNotification(msg)) {\n handleNotification(msg);\n }\n };\n\n return {\n onMessage,\n dispose: () => {},\n notifyToolInput: (input: unknown) => {\n post({\n jsonrpc: \"2.0\",\n method: \"notifications/tools/call/input\",\n params: { input },\n });\n post({\n jsonrpc: \"2.0\",\n method: \"ui/notifications/tool-input\",\n params: isRecord(input) ? { arguments: input } : {},\n });\n },\n notifyToolResult: (result: unknown) => {\n post({\n jsonrpc: \"2.0\",\n method: \"notifications/tools/call/result\",\n params: { result },\n });\n post({\n jsonrpc: \"2.0\",\n method: \"ui/notifications/tool-result\",\n params: isRecord(result)\n ? result\n : { content: [{ type: \"text\", text: String(result) }] },\n });\n },\n notifyHostContextChanged: (ctx: McpAppHostContext) => {\n post({\n jsonrpc: \"2.0\",\n method: \"notifications/host_context/changed\",\n params: ctx,\n });\n post({\n jsonrpc: \"2.0\",\n method: \"ui/notifications/host-context-changed\",\n params: ctx,\n });\n },\n };\n}\n"],"mappings":"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"}
|
package/dist/mcp-apps/types.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SandboxHostConfig } from "../sandbox-host/SandboxHost.js";
|
|
2
2
|
import { McpAppMetadata, ToolCallMessagePartMcpMetadata } from "@assistant-ui/core";
|
|
3
|
-
|
|
4
3
|
//#region src/mcp-apps/types.d.ts
|
|
5
4
|
declare const MCP_APP_MIME_TYPE: "text/html;profile=mcp-app";
|
|
6
5
|
declare const MCP_APP_PROTOCOL_VERSION: "0.1";
|
|
@@ -41,20 +40,24 @@ type McpAppHostInfo = {
|
|
|
41
40
|
type McpAppsHost = {
|
|
42
41
|
loadResource: (params: {
|
|
43
42
|
uri: string;
|
|
43
|
+
serverId?: string;
|
|
44
44
|
}) => Promise<McpAppResource>;
|
|
45
|
-
callTool: (params: McpAppToolCallParams
|
|
45
|
+
callTool: (params: McpAppToolCallParams & {
|
|
46
|
+
serverId?: string;
|
|
47
|
+
}) => Promise<unknown>;
|
|
46
48
|
readResource: (params: {
|
|
47
49
|
uri: string;
|
|
50
|
+
serverId?: string;
|
|
48
51
|
}) => Promise<unknown>;
|
|
49
52
|
listResources: (params?: unknown) => Promise<unknown>;
|
|
50
53
|
};
|
|
51
54
|
/**
|
|
52
55
|
* Options for `McpAppsRemoteHost`. The host POSTs `{ method, params }` to
|
|
53
|
-
* `url` and expects JSON responses. Method names sent:
|
|
54
|
-
* - `mcp-apps/read-resource` (`{ uri }`) → `McpAppResource`
|
|
55
|
-
* - `tools/call` (`{ name, arguments? }`) → tool result
|
|
56
|
-
* - `resources/read` (`{ uri }`) → resource read result
|
|
57
|
-
* - `resources/list` (`params?`) → list result
|
|
56
|
+
* `url` and expects JSON responses. Params may carry `serverId` for host-side routing. Method names sent:
|
|
57
|
+
* - `mcp-apps/read-resource` (`{ uri, serverId? }`) → `McpAppResource`
|
|
58
|
+
* - `tools/call` (`{ name, arguments?, serverId? }`) → tool result
|
|
59
|
+
* - `resources/read` (`{ uri, serverId? }`) → resource read result
|
|
60
|
+
* - `resources/list` (`{ serverId?, ...params }?`) → list result
|
|
58
61
|
*/
|
|
59
62
|
type McpAppsRemoteHostOptions = {
|
|
60
63
|
url: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../src/mcp-apps/types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../src/mcp-apps/types.ts"],"mappings":";;;cAQa;cAEA;KAED;EACV;EACA;EACA;GACC;;KAGS;EACV;EACA,MAAM;EACN,cAAc;GACb;;KAGS;EACV;EACA,iBAAiB;EACjB;EACA,OAAO;;KAGG;KAEA;EACV;EACA,cAAc;EACd,wBAAwB;GACvB;;KAGS;EACV;EACA;;;;;;;KAQU;EACV,eAAe;IACb;IACA;QACI,QAAQ;EACd,WACE,QAAQ;IAAyB;QAC9B;EACL,eAAe;IACb;IACA;QACI;EACN,gBAAgB,qBAAqB;;;;;;;;;;KAW3B;EACV;EACA,eAAe;EACf,UACI,gCACO,yBAAyB,QAAQ;;KAGlC;EACV;EACA,YAAY;;KAGF;EACV;EACA,YAAY,QAAQ,yBAAyB;EAC7C,gBAAgB;IAAU;QAAkB;EAC5C,iBAAiB,qBAAqB;EACtC,YAAY;IAAU;QAAkB;EACxC,eAAe,oBAAoB;EACnC,sBAAsB,oBAAoB;EAC1C,sBAAsB;IACpB,MAAM;QACF;IAAU,MAAM;;IAAyB,MAAM;;EACrD,gBAAgB;IAAU;IAAgB;;EAC1C;EACA,qBAAqB;EACrB,SAAS;EACT,WAAW,OAAO;;KAGR,sBAAsB;KAEtB;EACV,KAAK;EACL,UAAU;EACV;EACA;EACA,UAAU;EACV,WAAW;EACX,WAAW;EACX,cAAc;;;;;EAKd;;KAGU;EACV;EACA;EACA;EACA;;KAGU;EACV;EACA;EACA;;KAGU;EACV;EACA;EACA;;KAGU;EAEN;EACA;EACA;EACA;;EAGA;EACA;EACA;EACA,OAAO;;KAGD,uBACR,uBACA,4BACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["McpAppMetadata","ToolCallMessagePartMcpMetadata","SandboxHostConfig","MCP_APP_MIME_TYPE","const","MCP_APP_PROTOCOL_VERSION","McpAppResourceCSP","connectDomains","resourceDomains","frameDomains","k","McpAppResourceMeta","prefersBorder","csp","permissions","Record","McpAppResource","uri","mimeType","html","meta","McpAppDisplayMode","McpAppHostContext","theme","displayMode","availableDisplayModes","McpAppHostInfo","name","version","McpAppsHost","loadResource","params","Promise","callTool","McpAppToolCallParams","readResource","listResources","McpAppsRemoteHostOptions","url","fetch","headers","arguments","McpAppBridgeHandlers","allowedTools","openLink","sendMessage","updateModelContext","requestDisplayMode","mode","onSizeChange","width","height","onInitialized","onRequestTeardown","onLog","onError","error","Error","McpAppSandboxConfig","McpAppFrameProps","app","resource","input","output","sandbox","handlers","hostInfo","hostContext","maxHeight","McpAppJsonRpcRequest","jsonrpc","id","method","McpAppJsonRpcNotification","McpAppJsonRpcError","code","message","data","McpAppJsonRpcResponse","result","McpAppJsonRpcMessage"],"sources":["../../src/mcp-apps/types.ts"],"sourcesContent":["import type {\n McpAppMetadata,\n ToolCallMessagePartMcpMetadata,\n} from \"@assistant-ui/core\";\nimport type { SandboxHostConfig } from \"../sandbox-host/SandboxHost\";\n\nexport type { McpAppMetadata, ToolCallMessagePartMcpMetadata };\n\nexport const MCP_APP_MIME_TYPE = \"text/html;profile=mcp-app\" as const;\n\nexport const MCP_APP_PROTOCOL_VERSION = \"0.1\" as const;\n\nexport type McpAppResourceCSP = {\n connectDomains?: string[];\n resourceDomains?: string[];\n frameDomains?: string[];\n [k: string]: unknown;\n};\n\nexport type McpAppResourceMeta = {\n prefersBorder?: boolean;\n csp?: McpAppResourceCSP;\n permissions?: Record<string, unknown>;\n [k: string]: unknown;\n};\n\nexport type McpAppResource = {\n uri: string;\n mimeType: typeof MCP_APP_MIME_TYPE;\n html: string;\n meta?: McpAppResourceMeta;\n};\n\nexport type McpAppDisplayMode = \"inline\" | \"fullscreen\" | \"pip\";\n\nexport type McpAppHostContext = {\n theme?: \"light\" | \"dark\";\n displayMode?: McpAppDisplayMode;\n availableDisplayModes?: McpAppDisplayMode[];\n [k: string]: unknown;\n};\n\nexport type McpAppHostInfo = {\n name: string;\n version: string;\n};\n\n/**\n * What `McpAppRenderer` needs from its host — the data-plane operations\n * the widget can request. Provided by a host resource like\n * `McpAppsRemoteHost`.\n */\nexport type McpAppsHost = {\n loadResource: (params: {
|
|
1
|
+
{"version":3,"file":"types.js","names":["McpAppMetadata","ToolCallMessagePartMcpMetadata","SandboxHostConfig","MCP_APP_MIME_TYPE","const","MCP_APP_PROTOCOL_VERSION","McpAppResourceCSP","connectDomains","resourceDomains","frameDomains","k","McpAppResourceMeta","prefersBorder","csp","permissions","Record","McpAppResource","uri","mimeType","html","meta","McpAppDisplayMode","McpAppHostContext","theme","displayMode","availableDisplayModes","McpAppHostInfo","name","version","McpAppsHost","loadResource","params","serverId","Promise","callTool","McpAppToolCallParams","readResource","listResources","McpAppsRemoteHostOptions","url","fetch","headers","arguments","McpAppBridgeHandlers","allowedTools","openLink","sendMessage","updateModelContext","requestDisplayMode","mode","onSizeChange","width","height","onInitialized","onRequestTeardown","onLog","onError","error","Error","McpAppSandboxConfig","McpAppFrameProps","app","resource","input","output","sandbox","handlers","hostInfo","hostContext","maxHeight","McpAppJsonRpcRequest","jsonrpc","id","method","McpAppJsonRpcNotification","McpAppJsonRpcError","code","message","data","McpAppJsonRpcResponse","result","McpAppJsonRpcMessage"],"sources":["../../src/mcp-apps/types.ts"],"sourcesContent":["import type {\n McpAppMetadata,\n ToolCallMessagePartMcpMetadata,\n} from \"@assistant-ui/core\";\nimport type { SandboxHostConfig } from \"../sandbox-host/SandboxHost\";\n\nexport type { McpAppMetadata, ToolCallMessagePartMcpMetadata };\n\nexport const MCP_APP_MIME_TYPE = \"text/html;profile=mcp-app\" as const;\n\nexport const MCP_APP_PROTOCOL_VERSION = \"0.1\" as const;\n\nexport type McpAppResourceCSP = {\n connectDomains?: string[];\n resourceDomains?: string[];\n frameDomains?: string[];\n [k: string]: unknown;\n};\n\nexport type McpAppResourceMeta = {\n prefersBorder?: boolean;\n csp?: McpAppResourceCSP;\n permissions?: Record<string, unknown>;\n [k: string]: unknown;\n};\n\nexport type McpAppResource = {\n uri: string;\n mimeType: typeof MCP_APP_MIME_TYPE;\n html: string;\n meta?: McpAppResourceMeta;\n};\n\nexport type McpAppDisplayMode = \"inline\" | \"fullscreen\" | \"pip\";\n\nexport type McpAppHostContext = {\n theme?: \"light\" | \"dark\";\n displayMode?: McpAppDisplayMode;\n availableDisplayModes?: McpAppDisplayMode[];\n [k: string]: unknown;\n};\n\nexport type McpAppHostInfo = {\n name: string;\n version: string;\n};\n\n/**\n * What `McpAppRenderer` needs from its host — the data-plane operations\n * the widget can request. Provided by a host resource like\n * `McpAppsRemoteHost`.\n */\nexport type McpAppsHost = {\n loadResource: (params: {\n uri: string;\n serverId?: string;\n }) => Promise<McpAppResource>;\n callTool: (\n params: McpAppToolCallParams & { serverId?: string },\n ) => Promise<unknown>;\n readResource: (params: {\n uri: string;\n serverId?: string;\n }) => Promise<unknown>;\n listResources: (params?: unknown) => Promise<unknown>;\n};\n\n/**\n * Options for `McpAppsRemoteHost`. The host POSTs `{ method, params }` to\n * `url` and expects JSON responses. Params may carry `serverId` for host-side routing. Method names sent:\n * - `mcp-apps/read-resource` (`{ uri, serverId? }`) → `McpAppResource`\n * - `tools/call` (`{ name, arguments?, serverId? }`) → tool result\n * - `resources/read` (`{ uri, serverId? }`) → resource read result\n * - `resources/list` (`{ serverId?, ...params }?`) → list result\n */\nexport type McpAppsRemoteHostOptions = {\n url: string;\n fetch?: typeof fetch;\n headers?:\n | Record<string, string>\n | (() => Record<string, string> | Promise<Record<string, string>>);\n};\n\nexport type McpAppToolCallParams = {\n name: string;\n arguments?: Record<string, unknown>;\n};\n\nexport type McpAppBridgeHandlers = {\n allowedTools?: readonly string[];\n callTool?: (params: McpAppToolCallParams) => Promise<unknown> | unknown;\n readResource?: (params: { uri: string }) => Promise<unknown> | unknown;\n listResources?: (params?: unknown) => Promise<unknown> | unknown;\n openLink?: (params: { url: string }) => Promise<unknown> | unknown;\n sendMessage?: (params: unknown) => Promise<unknown> | unknown;\n updateModelContext?: (params: unknown) => Promise<unknown> | unknown;\n requestDisplayMode?: (params: {\n mode: McpAppDisplayMode;\n }) => Promise<{ mode: McpAppDisplayMode }> | { mode: McpAppDisplayMode };\n onSizeChange?: (params: { width?: number; height?: number }) => void;\n onInitialized?: () => void;\n onRequestTeardown?: (params: unknown) => void;\n onLog?: (params: unknown) => void;\n onError?: (error: Error) => void;\n};\n\nexport type McpAppSandboxConfig = SandboxHostConfig;\n\nexport type McpAppFrameProps = {\n app: McpAppMetadata;\n resource: McpAppResource;\n input?: unknown;\n output?: unknown;\n sandbox?: McpAppSandboxConfig | undefined;\n handlers?: McpAppBridgeHandlers | undefined;\n hostInfo?: McpAppHostInfo | undefined;\n hostContext?: McpAppHostContext | undefined;\n /**\n * Upper bound (in pixels) for the auto-resize height driven by the widget's\n * `notifications/size_changed`. Defaults to 800.\n */\n maxHeight?: number | undefined;\n};\n\nexport type McpAppJsonRpcRequest = {\n jsonrpc: \"2.0\";\n id: string | number;\n method: string;\n params?: unknown;\n};\n\nexport type McpAppJsonRpcNotification = {\n jsonrpc: \"2.0\";\n method: string;\n params?: unknown;\n};\n\nexport type McpAppJsonRpcError = {\n code: number;\n message: string;\n data?: unknown;\n};\n\nexport type McpAppJsonRpcResponse =\n | {\n jsonrpc: \"2.0\";\n id: string | number;\n result: unknown;\n error?: never;\n }\n | {\n jsonrpc: \"2.0\";\n id: string | number;\n result?: never;\n error: McpAppJsonRpcError;\n };\n\nexport type McpAppJsonRpcMessage =\n | McpAppJsonRpcRequest\n | McpAppJsonRpcNotification\n | McpAppJsonRpcResponse;\n"],"mappings":";AAQA,MAAaG,oBAAoB;AAEjC,MAAaE,2BAA2B"}
|
package/dist/mcp-apps/utils.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/mcp-apps/utils.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/mcp-apps/utils.ts"],"mappings":";;KAMK,eAAe,KAAK;;;;;;;;iBAST,sBACd,MAAM,eACL"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AssistantFrameHost, Unsubscribe } from "@assistant-ui/core";
|
|
2
2
|
import { RefObject } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/model-context/frame/useAssistantFrameHost.d.ts
|
|
5
4
|
type UseAssistantFrameHostOptions = {
|
|
6
5
|
iframeRef: Readonly<RefObject<HTMLIFrameElement | null | undefined>>;
|
|
@@ -24,11 +23,7 @@ type UseAssistantFrameHostOptions = {
|
|
|
24
23
|
* }
|
|
25
24
|
* ```
|
|
26
25
|
*/
|
|
27
|
-
declare const useAssistantFrameHost: ({
|
|
28
|
-
iframeRef,
|
|
29
|
-
targetOrigin,
|
|
30
|
-
register
|
|
31
|
-
}: UseAssistantFrameHostOptions) => void;
|
|
26
|
+
declare const useAssistantFrameHost: ({ iframeRef, targetOrigin, register }: UseAssistantFrameHostOptions) => void;
|
|
32
27
|
//#endregion
|
|
33
28
|
export { useAssistantFrameHost };
|
|
34
29
|
//# sourceMappingURL=useAssistantFrameHost.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAssistantFrameHost.d.ts","names":[],"sources":["../../../src/model-context/frame/useAssistantFrameHost.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAssistantFrameHost.d.ts","names":[],"sources":["../../../src/model-context/frame/useAssistantFrameHost.ts"],"mappings":";;;KAMK;EACH,WAAW,SAAS,UAAU;EAC9B;EACA,WAAW,WAAW,uBAAuB;;;;;;;;;;;;;;;;;;;cAoBlC,0BAAyB,WAAA,cAAA,YAInC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAssistantVisible.d.ts","names":[],"sources":["../../src/model-context/makeAssistantVisible.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"makeAssistantVisible.d.ts","names":[],"sources":["../../src/model-context/makeAssistantVisible.tsx"],"mappings":";;cA0Ea,uBAAwB,UAAU,oBAC7C,WAAW,GACX;EAAW;EAAiC;MA6CL"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ActionButtonProps } from "../../utils/createActionButton.js";
|
|
2
|
-
|
|
3
2
|
//#region src/primitives/actionBar/ActionBarCopy.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Hook that provides copy functionality for action bar buttons.
|
|
@@ -25,9 +24,7 @@ import { ActionButtonProps } from "../../utils/createActionButton.js";
|
|
|
25
24
|
* }
|
|
26
25
|
* ```
|
|
27
26
|
*/
|
|
28
|
-
declare const useActionBarPrimitiveCopy: ({
|
|
29
|
-
copiedDuration
|
|
30
|
-
}?: {
|
|
27
|
+
declare const useActionBarPrimitiveCopy: ({ copiedDuration }?: {
|
|
31
28
|
copiedDuration?: number | undefined;
|
|
32
29
|
}) => (() => void) | null;
|
|
33
30
|
declare namespace ActionBarPrimitiveCopy {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarCopy.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarCopy.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;cAiCM,8BAA6B;EAGjC;;kBAee;OACH,UAAU;;;;;OAKV,QAAQ,yBAAyB;;;;;;;;;;;;;;;;cAiBlC,wCAAsB,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarEdit.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarEdit.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarEdit.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarEdit.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;cA8BM;kBAMW;OACH,UAAU;;;;;OAKV,QAAQ,yBAAyB;;;;;;;;;;;;;;;cAgBlC,wCAAsB,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { ActionButtonProps } from "../../utils/createActionButton.js";
|
|
2
|
-
|
|
3
2
|
//#region src/primitives/actionBar/ActionBarExportMarkdown.d.ts
|
|
4
|
-
declare const useActionBarExportMarkdown: ({
|
|
5
|
-
filename,
|
|
6
|
-
onExport
|
|
7
|
-
}?: {
|
|
3
|
+
declare const useActionBarExportMarkdown: ({ filename, onExport }?: {
|
|
8
4
|
filename?: string | undefined;
|
|
9
5
|
onExport?: ((content: string) => void | Promise<void>) | undefined;
|
|
10
6
|
}) => (() => Promise<void>) | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarExportMarkdown.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarExportMarkdown.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarExportMarkdown.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarExportMarkdown.tsx"],"mappings":";;cAQM,+BAA8B,UAAA;EAIlC;EACA,aAAa,2BAA2B;aACpC;kBAgCW;OACH,UAAU;OACV,QAAQ,yBAAyB;;cAGlC,kDAAgC,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA;;;;;;eAtC9B,2BAA2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarFeedbackNegative.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarFeedbackNegative.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"mappings":";;cASM;kBAKW;OACH,UAAU;OACV,QAAQ,yBAAyB;;cAGlC,oDAAkC,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarFeedbackPositive.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarFeedbackPositive.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"mappings":";;cASM;kBAKW;OACH,UAAU;OACV,QAAQ,yBAAyB;;cAGlC,oDAAkC,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarInteractionContext.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarInteractionContext.ts"],"mappings":";KAIY
|
|
1
|
+
{"version":3,"file":"ActionBarInteractionContext.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarInteractionContext.ts"],"mappings":";KAIY;EACV;;cAGW,6CAA2B,QAAA;cAG3B,sCAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarReload.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarReload.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarReload.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarReload.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;cA8BM;kBAMW;OACH,UAAU;;;;;OAKV,QAAQ,yBAAyB;;;;;;;;;;;;;;;;cAiBlC,0CAAwB,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Primitive } from "../../utils/Primitive.js";
|
|
2
2
|
import { ComponentPropsWithoutRef, ComponentRef } from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/actionBar/ActionBarRoot.d.ts
|
|
5
4
|
type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
|
|
6
5
|
declare namespace ActionBarPrimitiveRoot {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarRoot.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarRoot.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarRoot.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarRoot.tsx"],"mappings":";;;KAiBK,oBAAoB,gCAAgC,UAAU;kBAElD;OACH,UAAU,oBAAoB,UAAU;OACxC,QAAQ;;;;;IAKlB;;;;;;;;IAQA;;;;;;;;IAQA;;;;;;;;;;;;;;;;;;;;;;;cAwBS,wCAAsB,0BAAA,KAAA,qBAAA,gBAAA,kCAAA,eAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarSpeak.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarSpeak.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarSpeak.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarSpeak.ts"],"mappings":";;cASM,gCAAiB;kBAMN;OACH,UAAU;OACV,QAAQ,yBAAyB;;cAGlC,yCAAuB,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarStopSpeaking.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarStopSpeaking.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarStopSpeaking.d.ts","names":[],"sources":["../../../src/primitives/actionBar/ActionBarStopSpeaking.tsx"],"mappings":";;cASM;kBAMW;OACH,UAAU;OACV,QAAQ,yBAAyB;;cAGlC,gDAA8B,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA"}
|
|
@@ -10,12 +10,7 @@ type UseActionBarFloatStatusProps = {
|
|
|
10
10
|
autohideFloat?: "always" | "single-branch" | "never" | undefined;
|
|
11
11
|
forceVisible?: boolean | undefined;
|
|
12
12
|
};
|
|
13
|
-
declare const useActionBarFloatStatus: ({
|
|
14
|
-
hideWhenRunning,
|
|
15
|
-
autohide,
|
|
16
|
-
autohideFloat,
|
|
17
|
-
forceVisible
|
|
18
|
-
}: UseActionBarFloatStatusProps) => HideAndFloatStatus;
|
|
13
|
+
declare const useActionBarFloatStatus: ({ hideWhenRunning, autohide, autohideFloat, forceVisible }: UseActionBarFloatStatusProps) => HideAndFloatStatus;
|
|
19
14
|
//#endregion
|
|
20
15
|
export { HideAndFloatStatus, UseActionBarFloatStatusProps, useActionBarFloatStatus };
|
|
21
16
|
//# sourceMappingURL=useActionBarFloatStatus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActionBarFloatStatus.d.ts","names":[],"sources":["../../../src/primitives/actionBar/useActionBarFloatStatus.ts"],"mappings":";aAIY
|
|
1
|
+
{"version":3,"file":"useActionBarFloatStatus.d.ts","names":[],"sources":["../../../src/primitives/actionBar/useActionBarFloatStatus.ts"],"mappings":";aAIY;EACV;EACA;EACA;;KAGU;EACV;EACA;EACA;EACA;;cAGW,4BAA2B,iBAAA,UAAA,eAAA,gBAKrC,iCAA4B"}
|
|
@@ -7,8 +7,6 @@ import { ActionBarPrimitiveStopSpeaking } from "./actionBar/ActionBarStopSpeakin
|
|
|
7
7
|
import { ActionBarPrimitiveFeedbackPositive } from "./actionBar/ActionBarFeedbackPositive.js";
|
|
8
8
|
import { ActionBarPrimitiveFeedbackNegative } from "./actionBar/ActionBarFeedbackNegative.js";
|
|
9
9
|
import { ActionBarPrimitiveExportMarkdown } from "./actionBar/ActionBarExportMarkdown.js";
|
|
10
|
-
|
|
11
|
-
//#region src/primitives/actionBar.d.ts
|
|
12
10
|
declare namespace actionBar_d_exports {
|
|
13
11
|
export { ActionBarPrimitiveCopy as Copy, ActionBarPrimitiveEdit as Edit, ActionBarPrimitiveExportMarkdown as ExportMarkdown, ActionBarPrimitiveFeedbackNegative as FeedbackNegative, ActionBarPrimitiveFeedbackPositive as FeedbackPositive, ActionBarPrimitiveReload as Reload, ActionBarPrimitiveRoot as Root, ActionBarPrimitiveSpeak as Speak, ActionBarPrimitiveStopSpeaking as StopSpeaking };
|
|
14
12
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { WithRenderPropProps } from "../../utils/Primitive.js";
|
|
2
2
|
import { ComponentPropsWithoutRef, ComponentRef } from "react";
|
|
3
3
|
import { DropdownMenu } from "radix-ui";
|
|
4
|
-
|
|
5
4
|
//#region src/primitives/actionBarMore/ActionBarMoreContent.d.ts
|
|
6
5
|
declare namespace ActionBarMorePrimitiveContent {
|
|
7
6
|
type Element = ComponentRef<typeof DropdownMenu.Content>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarMoreContent.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/ActionBarMoreContent.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarMoreContent.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/ActionBarMoreContent.tsx"],"mappings":";;;;kBAYiB;OACH,UAAU,oBAAoB,aAAsB;OACpD,QAAQ,2BACX,aAAsB;IAE7B,cACI,gCAAgC,aAAsB;;;cAKjD,+CAA6B,0BAAA,KAAA,aAAA,2CAAA,cAAA;;;gBALlC,gCAAgC,aAAsB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { WithRenderPropProps } from "../../utils/Primitive.js";
|
|
2
2
|
import { ComponentRef } from "react";
|
|
3
3
|
import { DropdownMenu } from "radix-ui";
|
|
4
|
-
|
|
5
4
|
//#region src/primitives/actionBarMore/ActionBarMoreItem.d.ts
|
|
6
5
|
declare namespace ActionBarMorePrimitiveItem {
|
|
7
6
|
type Element = ComponentRef<typeof DropdownMenu.Item>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarMoreItem.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/ActionBarMoreItem.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarMoreItem.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/ActionBarMoreItem.tsx"],"mappings":";;;;kBAQiB;OACH,UAAU,oBAAoB,aAAsB;OACpD,QAAQ,2BAA2B,aAAsB;;cAG1D,4CAA0B,0BAAA,KAAA,aAAA,wCAAA,cAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarMoreRoot.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/ActionBarMoreRoot.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarMoreRoot.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/ActionBarMoreRoot.tsx"],"mappings":";;;kBAOiB;OACH,QAAQ,aAAsB;;cAG/B,4BAA4B,GACvC,2BAA2B"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { WithRenderPropProps } from "../../utils/Primitive.js";
|
|
2
2
|
import { ComponentRef } from "react";
|
|
3
3
|
import { DropdownMenu } from "radix-ui";
|
|
4
|
-
|
|
5
4
|
//#region src/primitives/actionBarMore/ActionBarMoreSeparator.d.ts
|
|
6
5
|
declare namespace ActionBarMorePrimitiveSeparator {
|
|
7
6
|
type Element = ComponentRef<typeof DropdownMenu.Separator>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarMoreSeparator.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/ActionBarMoreSeparator.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarMoreSeparator.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/ActionBarMoreSeparator.tsx"],"mappings":";;;;kBAQiB;OACH,UAAU,oBAAoB,aAAsB;OACpD,QAAQ,2BACX,aAAsB;;cAIpB,iDAA+B,0BAAA,KAAA,aAAA,6CAAA,cAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { WithRenderPropProps } from "../../utils/Primitive.js";
|
|
2
2
|
import { ComponentRef } from "react";
|
|
3
3
|
import { DropdownMenu } from "radix-ui";
|
|
4
|
-
|
|
5
4
|
//#region src/primitives/actionBarMore/ActionBarMoreTrigger.d.ts
|
|
6
5
|
declare namespace ActionBarMorePrimitiveTrigger {
|
|
7
6
|
type Element = ComponentRef<typeof DropdownMenu.Trigger>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBarMoreTrigger.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/ActionBarMoreTrigger.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBarMoreTrigger.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/ActionBarMoreTrigger.tsx"],"mappings":";;;;kBAQiB;OACH,UAAU,oBAAoB,aAAsB;OACpD,QAAQ,2BAA2B,aAAsB;;cAG1D,+CAA6B,0BAAA,KAAA,aAAA,2CAAA,cAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DropdownMenu } from "radix-ui";
|
|
2
2
|
import { Scope } from "@radix-ui/react-context";
|
|
3
|
-
|
|
4
3
|
//#region src/primitives/actionBarMore/scope.d.ts
|
|
5
4
|
declare const useDropdownMenuScope: ReturnType<typeof DropdownMenu.createDropdownMenuScope>;
|
|
6
5
|
type ScopedProps<P> = P & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/scope.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"scope.d.ts","names":[],"sources":["../../../src/primitives/actionBarMore/scope.ts"],"mappings":";;;cAGa,sBAAsB,kBAC1B,aAAsB;KAGnB,YAAY,KAAK;EAAM,uBAAuB"}
|
|
@@ -3,8 +3,6 @@ import { ActionBarMorePrimitiveTrigger } from "./actionBarMore/ActionBarMoreTrig
|
|
|
3
3
|
import { ActionBarMorePrimitiveContent } from "./actionBarMore/ActionBarMoreContent.js";
|
|
4
4
|
import { ActionBarMorePrimitiveItem } from "./actionBarMore/ActionBarMoreItem.js";
|
|
5
5
|
import { ActionBarMorePrimitiveSeparator } from "./actionBarMore/ActionBarMoreSeparator.js";
|
|
6
|
-
|
|
7
|
-
//#region src/primitives/actionBarMore.d.ts
|
|
8
6
|
declare namespace actionBarMore_d_exports {
|
|
9
7
|
export { ActionBarMorePrimitiveContent as Content, ActionBarMorePrimitiveItem as Item, ActionBarMorePrimitiveRoot as Root, ActionBarMorePrimitiveSeparator as Separator, ActionBarMorePrimitiveTrigger as Trigger };
|
|
10
8
|
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WithRenderPropProps } from "../../utils/Primitive.js";
|
|
2
|
+
import { ComponentRef } from "react";
|
|
2
3
|
import { Popover } from "radix-ui";
|
|
3
|
-
|
|
4
4
|
//#region src/primitives/assistantModal/AssistantModalAnchor.d.ts
|
|
5
5
|
declare namespace AssistantModalPrimitiveAnchor {
|
|
6
6
|
type Element = ComponentRef<typeof Popover.Anchor>;
|
|
7
|
-
type Props =
|
|
7
|
+
type Props = WithRenderPropProps<typeof Popover.Anchor>;
|
|
8
8
|
}
|
|
9
|
-
declare const AssistantModalPrimitiveAnchor: import("react").ForwardRefExoticComponent<Omit<Popover.PopoverAnchorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> &
|
|
9
|
+
declare const AssistantModalPrimitiveAnchor: import("react").ForwardRefExoticComponent<Omit<Popover.PopoverAnchorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
10
|
+
render?: import("react").ReactElement | undefined;
|
|
11
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
10
12
|
//#endregion
|
|
11
13
|
export { AssistantModalPrimitiveAnchor };
|
|
12
14
|
//# sourceMappingURL=AssistantModalAnchor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantModalAnchor.d.ts","names":[],"sources":["../../../src/primitives/assistantModal/AssistantModalAnchor.tsx"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"AssistantModalAnchor.d.ts","names":[],"sources":["../../../src/primitives/assistantModal/AssistantModalAnchor.tsx"],"mappings":";;;;kBAQiB;OACH,UAAU,oBAAoB,QAAiB;OAC/C,QAAQ,2BAA2B,QAAiB;;cAGrD,+CAA6B,0BAAA,KAAA,QAAA,qCAAA,cAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { usePopoverScope } from "./scope.js";
|
|
3
|
+
import { PopoverRenderAnchor } from "./popoverRenderPrimitives.js";
|
|
3
4
|
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
4
5
|
import { forwardRef } from "@assistant-ui/tap/react-shim";
|
|
5
6
|
import { jsx } from "react/jsx-runtime";
|
|
6
|
-
import { Popover } from "radix-ui";
|
|
7
7
|
//#region src/primitives/assistantModal/AssistantModalAnchor.tsx
|
|
8
8
|
const AssistantModalPrimitiveAnchor = forwardRef((t0, ref) => {
|
|
9
9
|
const $ = c(7);
|
|
@@ -21,7 +21,7 @@ const AssistantModalPrimitiveAnchor = forwardRef((t0, ref) => {
|
|
|
21
21
|
const scope = usePopoverScope(__scopeAssistantModal);
|
|
22
22
|
let t1;
|
|
23
23
|
if ($[3] !== ref || $[4] !== rest || $[5] !== scope) {
|
|
24
|
-
t1 = /* @__PURE__ */ jsx(
|
|
24
|
+
t1 = /* @__PURE__ */ jsx(PopoverRenderAnchor, {
|
|
25
25
|
...scope,
|
|
26
26
|
...rest,
|
|
27
27
|
ref
|