@assistant-ui/core 0.2.9 → 0.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/attachment.d.ts.map +1 -1
- package/dist/adapters/attachment.js +22 -12
- package/dist/adapters/attachment.js.map +1 -1
- package/dist/adapters/directive-formatter.js.map +1 -1
- package/dist/adapters/speech.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/model-context/frame/host.js.map +1 -1
- package/dist/model-context/frame/provider.js.map +1 -1
- package/dist/model-context/registry.js.map +1 -1
- package/dist/model-context/tool.d.ts +1 -1
- package/dist/model-context/tool.js +1 -1
- package/dist/model-context/tool.js.map +1 -1
- package/dist/model-context/types.js +17 -2
- package/dist/model-context/types.js.map +1 -1
- package/dist/react/AssistantProvider.js +1 -1
- package/dist/react/AssistantRuntimeProvider.d.ts +1 -1
- package/dist/react/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/react/AssistantRuntimeProvider.js +1 -1
- package/dist/react/RuntimeAdapter.js +4 -2
- package/dist/react/RuntimeAdapter.js.map +1 -1
- package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts.map +1 -1
- package/dist/react/adapters/LocalStorageThreadListAdapter.js +13 -3
- package/dist/react/adapters/LocalStorageThreadListAdapter.js.map +1 -1
- package/dist/react/client/DataRenderers.d.ts.map +1 -1
- package/dist/react/client/DataRenderers.js +6 -5
- package/dist/react/client/DataRenderers.js.map +1 -1
- package/dist/react/client/Interactables.d.ts.map +1 -1
- package/dist/react/client/Interactables.js +30 -29
- package/dist/react/client/Interactables.js.map +1 -1
- package/dist/react/client/Tools.d.ts.map +1 -1
- package/dist/react/client/Tools.js +19 -12
- package/dist/react/client/Tools.js.map +1 -1
- package/dist/react/index.d.ts +10 -5
- package/dist/react/index.js +7 -2
- package/dist/react/model-context/define-mcp-toolkit.d.ts +12 -0
- package/dist/react/model-context/define-mcp-toolkit.d.ts.map +1 -0
- package/dist/react/model-context/define-mcp-toolkit.js +14 -0
- package/dist/react/model-context/define-mcp-toolkit.js.map +1 -0
- package/dist/react/model-context/define-toolkit.d.ts +10 -12
- package/dist/react/model-context/define-toolkit.d.ts.map +1 -1
- package/dist/react/model-context/define-toolkit.js +2 -15
- package/dist/react/model-context/define-toolkit.js.map +1 -1
- package/dist/react/model-context/external-tool.d.ts +14 -0
- package/dist/react/model-context/external-tool.d.ts.map +1 -0
- package/dist/react/model-context/external-tool.js +17 -0
- package/dist/react/model-context/external-tool.js.map +1 -0
- package/dist/react/model-context/human-tool.d.ts +27 -0
- package/dist/react/model-context/human-tool.d.ts.map +1 -0
- package/dist/react/model-context/human-tool.js +30 -0
- package/dist/react/model-context/human-tool.js.map +1 -0
- package/dist/react/model-context/makeAssistantTool.d.ts +8 -0
- package/dist/react/model-context/makeAssistantTool.d.ts.map +1 -1
- package/dist/react/model-context/makeAssistantTool.js +4 -0
- package/dist/react/model-context/makeAssistantTool.js.map +1 -1
- package/dist/react/model-context/makeAssistantToolUI.d.ts +8 -0
- package/dist/react/model-context/makeAssistantToolUI.d.ts.map +1 -1
- package/dist/react/model-context/makeAssistantToolUI.js +4 -0
- package/dist/react/model-context/makeAssistantToolUI.js.map +1 -1
- package/dist/react/model-context/provider-tool.d.ts +15 -0
- package/dist/react/model-context/provider-tool.d.ts.map +1 -0
- package/dist/react/model-context/provider-tool.js +12 -0
- package/dist/react/model-context/provider-tool.js.map +1 -0
- package/dist/react/model-context/stub-tool.d.ts +12 -0
- package/dist/react/model-context/stub-tool.d.ts.map +1 -0
- package/dist/react/model-context/stub-tool.js +15 -0
- package/dist/react/model-context/stub-tool.js.map +1 -0
- package/dist/react/model-context/toolbox.d.ts +64 -17
- package/dist/react/model-context/toolbox.d.ts.map +1 -1
- package/dist/react/model-context/toolbox.js +19 -1
- package/dist/react/model-context/toolbox.js.map +1 -1
- package/dist/react/model-context/useAssistantContext.js +1 -1
- package/dist/react/model-context/useAssistantContext.js.map +1 -1
- package/dist/react/model-context/useAssistantDataUI.js +1 -1
- package/dist/react/model-context/useAssistantDataUI.js.map +1 -1
- package/dist/react/model-context/useAssistantInstructions.js +1 -1
- package/dist/react/model-context/useAssistantInstructions.js.map +1 -1
- package/dist/react/model-context/useAssistantInteractable.js +1 -1
- package/dist/react/model-context/useAssistantInteractable.js.map +1 -1
- package/dist/react/model-context/useAssistantTool.d.ts +11 -1
- package/dist/react/model-context/useAssistantTool.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantTool.js +12 -6
- package/dist/react/model-context/useAssistantTool.js.map +1 -1
- package/dist/react/model-context/useAssistantToolUI.d.ts +13 -4
- package/dist/react/model-context/useAssistantToolUI.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantToolUI.js +7 -4
- package/dist/react/model-context/useAssistantToolUI.js.map +1 -1
- package/dist/react/model-context/useAuiToolOverrides.d.ts +22 -0
- package/dist/react/model-context/useAuiToolOverrides.d.ts.map +1 -0
- package/dist/react/model-context/useAuiToolOverrides.js +31 -0
- package/dist/react/model-context/useAuiToolOverrides.js.map +1 -0
- package/dist/react/model-context/useInlineRender.js +1 -1
- package/dist/react/model-context/useInlineRender.js.map +1 -1
- package/dist/react/model-context/useInteractableState.js +1 -1
- package/dist/react/model-context/useInteractableState.js.map +1 -1
- package/dist/react/model-context/useToolArgsStatus.js +1 -1
- package/dist/react/primitive-hooks/useActionBarCopy.js +1 -1
- package/dist/react/primitive-hooks/useActionBarCopy.js.map +1 -1
- package/dist/react/primitive-hooks/useActionBarEdit.js +1 -1
- package/dist/react/primitive-hooks/useActionBarEdit.js.map +1 -1
- package/dist/react/primitive-hooks/useActionBarFeedback.js +1 -1
- package/dist/react/primitive-hooks/useActionBarFeedback.js.map +1 -1
- package/dist/react/primitive-hooks/useActionBarReload.js +1 -1
- package/dist/react/primitive-hooks/useActionBarReload.js.map +1 -1
- package/dist/react/primitive-hooks/useActionBarSpeak.js +1 -1
- package/dist/react/primitive-hooks/useActionBarSpeak.js.map +1 -1
- package/dist/react/primitive-hooks/useActionBarStopSpeaking.js +1 -1
- package/dist/react/primitive-hooks/useActionBarStopSpeaking.js.map +1 -1
- package/dist/react/primitive-hooks/useBranchPickerNext.js +1 -1
- package/dist/react/primitive-hooks/useBranchPickerNext.js.map +1 -1
- package/dist/react/primitive-hooks/useBranchPickerPrevious.js +1 -1
- package/dist/react/primitive-hooks/useBranchPickerPrevious.js.map +1 -1
- package/dist/react/primitive-hooks/useComposerAddAttachment.js +1 -1
- package/dist/react/primitive-hooks/useComposerAddAttachment.js.map +1 -1
- package/dist/react/primitive-hooks/useComposerCancel.js +1 -1
- package/dist/react/primitive-hooks/useComposerCancel.js.map +1 -1
- package/dist/react/primitive-hooks/useComposerDictate.js +1 -1
- package/dist/react/primitive-hooks/useComposerDictate.js.map +1 -1
- package/dist/react/primitive-hooks/useComposerSend.js +1 -1
- package/dist/react/primitive-hooks/useComposerSend.js.map +1 -1
- package/dist/react/primitive-hooks/useEditComposerCancel.js +1 -1
- package/dist/react/primitive-hooks/useEditComposerCancel.js.map +1 -1
- package/dist/react/primitive-hooks/useEditComposerSend.js +1 -1
- package/dist/react/primitive-hooks/useEditComposerSend.js.map +1 -1
- package/dist/react/primitive-hooks/useMessageBranching.js +1 -1
- package/dist/react/primitive-hooks/useMessageBranching.js.map +1 -1
- package/dist/react/primitive-hooks/useMessageReload.js +1 -1
- package/dist/react/primitive-hooks/useMessageReload.js.map +1 -1
- package/dist/react/primitive-hooks/useSuggestionTrigger.js +1 -1
- package/dist/react/primitive-hooks/useSuggestionTrigger.js.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemArchive.js +1 -1
- package/dist/react/primitive-hooks/useThreadListItemArchive.js.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemDelete.js +1 -1
- package/dist/react/primitive-hooks/useThreadListItemDelete.js.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemTrigger.js +1 -1
- package/dist/react/primitive-hooks/useThreadListItemTrigger.js.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemUnarchive.js +1 -1
- package/dist/react/primitive-hooks/useThreadListItemUnarchive.js.map +1 -1
- package/dist/react/primitive-hooks/useThreadListLoadMore.js +1 -1
- package/dist/react/primitive-hooks/useThreadListLoadMore.js.map +1 -1
- package/dist/react/primitive-hooks/useThreadListNew.js +1 -1
- package/dist/react/primitive-hooks/useThreadListNew.js.map +1 -1
- package/dist/react/primitive-hooks/useVoice.js +1 -1
- package/dist/react/primitive-hooks/useVoice.js.map +1 -1
- package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts +1 -1
- package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js +1 -1
- package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js.map +1 -1
- package/dist/react/primitives/composer/ComposerAttachments.js +1 -1
- package/dist/react/primitives/composer/ComposerAttachments.js.map +1 -1
- package/dist/react/primitives/composer/ComposerQueue.js +1 -1
- package/dist/react/primitives/composer/ComposerQueue.js.map +1 -1
- package/dist/react/primitives/generativeUI/GenerativeUI.js +1 -1
- package/dist/react/primitives/generativeUI/GenerativeUI.js.map +1 -1
- package/dist/react/primitives/message/MessageAttachments.js +1 -1
- package/dist/react/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/react/primitives/message/MessageGroupedParts.js +1 -1
- package/dist/react/primitives/message/MessageGroupedParts.js.map +1 -1
- package/dist/react/primitives/message/MessageParts.d.ts +1 -1
- package/dist/react/primitives/message/MessageParts.js +1 -1
- package/dist/react/primitives/message/MessageParts.js.map +1 -1
- package/dist/react/primitives/message/MessageQuote.js +1 -1
- package/dist/react/primitives/part/PartMessages.d.ts +12 -10
- package/dist/react/primitives/part/PartMessages.d.ts.map +1 -1
- package/dist/react/primitives/part/PartMessages.js +13 -11
- package/dist/react/primitives/part/PartMessages.js.map +1 -1
- package/dist/react/primitives/thread/ThreadMessages.js +1 -1
- package/dist/react/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/react/primitives/thread/ThreadSuggestions.js +1 -1
- package/dist/react/primitives/thread/ThreadSuggestions.js.map +1 -1
- package/dist/react/primitives/threadList/ThreadListItems.js +1 -1
- package/dist/react/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/react/providers/AttachmentByIndexProvider.js.map +1 -1
- package/dist/react/providers/ChainOfThoughtByIndicesProvider.js.map +1 -1
- package/dist/react/providers/ChainOfThoughtPartByIndexProvider.js.map +1 -1
- package/dist/react/providers/MessageByIndexProvider.js.map +1 -1
- package/dist/react/providers/PartByIndexProvider.js.map +1 -1
- package/dist/react/providers/QueueItemByIndexProvider.js.map +1 -1
- package/dist/react/providers/ReadonlyThreadProvider.js +1 -1
- package/dist/react/providers/ReadonlyThreadProvider.js.map +1 -1
- package/dist/react/providers/SuggestionByIndexProvider.js.map +1 -1
- package/dist/react/providers/TextMessagePartProvider.d.ts.map +1 -1
- package/dist/react/providers/TextMessagePartProvider.js +4 -3
- package/dist/react/providers/TextMessagePartProvider.js.map +1 -1
- package/dist/react/providers/ThreadListItemByIndexProvider.js.map +1 -1
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts +7 -0
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +1 -1
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +8 -0
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js +29 -1
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/react/runtimes/RuntimeAdapterProvider.js +1 -1
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +1 -1
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/useCloudThreadListAdapter.js +10 -3
- package/dist/react/runtimes/cloud/useCloudThreadListAdapter.js.map +1 -1
- package/dist/react/runtimes/createMessageConverter.d.ts +2 -2
- package/dist/react/runtimes/createMessageConverter.d.ts.map +1 -1
- package/dist/react/runtimes/createMessageConverter.js.map +1 -1
- package/dist/react/runtimes/external-message-converter.d.ts +4 -3
- package/dist/react/runtimes/external-message-converter.d.ts.map +1 -1
- package/dist/react/runtimes/external-message-converter.js +1 -1
- package/dist/react/runtimes/external-message-converter.js.map +1 -1
- package/dist/react/runtimes/useExternalStoreRuntime.js +1 -1
- package/dist/react/runtimes/useExternalStoreSharedOptions.js +1 -1
- package/dist/react/runtimes/useLocalRuntime.d.ts +2 -1
- package/dist/react/runtimes/useLocalRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/useLocalRuntime.js +4 -3
- package/dist/react/runtimes/useLocalRuntime.js.map +1 -1
- package/dist/react/runtimes/useRemoteThreadListRuntime.js +1 -1
- package/dist/react/runtimes/useRemoteThreadListRuntime.js.map +1 -1
- package/dist/react/utils/groupParts.d.ts +1 -1
- package/dist/react/utils/groupParts.js.map +1 -1
- package/dist/runtime/api/attachment-runtime.js.map +1 -1
- package/dist/runtime/api/composer-runtime.d.ts +8 -2
- package/dist/runtime/api/composer-runtime.d.ts.map +1 -1
- package/dist/runtime/api/composer-runtime.js +14 -0
- package/dist/runtime/api/composer-runtime.js.map +1 -1
- package/dist/runtime/api/message-part-runtime.js.map +1 -1
- package/dist/runtime/api/message-runtime.js +1 -1
- package/dist/runtime/api/message-runtime.js.map +1 -1
- package/dist/runtime/api/thread-list-item-runtime.d.ts +2 -0
- package/dist/runtime/api/thread-list-item-runtime.d.ts.map +1 -1
- package/dist/runtime/api/thread-list-item-runtime.js +6 -0
- package/dist/runtime/api/thread-list-item-runtime.js.map +1 -1
- package/dist/runtime/api/thread-runtime.d.ts +7 -0
- package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
- package/dist/runtime/api/thread-runtime.js.map +1 -1
- package/dist/runtime/base/base-composer-runtime-core.d.ts +4 -0
- package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-composer-runtime-core.js +7 -1
- package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
- package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.d.ts +4 -0
- package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.js +17 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
- package/dist/runtime/interfaces/composer-runtime-core.d.ts +6 -1
- package/dist/runtime/interfaces/composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/interfaces/thread-list-runtime-core.d.ts +1 -0
- package/dist/runtime/interfaces/thread-list-runtime-core.d.ts.map +1 -1
- package/dist/runtime/interfaces/thread-runtime-core.d.ts +4 -0
- package/dist/runtime/interfaces/thread-runtime-core.d.ts.map +1 -1
- package/dist/runtime/queue/external-thread-queue-adapter.d.ts +20 -0
- package/dist/runtime/queue/external-thread-queue-adapter.d.ts.map +1 -0
- package/dist/runtime/queue/external-thread-queue-adapter.js +0 -0
- package/dist/runtime/queue/message-queue.d.ts +20 -0
- package/dist/runtime/queue/message-queue.d.ts.map +1 -0
- package/dist/runtime/queue/message-queue.js +97 -0
- package/dist/runtime/queue/message-queue.js.map +1 -0
- package/dist/runtime/utils/message-repository.js.map +1 -1
- package/dist/runtime/utils/thread-message-like.js.map +1 -1
- package/dist/runtimes/external-store/external-store-adapter.d.ts +5 -1
- package/dist/runtimes/external-store/external-store-adapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-runtime-core.js.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts +1 -0
- package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js +5 -0
- package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts +4 -0
- package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-runtime-core.js +20 -2
- package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
- package/dist/runtimes/local/local-runtime-core.js.map +1 -1
- package/dist/runtimes/local/local-runtime-options.d.ts +5 -0
- package/dist/runtimes/local/local-runtime-options.d.ts.map +1 -1
- package/dist/runtimes/local/local-thread-runtime-core.d.ts +7 -0
- package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/local/local-thread-runtime-core.js +45 -0
- package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
- package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts +3 -0
- package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js +3 -0
- package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts +1 -0
- package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/in-memory.js +3 -0
- package/dist/runtimes/remote-thread-list/adapter/in-memory.js.map +1 -1
- package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/empty-thread-core.js +3 -0
- package/dist/runtimes/remote-thread-list/empty-thread-core.js.map +1 -1
- package/dist/runtimes/remote-thread-list/remote-thread-state.js.map +1 -1
- package/dist/runtimes/remote-thread-list/types.d.ts +1 -0
- package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
- package/dist/runtimes/tool-invocations/ToolInvocationTracker.js.map +1 -1
- package/dist/store/clients/chain-of-thought-client.d.ts.map +1 -1
- package/dist/store/clients/chain-of-thought-client.js +6 -5
- package/dist/store/clients/chain-of-thought-client.js.map +1 -1
- package/dist/store/clients/model-context-client.d.ts.map +1 -1
- package/dist/store/clients/model-context-client.js +6 -5
- package/dist/store/clients/model-context-client.js.map +1 -1
- package/dist/store/clients/no-op-composer-client.d.ts.map +1 -1
- package/dist/store/clients/no-op-composer-client.js +4 -3
- package/dist/store/clients/no-op-composer-client.js.map +1 -1
- package/dist/store/clients/runtime-adapter.d.ts.map +1 -1
- package/dist/store/clients/runtime-adapter.js +7 -6
- package/dist/store/clients/runtime-adapter.js.map +1 -1
- package/dist/store/clients/suggestions.d.ts.map +1 -1
- package/dist/store/clients/suggestions.js +7 -6
- package/dist/store/clients/suggestions.js.map +1 -1
- package/dist/store/clients/thread-message-client.d.ts.map +1 -1
- package/dist/store/clients/thread-message-client.js +13 -12
- package/dist/store/clients/thread-message-client.js.map +1 -1
- package/dist/store/index.d.ts +1 -1
- package/dist/store/runtime-clients/attachment-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/attachment-runtime-client.js +3 -3
- package/dist/store/runtime-clients/attachment-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/composer-runtime-client.d.ts +12 -5
- package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/composer-runtime-client.js +32 -16
- package/dist/store/runtime-clients/composer-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/message-part-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/message-part-runtime-client.js +3 -3
- package/dist/store/runtime-clients/message-part-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/message-runtime-client.d.ts +6 -3
- package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/message-runtime-client.js +17 -16
- package/dist/store/runtime-clients/message-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-list-item-runtime-client.js +9 -7
- package/dist/store/runtime-clients/thread-list-item-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-list-runtime-client.js +11 -10
- package/dist/store/runtime-clients/thread-list-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-runtime-client.js +15 -14
- package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/useSubscribable.d.ts +7 -0
- package/dist/store/runtime-clients/useSubscribable.d.ts.map +1 -0
- package/dist/store/runtime-clients/useSubscribable.js +16 -0
- package/dist/store/runtime-clients/useSubscribable.js.map +1 -0
- package/dist/store/scope-registration.d.ts +1 -1
- package/dist/store/scopes/composer.d.ts +1 -1
- package/dist/store/scopes/queue-item.d.ts +2 -1
- package/dist/store/scopes/queue-item.d.ts.map +1 -1
- package/dist/store/scopes/queue-item.js +6 -0
- package/dist/store/scopes/queue-item.js.map +1 -0
- package/dist/store/scopes/thread-list-item.d.ts +1 -0
- package/dist/store/scopes/thread-list-item.d.ts.map +1 -1
- package/dist/store/scopes/thread.d.ts +1 -1
- package/dist/store/scopes/threads.d.ts +1 -1
- package/dist/types/message.d.ts +2 -1
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js.map +1 -1
- package/dist/utils/composite-context-provider.d.ts +1 -1
- package/dist/utils/composite-context-provider.js +3 -1
- package/dist/utils/composite-context-provider.js.map +1 -1
- package/dist/utils/json/is-json.js.map +1 -1
- package/dist/utils/text.js.map +1 -1
- package/package.json +15 -11
- package/src/adapters/attachment.ts +24 -4
- package/src/index.ts +8 -0
- package/src/model-context/tool.ts +1 -1
- package/src/model-context/types.ts +21 -3
- package/src/react/RuntimeAdapter.ts +6 -4
- package/src/react/adapters/LocalStorageThreadListAdapter.tsx +15 -2
- package/src/react/client/DataRenderers.ts +48 -42
- package/src/react/client/Interactables.ts +263 -267
- package/src/react/client/Tools.ts +123 -115
- package/src/react/index.ts +16 -3
- package/src/react/model-context/define-mcp-toolkit.ts +16 -0
- package/src/react/model-context/define-toolkit.test.ts +101 -6
- package/src/react/model-context/define-toolkit.ts +35 -18
- package/src/react/model-context/external-tool.ts +16 -0
- package/src/react/model-context/human-tool.ts +32 -0
- package/src/react/model-context/makeAssistantTool.ts +8 -0
- package/src/react/model-context/makeAssistantToolUI.ts +8 -0
- package/src/react/model-context/provider-tool.ts +30 -0
- package/src/react/model-context/stub-tool.ts +14 -0
- package/src/react/model-context/toolbox.test.ts +182 -0
- package/src/react/model-context/toolbox.ts +191 -23
- package/src/react/model-context/useAssistantTool.ts +28 -8
- package/src/react/model-context/useAssistantToolUI.ts +13 -4
- package/src/react/model-context/useAuiToolOverrides.ts +38 -0
- package/src/react/primitives/message/MessageGroupedParts.tsx +1 -1
- package/src/react/primitives/part/PartMessages.tsx +12 -10
- package/src/react/providers/TextMessagePartProvider.tsx +31 -32
- package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +43 -0
- package/src/react/runtimes/cloud/useCloudThreadListAdapter.tsx +9 -0
- package/src/react/runtimes/createMessageConverter.ts +2 -1
- package/src/react/runtimes/external-message-converter.ts +5 -3
- package/src/react/runtimes/useLocalRuntime.ts +2 -0
- package/src/runtime/api/composer-runtime.ts +26 -0
- package/src/runtime/api/thread-list-item-runtime.ts +15 -0
- package/src/runtime/base/base-composer-runtime-core.ts +11 -0
- package/src/runtime/base/default-thread-composer-runtime-core.ts +22 -0
- package/src/runtime/interfaces/composer-runtime-core.ts +7 -0
- package/src/runtime/interfaces/thread-list-runtime-core.ts +4 -0
- package/src/runtime/interfaces/thread-runtime-core.ts +5 -0
- package/src/runtime/queue/external-thread-queue-adapter.ts +14 -0
- package/src/runtime/queue/message-queue.ts +128 -0
- package/src/runtimes/external-store/external-store-adapter.ts +10 -0
- package/src/runtimes/external-store/external-store-thread-list-runtime-core.ts +13 -0
- package/src/runtimes/external-store/external-store-thread-runtime-core.ts +31 -2
- package/src/runtimes/local/local-runtime-options.ts +6 -0
- package/src/runtimes/local/local-thread-runtime-core.ts +70 -0
- package/src/runtimes/readonly/ReadonlyThreadRuntimeCore.ts +4 -0
- package/src/runtimes/remote-thread-list/adapter/in-memory.ts +4 -0
- package/src/runtimes/remote-thread-list/empty-thread-core.ts +4 -0
- package/src/runtimes/remote-thread-list/types.ts +4 -0
- package/src/store/clients/chain-of-thought-client.ts +24 -25
- package/src/store/clients/model-context-client.test.ts +87 -2
- package/src/store/clients/model-context-client.ts +22 -19
- package/src/store/clients/no-op-composer-client.ts +69 -66
- package/src/store/clients/runtime-adapter.ts +9 -6
- package/src/store/clients/suggestions.ts +41 -40
- package/src/store/clients/thread-message-client.ts +127 -132
- package/src/store/runtime-clients/attachment-runtime-client.ts +7 -3
- package/src/store/runtime-clients/composer-runtime-client.ts +142 -113
- package/src/store/runtime-clients/message-part-runtime-client.ts +16 -14
- package/src/store/runtime-clients/message-runtime-client.ts +124 -122
- package/src/store/runtime-clients/thread-list-item-runtime-client.ts +44 -44
- package/src/store/runtime-clients/thread-list-runtime-client.ts +83 -80
- package/src/store/runtime-clients/thread-runtime-client.ts +113 -119
- package/src/store/runtime-clients/{tap-subscribable.ts → useSubscribable.ts} +4 -4
- package/src/store/scopes/queue-item.ts +2 -0
- package/src/store/scopes/thread-list-item.ts +1 -0
- package/src/tests/RemoteThreadListThreadListRuntimeCore-custom-metadata.test.ts +69 -1
- package/src/tests/attachment-adapters.test.ts +86 -0
- package/src/tests/external-store-thread-runtime-core.test.ts +125 -0
- package/src/tests/message-queue.test.ts +168 -0
- package/src/tests/thread-list-runtime-getLoadThreadsPromise.test.ts +1 -0
- package/src/types/message.ts +2 -0
- package/src/utils/composite-context-provider.ts +3 -1
- package/dist/react/model-context/hitl.d.ts +0 -19
- package/dist/react/model-context/hitl.d.ts.map +0 -1
- package/dist/react/model-context/hitl.js +0 -22
- package/dist/react/model-context/hitl.js.map +0 -1
- package/dist/store/runtime-clients/tap-subscribable.d.ts +0 -7
- package/dist/store/runtime-clients/tap-subscribable.d.ts.map +0 -1
- package/dist/store/runtime-clients/tap-subscribable.js +0 -16
- package/dist/store/runtime-clients/tap-subscribable.js.map +0 -1
- package/src/react/model-context/hitl.ts +0 -22
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/react/model-context/define-mcp-toolkit.ts
|
|
2
|
+
/**
|
|
3
|
+
* Defines MCP server tools as a spreadable toolkit fragment.
|
|
4
|
+
*/
|
|
5
|
+
function defineMcpToolkit(definition) {
|
|
6
|
+
return Object.fromEntries(Object.entries(definition).map(([name, server]) => [name, {
|
|
7
|
+
type: "mcp",
|
|
8
|
+
server
|
|
9
|
+
}]));
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { defineMcpToolkit };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=define-mcp-toolkit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-mcp-toolkit.js","names":[],"sources":["../../../src/react/model-context/define-mcp-toolkit.ts"],"sourcesContent":["import type { McpServerConfig } from \"assistant-stream\";\nimport type { Toolkit } from \"./toolbox\";\n\nexport type McpToolkitDefinition = Record<string, McpServerConfig>;\n\n/**\n * Defines MCP server tools as a spreadable toolkit fragment.\n */\nexport function defineMcpToolkit(definition: McpToolkitDefinition): Toolkit {\n return Object.fromEntries(\n Object.entries(definition).map(([name, server]) => [\n name,\n { type: \"mcp\", server },\n ]),\n ) as Toolkit;\n}\n"],"mappings":";;;;AAQA,SAAgB,iBAAiB,YAA2C;CAC1E,OAAO,OAAO,YACZ,OAAO,QAAQ,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,YAAY,CACjD,MACA;EAAE,MAAM;EAAO;CAAO,CACxB,CAAC,CACH;AACF"}
|
|
@@ -1,20 +1,18 @@
|
|
|
1
|
-
import { Toolkit,
|
|
1
|
+
import { Toolkit, ToolkitDefinition, ToolkitDefinitionEntryWithParameters } from "./toolbox.js";
|
|
2
2
|
|
|
3
3
|
//#region src/react/model-context/define-toolkit.d.ts
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Toolkit authoring helper. Accepts the permissive {@link ToolkitDefinition}
|
|
6
|
+
* (a generative `backend` tool may carry its server `execute`) and types the
|
|
7
|
+
* result as the canonical {@link Toolkit}.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* module was not compiled by a use-generative loader — e.g. `defineToolkit` used
|
|
14
|
-
* outside a `"use generative"` file — which would ship a backend `execute` to the
|
|
15
|
-
* client. So it throws instead of silently leaking.
|
|
9
|
+
* In a `"use generative"` file, the compiler strips the wrapper per build so it
|
|
10
|
+
* can split schemas, renderers, and executors across the client/server boundary.
|
|
11
|
+
* Outside generative compilation, it returns the toolkit unchanged and can be
|
|
12
|
+
* used for plain frontend/backend/human toolkit objects.
|
|
16
13
|
*/
|
|
17
|
-
declare function defineToolkit(
|
|
14
|
+
declare function defineToolkit<TArgsByName extends { [K in keyof TArgsByName]: Record<string, unknown> }, TResultByName extends { [K in keyof TArgsByName]: unknown } = { [K in keyof TArgsByName]: any }>(_definition: { [K in keyof TArgsByName]: ToolkitDefinitionEntryWithParameters<TArgsByName[K], TResultByName[K]> }): Toolkit & { [K in keyof TArgsByName]: ToolkitDefinitionEntryWithParameters<TArgsByName[K], TResultByName[K]> };
|
|
15
|
+
declare function defineToolkit<const TDefinition extends ToolkitDefinition>(_definition: TDefinition): Toolkit & TDefinition;
|
|
18
16
|
//#endregion
|
|
19
17
|
export { defineToolkit };
|
|
20
18
|
//# sourceMappingURL=define-toolkit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-toolkit.d.ts","names":[],"sources":["../../../src/react/model-context/define-toolkit.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"define-toolkit.d.ts","names":[],"sources":["../../../src/react/model-context/define-toolkit.ts"],"mappings":";;;;;AAgBA;;;;;;;;iBAAgB,aAAA,mCAEA,WAAA,GAAc,MAAA,yDAEQ,WAAA,6BACtB,WAAA,UAEd,WAAA,gBACY,WAAA,GAAc,oCAAA,CACxB,WAAA,CAAY,CAAA,GACZ,aAAA,CAAc,CAAA,OAEd,OAAA,iBACU,WAAA,GAAc,oCAAA,CACxB,WAAA,CAAY,CAAA,GACZ,aAAA,CAAc,CAAA;AAAA,iBAGF,aAAA,2BAAwC,iBAAA,EACtD,WAAA,EAAa,WAAA,GACZ,OAAA,GAAU,WAAA"}
|
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
//#region src/react/model-context/define-toolkit.ts
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* {@link ToolkitDeclaration} (a `backend` tool may carry its server `execute`)
|
|
5
|
-
* and types the result as the canonical {@link Toolkit}.
|
|
6
|
-
*
|
|
7
|
-
* It has **no runtime implementation**. A `"use generative"` compiler (e.g.
|
|
8
|
-
* `@assistant-ui/next` or `@assistant-ui/vite`) strips the `defineToolkit(...)`
|
|
9
|
-
* wrapper (and its import) per build, so a correctly compiled
|
|
10
|
-
* `export default defineToolkit({...})` never calls this. If it *does* run, the
|
|
11
|
-
* module was not compiled by a use-generative loader — e.g. `defineToolkit` used
|
|
12
|
-
* outside a `"use generative"` file — which would ship a backend `execute` to the
|
|
13
|
-
* client. So it throws instead of silently leaking.
|
|
14
|
-
*/
|
|
15
|
-
function defineToolkit(_declaration) {
|
|
16
|
-
throw new Error("[assistant-ui] defineToolkit() has no runtime implementation — it is stripped at build time by the use-generative compiler. Reaching it means this module was not compiled (e.g. defineToolkit used outside a \"use generative\" file). Add the directive, or do not use defineToolkit here.");
|
|
2
|
+
function defineToolkit(_definition) {
|
|
3
|
+
return _definition;
|
|
17
4
|
}
|
|
18
5
|
//#endregion
|
|
19
6
|
export { defineToolkit };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-toolkit.js","names":[],"sources":["../../../src/react/model-context/define-toolkit.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"define-toolkit.js","names":[],"sources":["../../../src/react/model-context/define-toolkit.ts"],"sourcesContent":["import type {\n Toolkit,\n ToolkitDefinition,\n ToolkitDefinitionEntryWithParameters,\n} from \"./toolbox\";\n\n/**\n * Toolkit authoring helper. Accepts the permissive {@link ToolkitDefinition}\n * (a generative `backend` tool may carry its server `execute`) and types the\n * result as the canonical {@link Toolkit}.\n *\n * In a `\"use generative\"` file, the compiler strips the wrapper per build so it\n * can split schemas, renderers, and executors across the client/server boundary.\n * Outside generative compilation, it returns the toolkit unchanged and can be\n * used for plain frontend/backend/human toolkit objects.\n */\nexport function defineToolkit<\n TArgsByName extends {\n [K in keyof TArgsByName]: Record<string, unknown>;\n },\n TResultByName extends { [K in keyof TArgsByName]: unknown } = {\n [K in keyof TArgsByName]: any;\n },\n>(_definition: {\n [K in keyof TArgsByName]: ToolkitDefinitionEntryWithParameters<\n TArgsByName[K],\n TResultByName[K]\n >;\n}): Toolkit & {\n [K in keyof TArgsByName]: ToolkitDefinitionEntryWithParameters<\n TArgsByName[K],\n TResultByName[K]\n >;\n};\nexport function defineToolkit<const TDefinition extends ToolkitDefinition>(\n _definition: TDefinition,\n): Toolkit & TDefinition;\nexport function defineToolkit(_definition: ToolkitDefinition): Toolkit {\n return _definition as Toolkit;\n}\n"],"mappings":";AAqCA,SAAgB,cAAc,aAAyC;CACrE,OAAO;AACT"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/react/model-context/external-tool.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Marks a generative toolkit entry as an externally executed backend tool.
|
|
4
|
+
*
|
|
5
|
+
* Use this when another system (for example a backend route or LangGraph node)
|
|
6
|
+
* already defines and executes the tool, but assistant-ui should render its
|
|
7
|
+
* tool calls. The use-generative compiler omits `execute: externalTool()`
|
|
8
|
+
* entries from the server build and keeps a `type: "backend"` renderer on the
|
|
9
|
+
* client build.
|
|
10
|
+
*/
|
|
11
|
+
declare function externalTool(): never;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { externalTool };
|
|
14
|
+
//# sourceMappingURL=external-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-tool.d.ts","names":[],"sources":["../../../src/react/model-context/external-tool.ts"],"mappings":";;AASA;;;;AAA4B;;;;iBAAZ,YAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/react/model-context/external-tool.ts
|
|
2
|
+
/**
|
|
3
|
+
* Marks a generative toolkit entry as an externally executed backend tool.
|
|
4
|
+
*
|
|
5
|
+
* Use this when another system (for example a backend route or LangGraph node)
|
|
6
|
+
* already defines and executes the tool, but assistant-ui should render its
|
|
7
|
+
* tool calls. The use-generative compiler omits `execute: externalTool()`
|
|
8
|
+
* entries from the server build and keeps a `type: "backend"` renderer on the
|
|
9
|
+
* client build.
|
|
10
|
+
*/
|
|
11
|
+
function externalTool() {
|
|
12
|
+
throw new Error("[assistant-ui] externalTool() has no runtime implementation - it marks a tool that executes outside assistant-ui and is stripped at build time by the use-generative compiler. Make sure this module is compiled as \"use generative\".");
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { externalTool };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=external-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-tool.js","names":[],"sources":["../../../src/react/model-context/external-tool.ts"],"sourcesContent":["/**\n * Marks a generative toolkit entry as an externally executed backend tool.\n *\n * Use this when another system (for example a backend route or LangGraph node)\n * already defines and executes the tool, but assistant-ui should render its\n * tool calls. The use-generative compiler omits `execute: externalTool()`\n * entries from the server build and keeps a `type: \"backend\"` renderer on the\n * client build.\n */\nexport function externalTool(): never {\n throw new Error(\n \"[assistant-ui] externalTool() has no runtime implementation - it marks a \" +\n \"tool that executes outside assistant-ui and is stripped at build time \" +\n 'by the use-generative compiler. Make sure this module is compiled as \"use generative\".',\n );\n}\n"],"mappings":";;;;;;;;;;AASA,SAAgB,eAAsB;CACpC,MAAM,IAAI,MACR,yOAGF;AACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/react/model-context/human-tool.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Marks a tool as **human-in-the-loop**: the agent pauses and the UI (`render`)
|
|
4
|
+
* supplies the result instead of code. Use it as the tool's `execute`:
|
|
5
|
+
*
|
|
6
|
+
* ```tsx
|
|
7
|
+
* confirm: { execute: humanTool(), render: (props) => <Confirm {...props} /> }
|
|
8
|
+
* ```
|
|
9
|
+
*
|
|
10
|
+
* Unlike {@link defineToolkit}, it has **no runtime implementation**: a
|
|
11
|
+
* `"use generative"` compiler (e.g. `@assistant-ui/next` or `@assistant-ui/vite`)
|
|
12
|
+
* detects `execute: humanTool()`, drops it, and stamps the tool `type: "human"`.
|
|
13
|
+
* Reaching it at runtime means the module wasn't compiled (used outside a
|
|
14
|
+
* `"use generative"` file), so it throws.
|
|
15
|
+
*/
|
|
16
|
+
declare function humanTool(): never;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Use {@link humanTool}.
|
|
19
|
+
*/
|
|
20
|
+
declare const hitlTool: typeof humanTool;
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Use {@link humanTool}.
|
|
23
|
+
*/
|
|
24
|
+
declare const hitl: typeof humanTool;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { hitl, hitlTool, humanTool };
|
|
27
|
+
//# sourceMappingURL=human-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"human-tool.d.ts","names":[],"sources":["../../../src/react/model-context/human-tool.ts"],"mappings":";;AAcA;;;;AAAyB;AAYzB;;;;AAAiC;AAKjC;;;iBAjBgB,SAAA;AAiBa;;;AAAA,cALhB,QAAA,SAAQ,SAAY;;;;cAKpB,IAAA,SAAI,SAAY"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region src/react/model-context/human-tool.ts
|
|
2
|
+
/**
|
|
3
|
+
* Marks a tool as **human-in-the-loop**: the agent pauses and the UI (`render`)
|
|
4
|
+
* supplies the result instead of code. Use it as the tool's `execute`:
|
|
5
|
+
*
|
|
6
|
+
* ```tsx
|
|
7
|
+
* confirm: { execute: humanTool(), render: (props) => <Confirm {...props} /> }
|
|
8
|
+
* ```
|
|
9
|
+
*
|
|
10
|
+
* Unlike {@link defineToolkit}, it has **no runtime implementation**: a
|
|
11
|
+
* `"use generative"` compiler (e.g. `@assistant-ui/next` or `@assistant-ui/vite`)
|
|
12
|
+
* detects `execute: humanTool()`, drops it, and stamps the tool `type: "human"`.
|
|
13
|
+
* Reaching it at runtime means the module wasn't compiled (used outside a
|
|
14
|
+
* `"use generative"` file), so it throws.
|
|
15
|
+
*/
|
|
16
|
+
function humanTool() {
|
|
17
|
+
throw new Error("[assistant-ui] humanTool() has no runtime implementation — it marks a human-in-the-loop tool and is stripped at build time by the use-generative compiler. Reaching it means this module was not compiled (e.g. humanTool() used outside a \"use generative\" file).");
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Use {@link humanTool}.
|
|
21
|
+
*/
|
|
22
|
+
const hitlTool = humanTool;
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Use {@link humanTool}.
|
|
25
|
+
*/
|
|
26
|
+
const hitl = humanTool;
|
|
27
|
+
//#endregion
|
|
28
|
+
export { hitl, hitlTool, humanTool };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=human-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"human-tool.js","names":[],"sources":["../../../src/react/model-context/human-tool.ts"],"sourcesContent":["/**\n * Marks a tool as **human-in-the-loop**: the agent pauses and the UI (`render`)\n * supplies the result instead of code. Use it as the tool's `execute`:\n *\n * ```tsx\n * confirm: { execute: humanTool(), render: (props) => <Confirm {...props} /> }\n * ```\n *\n * Unlike {@link defineToolkit}, it has **no runtime implementation**: a\n * `\"use generative\"` compiler (e.g. `@assistant-ui/next` or `@assistant-ui/vite`)\n * detects `execute: humanTool()`, drops it, and stamps the tool `type: \"human\"`.\n * Reaching it at runtime means the module wasn't compiled (used outside a\n * `\"use generative\"` file), so it throws.\n */\nexport function humanTool(): never {\n throw new Error(\n \"[assistant-ui] humanTool() has no runtime implementation — it marks a \" +\n \"human-in-the-loop tool and is stripped at build time by the \" +\n \"use-generative compiler. Reaching it means this module was not compiled \" +\n '(e.g. humanTool() used outside a \"use generative\" file).',\n );\n}\n\n/**\n * @deprecated Use {@link humanTool}.\n */\nexport const hitlTool = humanTool;\n\n/**\n * @deprecated Use {@link humanTool}.\n */\nexport const hitl = humanTool;\n"],"mappings":";;;;;;;;;;;;;;;AAcA,SAAgB,YAAmB;CACjC,MAAM,IAAI,MACR,sQAIF;AACF;;;;AAKA,MAAa,WAAW;;;;AAKxB,MAAa,OAAO"}
|
|
@@ -7,6 +7,10 @@ import { FC } from "react";
|
|
|
7
7
|
*
|
|
8
8
|
* Rendering the component registers its tool for the lifetime of that render
|
|
9
9
|
* subtree.
|
|
10
|
+
*
|
|
11
|
+
* @deprecated Use a toolkit with `Tools({ toolkit })` and register it via
|
|
12
|
+
* `useAui({ tools: Tools({ toolkit }) })` instead. See
|
|
13
|
+
* https://assistant-ui.com/docs/migrations/toolkit-tools.
|
|
10
14
|
*/
|
|
11
15
|
type AssistantTool = FC & {
|
|
12
16
|
/** Tool definition registered by this component. */unstable_tool: AssistantToolProps<any, any>;
|
|
@@ -18,6 +22,10 @@ type AssistantTool = FC & {
|
|
|
18
22
|
* rather than calling {@link useAssistantTool} directly.
|
|
19
23
|
*
|
|
20
24
|
* @param tool - Tool definition and name to register.
|
|
25
|
+
*
|
|
26
|
+
* @deprecated Use a toolkit with `Tools({ toolkit })` and register it via
|
|
27
|
+
* `useAui({ tools: Tools({ toolkit }) })` instead. See
|
|
28
|
+
* https://assistant-ui.com/docs/migrations/toolkit-tools.
|
|
21
29
|
*/
|
|
22
30
|
declare const makeAssistantTool: <TArgs extends Record<string, unknown>, TResult>(tool: AssistantToolProps<TArgs, TResult>) => AssistantTool;
|
|
23
31
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAssistantTool.d.ts","names":[],"sources":["../../../src/react/model-context/makeAssistantTool.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"makeAssistantTool.d.ts","names":[],"sources":["../../../src/react/model-context/makeAssistantTool.ts"],"mappings":";;;;;;AAaA;;;;;;;;KAAY,aAAA,GAAgB,EAAA;EAiBf,oDAfX,aAAA,EAAe,kBAAkB;AAAA;;;;;;;;;;;;;cAetB,iBAAA,iBACG,MAAA,4BAGd,IAAA,EAAM,kBAAA,CAAmB,KAAA,EAAO,OAAA,MAAQ,aAAA"}
|
|
@@ -7,6 +7,10 @@ import { useAssistantTool } from "./useAssistantTool.js";
|
|
|
7
7
|
* rather than calling {@link useAssistantTool} directly.
|
|
8
8
|
*
|
|
9
9
|
* @param tool - Tool definition and name to register.
|
|
10
|
+
*
|
|
11
|
+
* @deprecated Use a toolkit with `Tools({ toolkit })` and register it via
|
|
12
|
+
* `useAui({ tools: Tools({ toolkit }) })` instead. See
|
|
13
|
+
* https://assistant-ui.com/docs/migrations/toolkit-tools.
|
|
10
14
|
*/
|
|
11
15
|
const makeAssistantTool = (tool) => {
|
|
12
16
|
const Tool = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAssistantTool.js","names":[],"sources":["../../../src/react/model-context/makeAssistantTool.ts"],"sourcesContent":["import type { FC } from \"react\";\nimport { type AssistantToolProps, useAssistantTool } from \"./useAssistantTool\";\n\n/**\n * Component returned by {@link makeAssistantTool}.\n *\n * Rendering the component registers its tool for the lifetime of that render\n * subtree.\n */\nexport type AssistantTool = FC & {\n /** Tool definition registered by this component. */\n unstable_tool: AssistantToolProps<any, any>;\n};\n\n/**\n * Creates a React component that registers an assistant tool when rendered.\n *\n * Use this when exporting reusable tool modules that can be included in JSX\n * rather than calling {@link useAssistantTool} directly.\n *\n * @param tool - Tool definition and name to register.\n */\nexport const makeAssistantTool = <\n TArgs extends Record<string, unknown>,\n TResult,\n>(\n tool: AssistantToolProps<TArgs, TResult>,\n) => {\n const Tool: AssistantTool = () => {\n useAssistantTool(tool);\n return null;\n };\n Tool.unstable_tool = tool;\n return Tool;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"makeAssistantTool.js","names":[],"sources":["../../../src/react/model-context/makeAssistantTool.ts"],"sourcesContent":["import type { FC } from \"react\";\nimport { type AssistantToolProps, useAssistantTool } from \"./useAssistantTool\";\n\n/**\n * Component returned by {@link makeAssistantTool}.\n *\n * Rendering the component registers its tool for the lifetime of that render\n * subtree.\n *\n * @deprecated Use a toolkit with `Tools({ toolkit })` and register it via\n * `useAui({ tools: Tools({ toolkit }) })` instead. See\n * https://assistant-ui.com/docs/migrations/toolkit-tools.\n */\nexport type AssistantTool = FC & {\n /** Tool definition registered by this component. */\n unstable_tool: AssistantToolProps<any, any>;\n};\n\n/**\n * Creates a React component that registers an assistant tool when rendered.\n *\n * Use this when exporting reusable tool modules that can be included in JSX\n * rather than calling {@link useAssistantTool} directly.\n *\n * @param tool - Tool definition and name to register.\n *\n * @deprecated Use a toolkit with `Tools({ toolkit })` and register it via\n * `useAui({ tools: Tools({ toolkit }) })` instead. See\n * https://assistant-ui.com/docs/migrations/toolkit-tools.\n */\nexport const makeAssistantTool = <\n TArgs extends Record<string, unknown>,\n TResult,\n>(\n tool: AssistantToolProps<TArgs, TResult>,\n) => {\n const Tool: AssistantTool = () => {\n useAssistantTool(tool);\n return null;\n };\n Tool.unstable_tool = tool;\n return Tool;\n};\n"],"mappings":";;;;;;;;;;;;;;AA8BA,MAAa,qBAIX,SACG;CACH,MAAM,aAA4B;EAChC,iBAAiB,IAAI;EACrB,OAAO;CACT;CACA,KAAK,gBAAgB;CACrB,OAAO;AACT"}
|
|
@@ -7,6 +7,10 @@ import { FC } from "react";
|
|
|
7
7
|
*
|
|
8
8
|
* Rendering the component registers a renderer for matching tool-call message
|
|
9
9
|
* parts.
|
|
10
|
+
*
|
|
11
|
+
* @deprecated Put `render`/`renderText` on the matching toolkit entry, or use
|
|
12
|
+
* `MessagePrimitive.Parts` inline tool render overrides for per-message UI.
|
|
13
|
+
* See https://assistant-ui.com/docs/migrations/toolkit-tools.
|
|
10
14
|
*/
|
|
11
15
|
type AssistantToolUI = FC & {
|
|
12
16
|
/** Tool renderer registered by this component. */unstable_tool: AssistantToolUIProps<any, any>;
|
|
@@ -18,6 +22,10 @@ type AssistantToolUI = FC & {
|
|
|
18
22
|
* are registered elsewhere.
|
|
19
23
|
*
|
|
20
24
|
* @param tool - Tool renderer registration.
|
|
25
|
+
*
|
|
26
|
+
* @deprecated Put `render`/`renderText` on the matching toolkit entry, or use
|
|
27
|
+
* `MessagePrimitive.Parts` inline tool render overrides for per-message UI.
|
|
28
|
+
* See https://assistant-ui.com/docs/migrations/toolkit-tools.
|
|
21
29
|
*/
|
|
22
30
|
declare const makeAssistantToolUI: <TArgs, TResult>(tool: AssistantToolUIProps<TArgs, TResult>) => AssistantToolUI;
|
|
23
31
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAssistantToolUI.d.ts","names":[],"sources":["../../../src/react/model-context/makeAssistantToolUI.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"makeAssistantToolUI.d.ts","names":[],"sources":["../../../src/react/model-context/makeAssistantToolUI.ts"],"mappings":";;;;;;AAgBA;;;;;;;;KAAY,eAAA,GAAkB,EAAA;EAiBjB,kDAfX,aAAA,EAAe,oBAAoB;AAAA;;;;;;;;;;;;;cAexB,mBAAA,mBACX,IAAA,EAAM,oBAAA,CAAqB,KAAA,EAAO,OAAA,MAAQ,eAAA"}
|
|
@@ -7,6 +7,10 @@ import { useAssistantToolUI } from "./useAssistantToolUI.js";
|
|
|
7
7
|
* are registered elsewhere.
|
|
8
8
|
*
|
|
9
9
|
* @param tool - Tool renderer registration.
|
|
10
|
+
*
|
|
11
|
+
* @deprecated Put `render`/`renderText` on the matching toolkit entry, or use
|
|
12
|
+
* `MessagePrimitive.Parts` inline tool render overrides for per-message UI.
|
|
13
|
+
* See https://assistant-ui.com/docs/migrations/toolkit-tools.
|
|
10
14
|
*/
|
|
11
15
|
const makeAssistantToolUI = (tool) => {
|
|
12
16
|
const ToolUI = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAssistantToolUI.js","names":[],"sources":["../../../src/react/model-context/makeAssistantToolUI.ts"],"sourcesContent":["import type { FC } from \"react\";\nimport {\n type AssistantToolUIProps,\n useAssistantToolUI,\n} from \"./useAssistantToolUI\";\n\n/**\n * Component returned by {@link makeAssistantToolUI}.\n *\n * Rendering the component registers a renderer for matching tool-call message\n * parts.\n */\nexport type AssistantToolUI = FC & {\n /** Tool renderer registered by this component. */\n unstable_tool: AssistantToolUIProps<any, any>;\n};\n\n/**\n * Creates a React component that registers a tool-call renderer when rendered.\n *\n * Use this to package reusable display components for tools whose definitions\n * are registered elsewhere.\n *\n * @param tool - Tool renderer registration.\n */\nexport const makeAssistantToolUI = <TArgs, TResult>(\n tool: AssistantToolUIProps<TArgs, TResult>,\n) => {\n const ToolUI: AssistantToolUI = () => {\n useAssistantToolUI(tool);\n return null;\n };\n ToolUI.unstable_tool = tool;\n return ToolUI;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"makeAssistantToolUI.js","names":[],"sources":["../../../src/react/model-context/makeAssistantToolUI.ts"],"sourcesContent":["import type { FC } from \"react\";\nimport {\n type AssistantToolUIProps,\n useAssistantToolUI,\n} from \"./useAssistantToolUI\";\n\n/**\n * Component returned by {@link makeAssistantToolUI}.\n *\n * Rendering the component registers a renderer for matching tool-call message\n * parts.\n *\n * @deprecated Put `render`/`renderText` on the matching toolkit entry, or use\n * `MessagePrimitive.Parts` inline tool render overrides for per-message UI.\n * See https://assistant-ui.com/docs/migrations/toolkit-tools.\n */\nexport type AssistantToolUI = FC & {\n /** Tool renderer registered by this component. */\n unstable_tool: AssistantToolUIProps<any, any>;\n};\n\n/**\n * Creates a React component that registers a tool-call renderer when rendered.\n *\n * Use this to package reusable display components for tools whose definitions\n * are registered elsewhere.\n *\n * @param tool - Tool renderer registration.\n *\n * @deprecated Put `render`/`renderText` on the matching toolkit entry, or use\n * `MessagePrimitive.Parts` inline tool render overrides for per-message UI.\n * See https://assistant-ui.com/docs/migrations/toolkit-tools.\n */\nexport const makeAssistantToolUI = <TArgs, TResult>(\n tool: AssistantToolUIProps<TArgs, TResult>,\n) => {\n const ToolUI: AssistantToolUI = () => {\n useAssistantToolUI(tool);\n return null;\n };\n ToolUI.unstable_tool = tool;\n return ToolUI;\n};\n"],"mappings":";;;;;;;;;;;;;;AAiCA,MAAa,uBACX,SACG;CACH,MAAM,eAAgC;EACpC,mBAAmB,IAAI;EACvB,OAAO;CACT;CACA,OAAO,gBAAgB;CACvB,OAAO;AACT"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Tool } from "assistant-stream";
|
|
2
|
+
|
|
3
|
+
//#region src/react/model-context/provider-tool.d.ts
|
|
4
|
+
type ProviderToolDefinition<TArgs extends Record<string, unknown>> = Extract<Tool<TArgs, unknown>, {
|
|
5
|
+
type: "provider";
|
|
6
|
+
}>;
|
|
7
|
+
type ProviderToolConfig<TArgs extends Record<string, unknown> = Record<string, unknown>> = Pick<ProviderToolDefinition<TArgs>, "providerId" | "args" | "parameters" | "providerOptions" | "supportsDeferredResults">;
|
|
8
|
+
/**
|
|
9
|
+
* Marks a tool as provider-executed. The use-generative compiler converts
|
|
10
|
+
* `execute: providerTool(...)` into a `type: "provider"` tool entry.
|
|
11
|
+
*/
|
|
12
|
+
declare function providerTool(_config: ProviderToolConfig): never;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ProviderToolConfig, providerTool };
|
|
15
|
+
//# sourceMappingURL=provider-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-tool.d.ts","names":[],"sources":["../../../src/react/model-context/provider-tool.ts"],"mappings":";;;KAEK,sBAAA,eAAqC,MAAA,qBAA2B,OAAA,CACnE,IAAA,CAAK,KAAA;EACH,IAAA;AAAA;AAAA,KAGQ,kBAAA,eACI,MAAA,oBAA0B,MAAA,qBACtC,IAAA,CACF,sBAAA,CAAuB,KAAA;;;;;iBAYT,YAAA,CAAa,OAA2B,EAAlB,kBAAkB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/react/model-context/provider-tool.ts
|
|
2
|
+
/**
|
|
3
|
+
* Marks a tool as provider-executed. The use-generative compiler converts
|
|
4
|
+
* `execute: providerTool(...)` into a `type: "provider"` tool entry.
|
|
5
|
+
*/
|
|
6
|
+
function providerTool(_config) {
|
|
7
|
+
throw new Error("[assistant-ui] providerTool() has no runtime implementation — it marks a provider-executed tool and is stripped at build time by the use-generative compiler. Reaching it means this module was not compiled (e.g. providerTool() used outside a \"use generative\" file).");
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
export { providerTool };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=provider-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-tool.js","names":[],"sources":["../../../src/react/model-context/provider-tool.ts"],"sourcesContent":["import type { Tool } from \"assistant-stream\";\n\ntype ProviderToolDefinition<TArgs extends Record<string, unknown>> = Extract<\n Tool<TArgs, unknown>,\n { type: \"provider\" }\n>;\n\nexport type ProviderToolConfig<\n TArgs extends Record<string, unknown> = Record<string, unknown>,\n> = Pick<\n ProviderToolDefinition<TArgs>,\n | \"providerId\"\n | \"args\"\n | \"parameters\"\n | \"providerOptions\"\n | \"supportsDeferredResults\"\n>;\n\n/**\n * Marks a tool as provider-executed. The use-generative compiler converts\n * `execute: providerTool(...)` into a `type: \"provider\"` tool entry.\n */\nexport function providerTool(_config: ProviderToolConfig): never {\n throw new Error(\n \"[assistant-ui] providerTool() has no runtime implementation — it marks a \" +\n \"provider-executed tool and is stripped at build time by the \" +\n \"use-generative compiler. Reaching it means this module was not compiled \" +\n '(e.g. providerTool() used outside a \"use generative\" file).',\n );\n}\n"],"mappings":";;;;;AAsBA,SAAgB,aAAa,SAAoC;CAC/D,MAAM,IAAI,MACR,4QAIF;AACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/react/model-context/stub-tool.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Marks a generative toolkit entry as a frontend tool whose executor will be
|
|
4
|
+
* supplied by `useAuiToolOverrides(...)`.
|
|
5
|
+
*
|
|
6
|
+
* `stubTool()` has no runtime implementation. It must be used inside a
|
|
7
|
+
* `"use generative"` toolkit file so the compiler can strip it.
|
|
8
|
+
*/
|
|
9
|
+
declare function stubTool(): never;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { stubTool };
|
|
12
|
+
//# sourceMappingURL=stub-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stub-tool.d.ts","names":[],"sources":["../../../src/react/model-context/stub-tool.ts"],"mappings":";;AAOA;;;;AAAwB;;iBAAR,QAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/react/model-context/stub-tool.ts
|
|
2
|
+
/**
|
|
3
|
+
* Marks a generative toolkit entry as a frontend tool whose executor will be
|
|
4
|
+
* supplied by `useAuiToolOverrides(...)`.
|
|
5
|
+
*
|
|
6
|
+
* `stubTool()` has no runtime implementation. It must be used inside a
|
|
7
|
+
* `"use generative"` toolkit file so the compiler can strip it.
|
|
8
|
+
*/
|
|
9
|
+
function stubTool() {
|
|
10
|
+
throw new Error("[assistant-ui] stubTool() has no runtime implementation - it marks a tool executor that must be supplied via useAuiToolOverrides(...). Make sure this module is compiled as \"use generative\".");
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { stubTool };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=stub-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stub-tool.js","names":[],"sources":["../../../src/react/model-context/stub-tool.ts"],"sourcesContent":["/**\n * Marks a generative toolkit entry as a frontend tool whose executor will be\n * supplied by `useAuiToolOverrides(...)`.\n *\n * `stubTool()` has no runtime implementation. It must be used inside a\n * `\"use generative\"` toolkit file so the compiler can strip it.\n */\nexport function stubTool(): never {\n throw new Error(\n \"[assistant-ui] stubTool() has no runtime implementation - it marks a \" +\n \"tool executor that must be supplied via useAuiToolOverrides(...). Make \" +\n 'sure this module is compiled as \"use generative\".',\n );\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,WAAkB;CAChC,MAAM,IAAI,MACR,iMAGF;AACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ToolCallMessagePartComponent } from "../types/MessagePartComponentTypes.js";
|
|
2
|
-
import { Tool, ToolDeclaration } from "assistant-stream";
|
|
2
|
+
import { Tool, ToolCallReader, ToolDeclaration, ToolModelOutputFunction } from "assistant-stream";
|
|
3
|
+
import { ReactNode } from "react";
|
|
3
4
|
|
|
4
5
|
//#region src/react/model-context/toolbox.d.ts
|
|
5
6
|
/**
|
|
@@ -14,21 +15,47 @@ import { Tool, ToolDeclaration } from "assistant-stream";
|
|
|
14
15
|
declare const isStandaloneToolDisplay: (tool: Pick<Tool<any, any>, "type" | "display">) => boolean;
|
|
15
16
|
type WithRender<T, TArgs extends Record<string, unknown>, TResult> = T extends {
|
|
16
17
|
type: "frontend" | "human";
|
|
17
|
-
} ? T & {
|
|
18
|
+
} ? T & (T extends {
|
|
19
|
+
type: "frontend";
|
|
20
|
+
} ? {
|
|
18
21
|
render: ToolCallMessagePartComponent<TArgs, TResult>;
|
|
19
|
-
}
|
|
22
|
+
} | {
|
|
23
|
+
render?: ToolCallMessagePartComponent<TArgs, TResult>;
|
|
24
|
+
renderText: ToolCallText<TArgs, TResult>;
|
|
25
|
+
} : {
|
|
26
|
+
render: ToolCallMessagePartComponent<TArgs, TResult>;
|
|
27
|
+
}) : T & {
|
|
20
28
|
render?: ToolCallMessagePartComponent<TArgs, TResult> | undefined;
|
|
29
|
+
renderText?: ToolCallText<TArgs, TResult> | undefined;
|
|
30
|
+
};
|
|
31
|
+
type ToolParameters<TArgs extends Record<string, unknown>> = ToolDeclaration<TArgs>["parameters"];
|
|
32
|
+
type ToolExecuteContext = Parameters<NonNullable<ToolDeclaration["execute"]>>[1];
|
|
33
|
+
type ToolExecute<TArgs extends Record<string, unknown>, TResult> = (args: TArgs, context: ToolExecuteContext) => TResult | Promise<TResult>;
|
|
34
|
+
type ToolStreamCall<TArgs extends Record<string, unknown>, TResult> = (reader: ToolCallReader<TArgs, TResult>, context: ToolExecuteContext) => void;
|
|
35
|
+
type ToolCallRunningText<TArgs extends Record<string, unknown>> = ReactNode | ((options: {
|
|
36
|
+
args: TArgs;
|
|
37
|
+
}) => ReactNode);
|
|
38
|
+
type ToolCallCompleteText<TArgs extends Record<string, unknown>, TResult> = ReactNode | ((options: {
|
|
39
|
+
args: TArgs;
|
|
40
|
+
result: TResult | undefined;
|
|
41
|
+
}) => ReactNode);
|
|
42
|
+
type ToolCallText<TArgs extends Record<string, unknown>, TResult> = {
|
|
43
|
+
running: ToolCallRunningText<TArgs>;
|
|
44
|
+
complete?: ToolCallCompleteText<TArgs, TResult> | undefined;
|
|
45
|
+
} | {
|
|
46
|
+
running?: ToolCallRunningText<TArgs> | undefined;
|
|
47
|
+
complete: ToolCallCompleteText<TArgs, TResult>;
|
|
21
48
|
};
|
|
49
|
+
declare const makeToolCallTextComponent: <TArgs extends Record<string, unknown>, TResult>(text: ToolCallText<TArgs, TResult>) => ToolCallMessagePartComponent<TArgs, TResult>;
|
|
22
50
|
/**
|
|
23
51
|
* Tool definition accepted by the React tool registry.
|
|
24
52
|
*
|
|
25
|
-
* Extends the core tool contract with
|
|
26
|
-
*
|
|
27
|
-
* browser and require
|
|
28
|
-
* tools execute server-side and may omit a renderer.
|
|
29
|
-
* required for frontend and human tools and optional for backend tools.
|
|
53
|
+
* Extends the core tool contract with tool-call display options. Human tools
|
|
54
|
+
* rely on `render` to collect input from the user. Frontend tools execute in
|
|
55
|
+
* the browser and require either `render` or `renderText` for their progress
|
|
56
|
+
* and result. Backend tools execute server-side and may omit a renderer.
|
|
30
57
|
*/
|
|
31
|
-
type ToolDefinition<TArgs extends Record<string, unknown>, TResult> = WithRender<Tool<TArgs, TResult>, TArgs, TResult>;
|
|
58
|
+
type ToolDefinition<TArgs extends Record<string, unknown> = Record<string, unknown>, TResult = unknown> = WithRender<Tool<TArgs, TResult>, TArgs, TResult>;
|
|
32
59
|
/**
|
|
33
60
|
* Named collection of tools exposed to the assistant model.
|
|
34
61
|
*
|
|
@@ -36,7 +63,7 @@ type ToolDefinition<TArgs extends Record<string, unknown>, TResult> = WithRender
|
|
|
36
63
|
*
|
|
37
64
|
* @example
|
|
38
65
|
* ```tsx
|
|
39
|
-
* const toolkit = {
|
|
66
|
+
* const toolkit = defineToolkit({
|
|
40
67
|
* get_weather: {
|
|
41
68
|
* type: "frontend",
|
|
42
69
|
* description: "Get the weather for a city.",
|
|
@@ -44,7 +71,7 @@ type ToolDefinition<TArgs extends Record<string, unknown>, TResult> = WithRender
|
|
|
44
71
|
* execute: async ({ city }: { city: string }) => fetchWeather(city),
|
|
45
72
|
* render: WeatherToolUI,
|
|
46
73
|
* },
|
|
47
|
-
* }
|
|
74
|
+
* });
|
|
48
75
|
* ```
|
|
49
76
|
*/
|
|
50
77
|
type Toolkit = Record<string, ToolDefinition<any, any>>;
|
|
@@ -52,23 +79,43 @@ type Toolkit = Record<string, ToolDefinition<any, any>>;
|
|
|
52
79
|
* A tool as authored, before the build splits it: like {@link ToolDefinition}
|
|
53
80
|
* but it may declare `description`, `parameters`, and a server-side `execute`
|
|
54
81
|
* alongside its `render`. The `type` field is **not** authored — the
|
|
55
|
-
* `"use generative"` compiler infers it (`execute:
|
|
56
|
-
*
|
|
57
|
-
*
|
|
82
|
+
* `"use generative"` compiler infers it (`execute: humanTool()` → human;
|
|
83
|
+
* `execute: providerTool(...)` → provider; `execute` with a `"use client"`
|
|
84
|
+
* directive → frontend; otherwise backend) and writes it back — so declaring it
|
|
85
|
+
* here is a type error.
|
|
58
86
|
*/
|
|
59
|
-
type
|
|
87
|
+
type OverrideOptionalField<T, TKey extends keyof T, TValue> = undefined extends T[TKey] ? Exclude<T[TKey], undefined> extends never ? { [K in TKey]?: undefined } : { [K in TKey]?: TValue | undefined } : { [K in TKey]: TValue };
|
|
88
|
+
type OverrideToolDeclarationCallbacks<T extends {
|
|
89
|
+
streamCall?: unknown;
|
|
90
|
+
}, TArgs extends Record<string, unknown>, TResult> = Omit<T, "type" | "execute" | "toModelOutput" | "experimental_onSchemaValidationError" | "streamCall"> & {
|
|
60
91
|
type?: never;
|
|
92
|
+
} & ("execute" extends keyof T ? OverrideOptionalField<T, "execute", ToolExecute<NoInfer<TArgs>, TResult>> : {}) & ("toModelOutput" extends keyof T ? OverrideOptionalField<T, "toModelOutput", ToolModelOutputFunction<NoInfer<TArgs>, NoInfer<TResult>>> : {}) & ("experimental_onSchemaValidationError" extends keyof T ? OverrideOptionalField<T, "experimental_onSchemaValidationError", (args: unknown, context: ToolExecuteContext) => NoInfer<TResult> | Promise<NoInfer<TResult>>> : {}) & OverrideOptionalField<T, "streamCall", ToolStreamCall<TArgs, NoInfer<TResult>>>;
|
|
93
|
+
type ToolkitDefinitionInput<TArgs extends Record<string, unknown>, TResult> = WithRender<ToolDeclaration<TArgs, TResult> extends infer T ? T extends {
|
|
94
|
+
streamCall?: unknown;
|
|
95
|
+
} ? OverrideToolDeclarationCallbacks<T, TArgs, TResult> : never : never, TArgs, TResult>;
|
|
96
|
+
/**
|
|
97
|
+
* A single entry in a {@link ToolkitDefinition}.
|
|
98
|
+
*
|
|
99
|
+
* Either authored inline (whose `type` the compiler infers) or an already-formed
|
|
100
|
+
* {@link ToolDefinition} produced by a factory whose own build splits it across
|
|
101
|
+
* targets — e.g. `new JSONGenerativeUI({ library }).present()`. The factory case
|
|
102
|
+
* carries a `type`, so it can only match the {@link ToolDefinition} arm of this
|
|
103
|
+
* union.
|
|
104
|
+
*/
|
|
105
|
+
type ToolkitDefinitionEntry<TArgs extends Record<string, unknown> = Record<string, unknown>, TResult = unknown> = ToolkitDefinitionInput<TArgs, TResult> | ToolDefinition<any, any>;
|
|
106
|
+
type ToolkitDefinitionEntryWithParameters<TArgs extends Record<string, unknown> = Record<string, unknown>, TResult = unknown> = ToolkitDefinitionInput<TArgs, TResult> & {
|
|
107
|
+
parameters: NonNullable<ToolParameters<TArgs>>;
|
|
61
108
|
};
|
|
62
109
|
/**
|
|
63
110
|
* The permissive, authoring-time counterpart to {@link Toolkit} — the input to
|
|
64
111
|
* {@link defineToolkit}. Backend entries may carry their server `execute` here;
|
|
65
112
|
* the canonical {@link Toolkit} keeps those fields `undefined`.
|
|
66
113
|
*/
|
|
67
|
-
type
|
|
114
|
+
type ToolkitDefinition<TArgsByName extends { [K in keyof TArgsByName]: Record<string, unknown> } = Record<string, any>, TResultByName extends { [K in keyof TArgsByName]: unknown } = { [K in keyof TArgsByName]: any }> = { [K in keyof TArgsByName]: ToolkitDefinitionEntry<TArgsByName[K], TResultByName[K]> };
|
|
68
115
|
/** Configuration for the {@link Tools} resource. */
|
|
69
116
|
type ToolsConfig = {
|
|
70
117
|
/** Tools to register with model context and, when provided, message renderers. */toolkit: Toolkit;
|
|
71
118
|
};
|
|
72
119
|
//#endregion
|
|
73
|
-
export { ToolDefinition, Toolkit,
|
|
120
|
+
export { ToolCallText, ToolDefinition, Toolkit, ToolkitDefinition, ToolkitDefinitionEntry, ToolkitDefinitionEntryWithParameters, ToolsConfig, isStandaloneToolDisplay, makeToolCallTextComponent };
|
|
74
121
|
//# sourceMappingURL=toolbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbox.d.ts","names":[],"sources":["../../../src/react/model-context/toolbox.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolbox.d.ts","names":[],"sources":["../../../src/react/model-context/toolbox.ts"],"mappings":";;;;;;;AAqBA;;;;;;;cAAa,uBAAA,GACX,IAAA,EAAM,IAAI,CAAC,IAAA;AAAA,KAMR,UAAA,kBAA4B,MAAA,8BAAoC,CAAA;EACnE,IAAA;AAAA,IAEE,CAAA,IACG,CAAA;EAAY,IAAA;AAAA;EAEH,MAAA,EAAQ,4BAAA,CAA6B,KAAA,EAAO,OAAA;AAAA;EAE5C,MAAA,GAAS,4BAAA,CAA6B,KAAA,EAAO,OAAA;EAC7C,UAAA,EAAY,YAAA,CAAa,KAAA,EAAO,OAAA;AAAA;EAEpC,MAAA,EAAQ,4BAAA,CAA6B,KAAA,EAAO,OAAA;AAAA,KACpD,CAAA;EACE,MAAA,GAAS,4BAAA,CAA6B,KAAA,EAAO,OAAA;EAC7C,UAAA,GAAa,YAAA,CAAa,KAAA,EAAO,OAAA;AAAA;AAAA,KAGlC,cAAA,eAA6B,MAAA,qBAChC,eAAA,CAAgB,KAAA;AAAA,KAGb,kBAAA,GAAqB,UAAA,CACxB,WAAA,CAAY,eAAA;AAAA,KAGT,WAAA,eAA0B,MAAA,+BAC7B,IAAA,EAAM,KAAA,EACN,OAAA,EAAS,kBAAA,KACN,OAAA,GAAU,OAAA,CAAQ,OAAA;AAAA,KAElB,cAAA,eAA6B,MAAA,+BAChC,MAAA,EAAQ,cAAA,CAAe,KAAA,EAAO,OAAA,GAC9B,OAAA,EAAS,kBAAA;AAAA,KAGN,mBAAA,eAAkC,MAAA,qBACnC,SAAA,KACE,OAAA;EAAW,IAAA,EAAM,KAAA;AAAA,MAAY,SAAA;AAAA,KAE9B,oBAAA,eAAmC,MAAA,8BACpC,SAAA,KACE,OAAA;EAAW,IAAA,EAAM,KAAA;EAAO,MAAA,EAAQ,OAAA;AAAA,MAA0B,SAAA;AAAA,KAEpD,YAAA,eAA2B,MAAA;EAEjC,OAAA,EAAS,mBAAA,CAAoB,KAAA;EAC7B,QAAA,GAAW,oBAAA,CAAqB,KAAA,EAAO,OAAA;AAAA;EAGvC,OAAA,GAAU,mBAAA,CAAoB,KAAA;EAC9B,QAAA,EAAU,oBAAA,CAAqB,KAAA,EAAO,OAAA;AAAA;AAAA,cAqB/B,yBAAA,iBACG,MAAA,4BAGd,IAAA,EAAM,YAAA,CAAa,KAAA,EAAO,OAAA,MACzB,4BAAA,CAA6B,KAAA,EAAO,OAAA;;;;;;;;;KAc3B,cAAA,eACI,MAAA,oBAA0B,MAAA,wCAEtC,UAAA,CAAW,IAAA,CAAK,KAAA,EAAO,OAAA,GAAU,KAAA,EAAO,OAAA;;;;;;;;;;;;;;;;;;;KAoBhC,OAAA,GAAU,MAAM,SAAS,cAAA;;;AAnGS;AAAA;;;;;;KA8GzC,qBAAA,uBAEgB,CAAA,8BAEC,CAAA,CAAE,IAAA,IAGpB,OAAA,CAAQ,CAAA,CAAE,IAAA,sCACA,IAAA,0BACA,IAAA,IAAQ,MAAA,yBACV,IAAA,GAAO,MAAA;AAAA,KAEd,gCAAA;EACS,UAAA;AAAA,iBACE,MAAA,8BAEZ,IAAA,CACF,CAAA;EAOA,IAAA;AAAA,6BAC2B,CAAA,GACvB,qBAAA,CAAsB,CAAA,aAAc,WAAA,CAAY,OAAA,CAAQ,KAAA,GAAQ,OAAA,0CAErC,CAAA,GAC3B,qBAAA,CACE,CAAA,mBAEA,uBAAA,CAAwB,OAAA,CAAQ,KAAA,GAAQ,OAAA,CAAQ,OAAA,kEAGA,CAAA,GAClD,qBAAA,CACE,CAAA,2CAGE,IAAA,WACA,OAAA,EAAS,kBAAA,KACN,OAAA,CAAQ,OAAA,IAAW,OAAA,CAAQ,OAAA,CAAQ,OAAA,YAG9C,qBAAA,CACE,CAAA,gBAEA,cAAA,CAAe,KAAA,EAAO,OAAA,CAAQ,OAAA;AAAA,KAK7B,sBAAA,eACW,MAAA,8BAEZ,UAAA,CACF,eAAA,CAAgB,KAAA,EAAO,OAAA,oBACnB,CAAA;EAAY,UAAA;AAAA,IACV,gCAAA,CAAiC,CAAA,EAAG,KAAA,EAAO,OAAA,mBAGjD,KAAA,EACA,OAAA;;;;;;AArK2B;AAAA;;;KAiLjB,sBAAA,eACI,MAAA,oBAA0B,MAAA,wCAEtC,sBAAA,CAAuB,KAAA,EAAO,OAAA,IAAW,cAAA;AAAA,KAEjC,oCAAA,eACI,MAAA,oBAA0B,MAAA,wCAEtC,sBAAA,CAAuB,KAAA,EAAO,OAAA;EAChC,UAAA,EAAY,WAAA,CAAY,cAAA,CAAe,KAAA;AAAA;;;;;;KAQ7B,iBAAA,mCAEI,WAAA,GAAc,MAAA,sBACxB,MAAA,mDACgC,WAAA,6BACtB,WAAA,0BAGF,WAAA,GAAc,sBAAA,CACxB,WAAA,CAAY,CAAA,GACZ,aAAA,CAAc,CAAA;;KAKN,WAAA;EAzMP,kFA2MH,OAAA,EAAS,OAAO;AAAA"}
|
|
@@ -12,7 +12,25 @@ const isStandaloneToolDisplay = (tool) => {
|
|
|
12
12
|
if (tool.display !== void 0) return tool.display === "standalone";
|
|
13
13
|
return tool.type === "human";
|
|
14
14
|
};
|
|
15
|
+
const resolveToolCallText = (text, part) => {
|
|
16
|
+
if (!(part.status?.type === "running" || part.status?.type === "requires-action")) {
|
|
17
|
+
const value = text.complete;
|
|
18
|
+
if (typeof value !== "function") return value ?? null;
|
|
19
|
+
return value({
|
|
20
|
+
args: part.args,
|
|
21
|
+
result: part.result
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
const value = text.running;
|
|
25
|
+
if (typeof value !== "function") return value ?? null;
|
|
26
|
+
return value({ args: part.args });
|
|
27
|
+
};
|
|
28
|
+
const makeToolCallTextComponent = (text) => {
|
|
29
|
+
return function ToolCallTextComponent(part) {
|
|
30
|
+
return resolveToolCallText(text, part);
|
|
31
|
+
};
|
|
32
|
+
};
|
|
15
33
|
//#endregion
|
|
16
|
-
export { isStandaloneToolDisplay };
|
|
34
|
+
export { isStandaloneToolDisplay, makeToolCallTextComponent };
|
|
17
35
|
|
|
18
36
|
//# sourceMappingURL=toolbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbox.js","names":[],"sources":["../../../src/react/model-context/toolbox.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"toolbox.js","names":[],"sources":["../../../src/react/model-context/toolbox.ts"],"sourcesContent":["import type {\n Tool,\n ToolCallReader,\n ToolDeclaration,\n ToolModelOutputFunction,\n} from \"assistant-stream\";\nimport type { ReactNode } from \"react\";\nimport type {\n ToolCallMessagePartComponent,\n ToolCallMessagePartProps,\n} from \"../types/MessagePartComponentTypes\";\n\n/**\n * Resolves whether a tool's UI should be presented standalone (outside the\n * chain-of-thought grouping), applying the type-based defaults.\n *\n * An explicit `display` wins. Otherwise `human` tools default to standalone\n * (they prompt the user), and every other tool defaults to inline (a trace of\n * what the model is doing). MCP-app tool calls are detected separately from\n * the part itself and are not resolved here.\n */\nexport const isStandaloneToolDisplay = (\n tool: Pick<Tool<any, any>, \"type\" | \"display\">,\n): boolean => {\n if (tool.display !== undefined) return tool.display === \"standalone\";\n return tool.type === \"human\";\n};\n\ntype WithRender<T, TArgs extends Record<string, unknown>, TResult> = T extends {\n type: \"frontend\" | \"human\";\n}\n ? T &\n (T extends { type: \"frontend\" }\n ?\n | { render: ToolCallMessagePartComponent<TArgs, TResult> }\n | {\n render?: ToolCallMessagePartComponent<TArgs, TResult>;\n renderText: ToolCallText<TArgs, TResult>;\n }\n : { render: ToolCallMessagePartComponent<TArgs, TResult> })\n : T & {\n render?: ToolCallMessagePartComponent<TArgs, TResult> | undefined;\n renderText?: ToolCallText<TArgs, TResult> | undefined;\n };\n\ntype ToolParameters<TArgs extends Record<string, unknown>> =\n ToolDeclaration<TArgs>[\"parameters\"];\n\n// ToolExecutionContext is not re-exported from assistant-stream's public entry.\ntype ToolExecuteContext = Parameters<\n NonNullable<ToolDeclaration[\"execute\"]>\n>[1];\n\ntype ToolExecute<TArgs extends Record<string, unknown>, TResult> = (\n args: TArgs,\n context: ToolExecuteContext,\n) => TResult | Promise<TResult>;\n\ntype ToolStreamCall<TArgs extends Record<string, unknown>, TResult> = (\n reader: ToolCallReader<TArgs, TResult>,\n context: ToolExecuteContext,\n) => void;\n\ntype ToolCallRunningText<TArgs extends Record<string, unknown>> =\n | ReactNode\n | ((options: { args: TArgs }) => ReactNode);\n\ntype ToolCallCompleteText<TArgs extends Record<string, unknown>, TResult> =\n | ReactNode\n | ((options: { args: TArgs; result: TResult | undefined }) => ReactNode);\n\nexport type ToolCallText<TArgs extends Record<string, unknown>, TResult> =\n | {\n running: ToolCallRunningText<TArgs>;\n complete?: ToolCallCompleteText<TArgs, TResult> | undefined;\n }\n | {\n running?: ToolCallRunningText<TArgs> | undefined;\n complete: ToolCallCompleteText<TArgs, TResult>;\n };\n\nconst resolveToolCallText = <TArgs extends Record<string, unknown>, TResult>(\n text: ToolCallText<TArgs, TResult>,\n part: ToolCallMessagePartProps<TArgs, TResult>,\n): ReactNode => {\n const isRunning =\n part.status?.type === \"running\" || part.status?.type === \"requires-action\";\n\n if (!isRunning) {\n const value = text.complete;\n if (typeof value !== \"function\") return value ?? null;\n return value({ args: part.args, result: part.result });\n }\n\n const value = text.running;\n if (typeof value !== \"function\") return value ?? null;\n return value({ args: part.args });\n};\n\nexport const makeToolCallTextComponent = <\n TArgs extends Record<string, unknown>,\n TResult,\n>(\n text: ToolCallText<TArgs, TResult>,\n): ToolCallMessagePartComponent<TArgs, TResult> => {\n return function ToolCallTextComponent(part) {\n return resolveToolCallText(text, part);\n };\n};\n\n/**\n * Tool definition accepted by the React tool registry.\n *\n * Extends the core tool contract with tool-call display options. Human tools\n * rely on `render` to collect input from the user. Frontend tools execute in\n * the browser and require either `render` or `renderText` for their progress\n * and result. Backend tools execute server-side and may omit a renderer.\n */\nexport type ToolDefinition<\n TArgs extends Record<string, unknown> = Record<string, unknown>,\n TResult = unknown,\n> = WithRender<Tool<TArgs, TResult>, TArgs, TResult>;\n\n/**\n * Named collection of tools exposed to the assistant model.\n *\n * Keys are the tool names the model receives and uses in tool calls.\n *\n * @example\n * ```tsx\n * const toolkit = defineToolkit({\n * get_weather: {\n * type: \"frontend\",\n * description: \"Get the weather for a city.\",\n * parameters: weatherSchema,\n * execute: async ({ city }: { city: string }) => fetchWeather(city),\n * render: WeatherToolUI,\n * },\n * });\n * ```\n */\nexport type Toolkit = Record<string, ToolDefinition<any, any>>;\n\n/**\n * A tool as authored, before the build splits it: like {@link ToolDefinition}\n * but it may declare `description`, `parameters`, and a server-side `execute`\n * alongside its `render`. The `type` field is **not** authored — the\n * `\"use generative\"` compiler infers it (`execute: humanTool()` → human;\n * `execute: providerTool(...)` → provider; `execute` with a `\"use client\"`\n * directive → frontend; otherwise backend) and writes it back — so declaring it\n * here is a type error.\n */\ntype OverrideOptionalField<\n T,\n TKey extends keyof T,\n TValue,\n> = undefined extends T[TKey]\n ? // Preserve `?: undefined` fields (for variants that explicitly disallow a\n // callback) instead of widening them to accept the override value.\n Exclude<T[TKey], undefined> extends never\n ? { [K in TKey]?: undefined }\n : { [K in TKey]?: TValue | undefined }\n : { [K in TKey]: TValue };\n\ntype OverrideToolDeclarationCallbacks<\n T extends { streamCall?: unknown },\n TArgs extends Record<string, unknown>,\n TResult,\n> = Omit<\n T,\n | \"type\"\n | \"execute\"\n | \"toModelOutput\"\n | \"experimental_onSchemaValidationError\"\n | \"streamCall\"\n> & {\n type?: never;\n} & (\"execute\" extends keyof T\n ? OverrideOptionalField<T, \"execute\", ToolExecute<NoInfer<TArgs>, TResult>>\n : {}) &\n (\"toModelOutput\" extends keyof T\n ? OverrideOptionalField<\n T,\n \"toModelOutput\",\n ToolModelOutputFunction<NoInfer<TArgs>, NoInfer<TResult>>\n >\n : {}) &\n (\"experimental_onSchemaValidationError\" extends keyof T\n ? OverrideOptionalField<\n T,\n \"experimental_onSchemaValidationError\",\n (\n args: unknown,\n context: ToolExecuteContext,\n ) => NoInfer<TResult> | Promise<NoInfer<TResult>>\n >\n : {}) &\n OverrideOptionalField<\n T,\n \"streamCall\",\n ToolStreamCall<TArgs, NoInfer<TResult>>\n >;\n\n// Keep the authored shape tied to ToolDeclaration's union variants while\n// overriding callback fields to avoid inference pollution.\ntype ToolkitDefinitionInput<\n TArgs extends Record<string, unknown>,\n TResult,\n> = WithRender<\n ToolDeclaration<TArgs, TResult> extends infer T\n ? T extends { streamCall?: unknown }\n ? OverrideToolDeclarationCallbacks<T, TArgs, TResult>\n : never\n : never,\n TArgs,\n TResult\n>;\n\n/**\n * A single entry in a {@link ToolkitDefinition}.\n *\n * Either authored inline (whose `type` the compiler infers) or an already-formed\n * {@link ToolDefinition} produced by a factory whose own build splits it across\n * targets — e.g. `new JSONGenerativeUI({ library }).present()`. The factory case\n * carries a `type`, so it can only match the {@link ToolDefinition} arm of this\n * union.\n */\nexport type ToolkitDefinitionEntry<\n TArgs extends Record<string, unknown> = Record<string, unknown>,\n TResult = unknown,\n> = ToolkitDefinitionInput<TArgs, TResult> | ToolDefinition<any, any>;\n\nexport type ToolkitDefinitionEntryWithParameters<\n TArgs extends Record<string, unknown> = Record<string, unknown>,\n TResult = unknown,\n> = ToolkitDefinitionInput<TArgs, TResult> & {\n parameters: NonNullable<ToolParameters<TArgs>>;\n};\n\n/**\n * The permissive, authoring-time counterpart to {@link Toolkit} — the input to\n * {@link defineToolkit}. Backend entries may carry their server `execute` here;\n * the canonical {@link Toolkit} keeps those fields `undefined`.\n */\nexport type ToolkitDefinition<\n TArgsByName extends {\n [K in keyof TArgsByName]: Record<string, unknown>;\n } = Record<string, any>,\n TResultByName extends { [K in keyof TArgsByName]: unknown } = {\n [K in keyof TArgsByName]: any;\n },\n> = {\n [K in keyof TArgsByName]: ToolkitDefinitionEntry<\n TArgsByName[K],\n TResultByName[K]\n >;\n};\n\n/** Configuration for the {@link Tools} resource. */\nexport type ToolsConfig = {\n /** Tools to register with model context and, when provided, message renderers. */\n toolkit: Toolkit;\n};\n"],"mappings":";;;;;;;;;;AAqBA,MAAa,2BACX,SACY;CACZ,IAAI,KAAK,YAAY,KAAA,GAAW,OAAO,KAAK,YAAY;CACxD,OAAO,KAAK,SAAS;AACvB;AAuDA,MAAM,uBACJ,MACA,SACc;CAId,IAAI,EAFF,KAAK,QAAQ,SAAS,aAAa,KAAK,QAAQ,SAAS,oBAE3C;EACd,MAAM,QAAQ,KAAK;EACnB,IAAI,OAAO,UAAU,YAAY,OAAO,SAAS;EACjD,OAAO,MAAM;GAAE,MAAM,KAAK;GAAM,QAAQ,KAAK;EAAO,CAAC;CACvD;CAEA,MAAM,QAAQ,KAAK;CACnB,IAAI,OAAO,UAAU,YAAY,OAAO,SAAS;CACjD,OAAO,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC;AAClC;AAEA,MAAa,6BAIX,SACiD;CACjD,OAAO,SAAS,sBAAsB,MAAM;EAC1C,OAAO,oBAAoB,MAAM,IAAI;CACvC;AACF"}
|