@assistant-ui/core 0.3.20 → 0.3.21
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 +42 -34
- package/dist/adapters/attachment.d.ts.map +1 -1
- package/dist/adapters/attachment.js +51 -21
- package/dist/adapters/attachment.js.map +1 -1
- package/dist/adapters/directive-formatter.d.ts +1 -3
- package/dist/adapters/directive-formatter.d.ts.map +1 -1
- package/dist/adapters/feedback.d.ts +6 -7
- package/dist/adapters/feedback.d.ts.map +1 -1
- package/dist/adapters/index.d.ts +14 -9
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +1 -1
- package/dist/adapters/speech.d.ts +57 -58
- package/dist/adapters/speech.d.ts.map +1 -1
- package/dist/adapters/speech.js +16 -2
- package/dist/adapters/speech.js.map +1 -1
- package/dist/adapters/suggestion.d.ts +14 -16
- package/dist/adapters/suggestion.d.ts.map +1 -1
- package/dist/adapters/thread-history.d.ts +54 -51
- package/dist/adapters/thread-history.d.ts.map +1 -1
- package/dist/adapters/trigger.d.ts +7 -9
- package/dist/adapters/trigger.d.ts.map +1 -1
- package/dist/adapters/voice.d.ts +46 -40
- package/dist/adapters/voice.d.ts.map +1 -1
- package/dist/adapters/voice.js +17 -3
- package/dist/adapters/voice.js.map +1 -1
- package/dist/index.d.ts +70 -56
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/internal/duplicate-detection.d.ts +0 -2
- package/dist/internal/duplicate-detection.d.ts.map +1 -1
- package/dist/internal.d.ts +27 -58
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +8 -6
- package/dist/model-context/frame/host.d.ts +19 -21
- package/dist/model-context/frame/host.d.ts.map +1 -1
- package/dist/model-context/frame/host.js +3 -1
- package/dist/model-context/frame/host.js.map +1 -1
- package/dist/model-context/frame/provider.d.ts +27 -28
- package/dist/model-context/frame/provider.d.ts.map +1 -1
- package/dist/model-context/frame/provider.js +6 -0
- package/dist/model-context/frame/provider.js.map +1 -1
- package/dist/model-context/frame/types.d.ts +19 -21
- package/dist/model-context/frame/types.d.ts.map +1 -1
- package/dist/model-context/frame/validate.d.ts +3 -0
- package/dist/model-context/frame/validate.d.ts.map +1 -0
- package/dist/model-context/frame/validate.js +26 -0
- package/dist/model-context/frame/validate.js.map +1 -0
- package/dist/model-context/interactable-composer-metadata.d.ts +42 -29
- package/dist/model-context/interactable-composer-metadata.d.ts.map +1 -1
- package/dist/model-context/interactable-composer-metadata.js +30 -6
- package/dist/model-context/interactable-composer-metadata.js.map +1 -1
- package/dist/model-context/registry-handles.d.ts +6 -8
- package/dist/model-context/registry-handles.d.ts.map +1 -1
- package/dist/model-context/registry.d.ts +14 -16
- package/dist/model-context/registry.d.ts.map +1 -1
- package/dist/model-context/tool-call-text.d.ts +13 -14
- package/dist/model-context/tool-call-text.d.ts.map +1 -1
- package/dist/model-context/tool.d.ts +10 -11
- package/dist/model-context/tool.d.ts.map +1 -1
- package/dist/model-context/types.d.ts +32 -34
- package/dist/model-context/types.d.ts.map +1 -1
- package/dist/react/AssistantProvider.d.ts +6 -8
- package/dist/react/AssistantProvider.d.ts.map +1 -1
- package/dist/react/AssistantRuntimeProvider.d.ts +23 -25
- package/dist/react/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/react/RuntimeAdapter.d.ts +2 -5
- package/dist/react/RuntimeAdapter.d.ts.map +1 -1
- package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts +24 -18
- package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts.map +1 -1
- package/dist/react/adapters/LocalStorageThreadListAdapter.js +58 -25
- package/dist/react/adapters/LocalStorageThreadListAdapter.js.map +1 -1
- package/dist/react/adapters/TitleGenerationAdapter.d.ts +2 -4
- package/dist/react/adapters/TitleGenerationAdapter.d.ts.map +1 -1
- package/dist/react/client/AdaptedRemoteThread.d.ts +5 -7
- package/dist/react/client/AdaptedRemoteThread.d.ts.map +1 -1
- package/dist/react/client/DataRenderers.d.ts +1 -3
- package/dist/react/client/DataRenderers.d.ts.map +1 -1
- package/dist/react/client/InMemoryThreadList.d.ts +6 -8
- package/dist/react/client/InMemoryThreadList.d.ts.map +1 -1
- package/dist/react/client/Interactables.d.ts +2 -4
- package/dist/react/client/Interactables.d.ts.map +1 -1
- package/dist/react/client/Interactables.js +306 -101
- package/dist/react/client/Interactables.js.map +1 -1
- package/dist/react/client/RemoteThreadList.d.ts +32 -34
- package/dist/react/client/RemoteThreadList.d.ts.map +1 -1
- package/dist/react/client/RemoteThreadList.js +2 -1
- package/dist/react/client/RemoteThreadList.js.map +1 -1
- package/dist/react/client/Tools.d.ts +9 -11
- package/dist/react/client/Tools.d.ts.map +1 -1
- package/dist/react/client/Tools.js +4 -8
- package/dist/react/client/Tools.js.map +1 -1
- package/dist/react/client/interactable-model-context.d.ts +9 -10
- package/dist/react/client/interactable-model-context.d.ts.map +1 -1
- package/dist/react/client/interactable-model-context.js +32 -22
- package/dist/react/client/interactable-model-context.js.map +1 -1
- package/dist/react/index.d.ts +160 -122
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +5 -5
- package/dist/react/interactables-legacy/Interactables.d.ts +1 -3
- package/dist/react/interactables-legacy/Interactables.d.ts.map +1 -1
- package/dist/react/interactables-legacy/Interactables.js +15 -8
- package/dist/react/interactables-legacy/Interactables.js.map +1 -1
- package/dist/react/interactables-legacy/interactable-model-context.d.ts +6 -8
- package/dist/react/interactables-legacy/interactable-model-context.d.ts.map +1 -1
- package/dist/react/interactables-legacy/interactable-model-context.js +13 -14
- package/dist/react/interactables-legacy/interactable-model-context.js.map +1 -1
- package/dist/react/interactables-legacy/scopes.d.ts +33 -36
- package/dist/react/interactables-legacy/scopes.d.ts.map +1 -1
- package/dist/react/interactables-legacy/useAssistantInteractable.d.ts +6 -8
- package/dist/react/interactables-legacy/useAssistantInteractable.d.ts.map +1 -1
- package/dist/react/interactables-legacy/useInteractableState.d.ts +6 -7
- package/dist/react/interactables-legacy/useInteractableState.d.ts.map +1 -1
- package/dist/react/interactables-shared/useInteractablePersistenceQueue.d.ts +23 -13
- package/dist/react/interactables-shared/useInteractablePersistenceQueue.d.ts.map +1 -1
- package/dist/react/interactables-shared/useInteractablePersistenceQueue.js +54 -25
- package/dist/react/interactables-shared/useInteractablePersistenceQueue.js.map +1 -1
- package/dist/react/model-context/define-mcp-toolkit.d.ts +11 -13
- package/dist/react/model-context/define-mcp-toolkit.d.ts.map +1 -1
- package/dist/react/model-context/define-toolkit.d.ts +12 -4
- package/dist/react/model-context/define-toolkit.d.ts.map +1 -1
- package/dist/react/model-context/external-tool.d.ts +0 -2
- package/dist/react/model-context/external-tool.d.ts.map +1 -1
- package/dist/react/model-context/human-tool.d.ts +0 -2
- package/dist/react/model-context/human-tool.d.ts.map +1 -1
- package/dist/react/model-context/interactableTool.d.ts +23 -25
- package/dist/react/model-context/interactableTool.d.ts.map +1 -1
- package/dist/react/model-context/makeAssistantDataUI.d.ts +4 -6
- package/dist/react/model-context/makeAssistantDataUI.d.ts.map +1 -1
- package/dist/react/model-context/makeAssistantTool.d.ts +4 -6
- package/dist/react/model-context/makeAssistantTool.d.ts.map +1 -1
- package/dist/react/model-context/makeAssistantToolUI.d.ts +4 -6
- package/dist/react/model-context/makeAssistantToolUI.d.ts.map +1 -1
- package/dist/react/model-context/provider-tool.d.ts +3 -4
- package/dist/react/model-context/provider-tool.d.ts.map +1 -1
- package/dist/react/model-context/stub-tool.d.ts +0 -2
- package/dist/react/model-context/stub-tool.d.ts.map +1 -1
- package/dist/react/model-context/toolbox.d.ts +37 -24
- package/dist/react/model-context/toolbox.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantContext.d.ts +2 -5
- package/dist/react/model-context/useAssistantContext.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantDataUI.d.ts +5 -7
- package/dist/react/model-context/useAssistantDataUI.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantInstructions.d.ts +2 -5
- package/dist/react/model-context/useAssistantInstructions.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantTool.d.ts +8 -11
- package/dist/react/model-context/useAssistantTool.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantToolUI.d.ts +11 -13
- package/dist/react/model-context/useAssistantToolUI.d.ts.map +1 -1
- package/dist/react/model-context/useAuiToolOverrides.d.ts +2 -3
- package/dist/react/model-context/useAuiToolOverrides.d.ts.map +1 -1
- package/dist/react/model-context/useInlineRender.d.ts +2 -4
- package/dist/react/model-context/useInlineRender.d.ts.map +1 -1
- package/dist/react/model-context/useInteractable.d.ts +37 -36
- package/dist/react/model-context/useInteractable.d.ts.map +1 -1
- package/dist/react/model-context/useInteractableState.d.ts +10 -8
- package/dist/react/model-context/useInteractableState.d.ts.map +1 -1
- package/dist/react/model-context/useInteractableVersions.d.ts +3 -5
- package/dist/react/model-context/useInteractableVersions.d.ts.map +1 -1
- package/dist/react/model-context/useToolArgsStatus.d.ts +5 -6
- package/dist/react/model-context/useToolArgsStatus.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarCopy.d.ts +6 -8
- package/dist/react/primitive-hooks/useActionBarCopy.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarEdit.d.ts +2 -4
- package/dist/react/primitive-hooks/useActionBarEdit.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarFeedback.d.ts +4 -6
- package/dist/react/primitive-hooks/useActionBarFeedback.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarReload.d.ts +2 -4
- package/dist/react/primitive-hooks/useActionBarReload.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarSpeak.d.ts +2 -4
- package/dist/react/primitive-hooks/useActionBarSpeak.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts +2 -4
- package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useBranchPickerNext.d.ts +2 -4
- package/dist/react/primitive-hooks/useBranchPickerNext.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts +2 -4
- package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts +3 -5
- package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useComposerCancel.d.ts +2 -4
- package/dist/react/primitive-hooks/useComposerCancel.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useComposerDictate.d.ts +2 -4
- package/dist/react/primitive-hooks/useComposerDictate.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useComposerSend.d.ts +3 -5
- package/dist/react/primitive-hooks/useComposerSend.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useEditComposerCancel.d.ts +1 -3
- package/dist/react/primitive-hooks/useEditComposerCancel.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useEditComposerSend.d.ts +2 -4
- package/dist/react/primitive-hooks/useEditComposerSend.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useMessageBranching.d.ts +4 -6
- package/dist/react/primitive-hooks/useMessageBranching.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useMessageError.d.ts +0 -2
- package/dist/react/primitive-hooks/useMessageError.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useMessageReload.d.ts +2 -4
- package/dist/react/primitive-hooks/useMessageReload.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts +6 -8
- package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useSuggestionTrigger.js +4 -4
- package/dist/react/primitive-hooks/useSuggestionTrigger.js.map +1 -1
- package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts +0 -2
- package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadIsRunning.d.ts +0 -2
- package/dist/react/primitive-hooks/useThreadIsRunning.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts +1 -3
- package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts +1 -3
- package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts +1 -3
- package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts +1 -3
- package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts +2 -4
- package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListNew.d.ts +1 -3
- package/dist/react/primitive-hooks/useThreadListNew.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadMessageIds.d.ts +0 -2
- package/dist/react/primitive-hooks/useThreadMessageIds.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadMessages.d.ts +1 -3
- package/dist/react/primitive-hooks/useThreadMessages.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useVoice.d.ts +5 -7
- package/dist/react/primitive-hooks/useVoice.d.ts.map +1 -1
- package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts +25 -26
- package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -1
- package/dist/react/primitives/composer/ComposerAttachments.d.ts +22 -23
- package/dist/react/primitives/composer/ComposerAttachments.d.ts.map +1 -1
- package/dist/react/primitives/composer/ComposerIf.d.ts +10 -9
- package/dist/react/primitives/composer/ComposerIf.d.ts.map +1 -1
- package/dist/react/primitives/composer/ComposerQueue.d.ts +11 -14
- package/dist/react/primitives/composer/ComposerQueue.d.ts.map +1 -1
- package/dist/react/primitives/generativeUI/GenerativeUI.d.ts +26 -28
- package/dist/react/primitives/generativeUI/GenerativeUI.d.ts.map +1 -1
- package/dist/react/primitives/generativeUI/GenerativeUI.js +16 -6
- package/dist/react/primitives/generativeUI/GenerativeUI.js.map +1 -1
- package/dist/react/primitives/message/MessageAttachments.d.ts +26 -23
- package/dist/react/primitives/message/MessageAttachments.d.ts.map +1 -1
- package/dist/react/primitives/message/MessageAttachments.js +14 -15
- package/dist/react/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/react/primitives/message/MessageGroupedParts.d.ts +120 -117
- package/dist/react/primitives/message/MessageGroupedParts.d.ts.map +1 -1
- package/dist/react/primitives/message/MessageGroupedParts.js +3 -3
- package/dist/react/primitives/message/MessageGroupedParts.js.map +1 -1
- package/dist/react/primitives/message/MessageParts.d.ts +199 -185
- package/dist/react/primitives/message/MessageParts.d.ts.map +1 -1
- package/dist/react/primitives/message/MessageParts.js +124 -82
- package/dist/react/primitives/message/MessageParts.js.map +1 -1
- package/dist/react/primitives/message/MessageQuote.d.ts +6 -8
- package/dist/react/primitives/message/MessageQuote.d.ts.map +1 -1
- package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts +2 -4
- package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
- package/dist/react/primitives/part/PartMessages.d.ts +13 -15
- package/dist/react/primitives/part/PartMessages.d.ts.map +1 -1
- package/dist/react/primitives/thread/ThreadMessages.d.ts +54 -56
- package/dist/react/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/react/primitives/thread/ThreadSuggestions.d.ts +20 -21
- package/dist/react/primitives/thread/ThreadSuggestions.d.ts.map +1 -1
- package/dist/react/primitives/thread/ThreadSuggestions.js +24 -5
- package/dist/react/primitives/thread/ThreadSuggestions.js.map +1 -1
- package/dist/react/primitives/threadList/ThreadListItems.d.ts +22 -23
- package/dist/react/primitives/threadList/ThreadListItems.d.ts.map +1 -1
- package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts +4 -6
- package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -1
- package/dist/react/providers/AttachmentByIndexProvider.d.ts +3 -5
- package/dist/react/providers/AttachmentByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts +3 -5
- package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -1
- package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts +2 -4
- package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/MessageByIdProvider.d.ts +2 -4
- package/dist/react/providers/MessageByIdProvider.d.ts.map +1 -1
- package/dist/react/providers/MessageByIndexProvider.d.ts +2 -4
- package/dist/react/providers/MessageByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/PartByIndexProvider.d.ts +2 -4
- package/dist/react/providers/PartByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/QueueItemByIndexProvider.d.ts +2 -4
- package/dist/react/providers/QueueItemByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/ReadonlyThreadProvider.d.ts +5 -7
- package/dist/react/providers/ReadonlyThreadProvider.d.ts.map +1 -1
- package/dist/react/providers/ReadonlyThreadProvider.js.map +1 -1
- package/dist/react/providers/SuggestionByIndexProvider.d.ts +2 -4
- package/dist/react/providers/SuggestionByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/TextMessagePartProvider.d.ts +3 -5
- package/dist/react/providers/TextMessagePartProvider.d.ts.map +1 -1
- package/dist/react/providers/TextMessagePartProvider.js +5 -1
- package/dist/react/providers/TextMessagePartProvider.js.map +1 -1
- package/dist/react/providers/ThreadListItemByIndexProvider.d.ts +3 -5
- package/dist/react/providers/ThreadListItemByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts +3 -6
- package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts +209 -219
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +53 -39
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +185 -196
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js +13 -4
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/react/runtimes/RemoteThreadResource.d.ts +14 -19
- package/dist/react/runtimes/RemoteThreadResource.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadResource.js +3 -1
- package/dist/react/runtimes/RemoteThreadResource.js.map +1 -1
- package/dist/react/runtimes/RuntimeAdapterProvider.d.ts +8 -9
- package/dist/react/runtimes/RuntimeAdapterProvider.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/commandQueue.d.ts +9 -11
- package/dist/react/runtimes/assistant-transport/commandQueue.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/replayBoundaryStream.d.ts +4 -5
- package/dist/react/runtimes/assistant-transport/replayBoundaryStream.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/replayBoundaryStream.js +9 -2
- package/dist/react/runtimes/assistant-transport/replayBoundaryStream.js.map +1 -1
- package/dist/react/runtimes/assistant-transport/runManager.d.ts +7 -9
- package/dist/react/runtimes/assistant-transport/runManager.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/runManager.js +4 -1
- package/dist/react/runtimes/assistant-transport/runManager.js.map +1 -1
- package/dist/react/runtimes/assistant-transport/types.d.ts +106 -100
- package/dist/react/runtimes/assistant-transport/types.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts +3 -5
- package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.js +17 -6
- package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
- package/dist/react/runtimes/assistant-transport/useConvertedState.d.ts +2 -4
- package/dist/react/runtimes/assistant-transport/useConvertedState.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts +1 -3
- package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts +5 -7
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +410 -213
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts +14 -16
- package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js +8 -4
- package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js.map +1 -1
- package/dist/react/runtimes/cloud/auiV0.d.ts +136 -123
- package/dist/react/runtimes/cloud/auiV0.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/auiV0.js +60 -9
- package/dist/react/runtimes/cloud/auiV0.js.map +1 -1
- package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts +9 -10
- package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/createCloudThreadListAdapterCreateFallback.d.ts +4 -5
- package/dist/react/runtimes/cloud/createCloudThreadListAdapterCreateFallback.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/sdkIdentity.d.ts +1 -3
- package/dist/react/runtimes/cloud/sdkIdentity.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/sdkIdentity.js +1 -1
- package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts +2 -4
- package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts +8 -9
- package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/createMessageConverter.d.ts +14 -17
- package/dist/react/runtimes/createMessageConverter.d.ts.map +1 -1
- package/dist/react/runtimes/createMessageConverter.js.map +1 -1
- package/dist/react/runtimes/createRuntimeExtras.d.ts +11 -13
- package/dist/react/runtimes/createRuntimeExtras.d.ts.map +1 -1
- package/dist/react/runtimes/external-message-converter.d.ts +14 -18
- package/dist/react/runtimes/external-message-converter.d.ts.map +1 -1
- package/dist/react/runtimes/external-store-history-copy.d.ts +25 -0
- package/dist/react/runtimes/external-store-history-copy.d.ts.map +1 -0
- package/dist/react/runtimes/external-store-history-copy.js +148 -0
- package/dist/react/runtimes/external-store-history-copy.js.map +1 -0
- package/dist/react/runtimes/useExternalStoreRuntime.d.ts +2 -4
- package/dist/react/runtimes/useExternalStoreRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/useExternalStoreRuntime.js +72 -35
- package/dist/react/runtimes/useExternalStoreRuntime.js.map +1 -1
- package/dist/react/runtimes/useExternalStoreSharedOptions.d.ts +1 -3
- package/dist/react/runtimes/useExternalStoreSharedOptions.d.ts.map +1 -1
- package/dist/react/runtimes/useLocalRuntime.d.ts +26 -37
- package/dist/react/runtimes/useLocalRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/useLocalRuntime.js +142 -34
- package/dist/react/runtimes/useLocalRuntime.js.map +1 -1
- package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts +2 -4
- package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/useRuntimeAdapters.d.ts +1 -3
- package/dist/react/runtimes/useRuntimeAdapters.d.ts.map +1 -1
- package/dist/react/runtimes/useStreamingTiming.d.ts +3 -5
- package/dist/react/runtimes/useStreamingTiming.d.ts.map +1 -1
- package/dist/react/types/MessagePartComponentTypes.d.ts +46 -43
- package/dist/react/types/MessagePartComponentTypes.d.ts.map +1 -1
- package/dist/react/types/scopes/dataRenderers.d.ts +8 -11
- package/dist/react/types/scopes/dataRenderers.d.ts.map +1 -1
- package/dist/react/types/scopes/interactables.d.ts +50 -49
- package/dist/react/types/scopes/interactables.d.ts.map +1 -1
- package/dist/react/types/scopes/tools.d.ts +17 -19
- package/dist/react/types/scopes/tools.d.ts.map +1 -1
- package/dist/react/types/store-augmentation.d.ts +10 -11
- package/dist/react/types/store-augmentation.d.ts.map +1 -1
- package/dist/react/utils/getMessageQuote.d.ts +5 -6
- package/dist/react/utils/getMessageQuote.d.ts.map +1 -1
- package/dist/react/utils/groupParts.d.ts +28 -29
- package/dist/react/utils/groupParts.d.ts.map +1 -1
- package/dist/react/utils/useJSONEqual.d.ts +1 -3
- package/dist/react/utils/useJSONEqual.d.ts.map +1 -1
- package/dist/react/utils/useJSONSchemaDependency.d.ts +2 -4
- package/dist/react/utils/useJSONSchemaDependency.d.ts.map +1 -1
- package/dist/runtime/api/assistant-runtime.d.ts +26 -28
- package/dist/runtime/api/assistant-runtime.d.ts.map +1 -1
- package/dist/runtime/api/attachment-runtime.d.ts +46 -43
- package/dist/runtime/api/attachment-runtime.d.ts.map +1 -1
- package/dist/runtime/api/attachment-runtime.js.map +1 -1
- package/dist/runtime/api/bindings.d.ts +31 -30
- package/dist/runtime/api/bindings.d.ts.map +1 -1
- package/dist/runtime/api/composer-runtime.d.ts +207 -193
- package/dist/runtime/api/composer-runtime.d.ts.map +1 -1
- package/dist/runtime/api/composer-runtime.js +4 -0
- package/dist/runtime/api/composer-runtime.js.map +1 -1
- package/dist/runtime/api/message-part-runtime.d.ts +28 -26
- package/dist/runtime/api/message-part-runtime.d.ts.map +1 -1
- package/dist/runtime/api/message-part-runtime.js +22 -0
- package/dist/runtime/api/message-part-runtime.js.map +1 -1
- package/dist/runtime/api/message-runtime.d.ts +87 -84
- package/dist/runtime/api/message-runtime.d.ts.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/paths.d.ts +48 -50
- package/dist/runtime/api/paths.d.ts.map +1 -1
- package/dist/runtime/api/thread-list-item-runtime.d.ts +64 -66
- package/dist/runtime/api/thread-list-item-runtime.d.ts.map +1 -1
- package/dist/runtime/api/thread-list-item-runtime.js.map +1 -1
- package/dist/runtime/api/thread-list-runtime.d.ts +73 -76
- package/dist/runtime/api/thread-list-runtime.d.ts.map +1 -1
- package/dist/runtime/api/thread-list-runtime.js.map +1 -1
- package/dist/runtime/api/thread-runtime.d.ts +299 -300
- package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
- package/dist/runtime/api/thread-runtime.js +2 -1
- package/dist/runtime/api/thread-runtime.js.map +1 -1
- package/dist/runtime/base/base-assistant-runtime-core.d.ts +8 -10
- package/dist/runtime/base/base-assistant-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-composer-runtime-core.d.ts +149 -99
- package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-composer-runtime-core.js +400 -122
- package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
- package/dist/runtime/base/base-thread-runtime-core.d.ts +120 -108
- package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-thread-runtime-core.js +109 -41
- package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
- package/dist/runtime/base/default-edit-composer-runtime-core.d.ts +29 -29
- package/dist/runtime/base/default-edit-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/default-edit-composer-runtime-core.js +10 -1
- package/dist/runtime/base/default-edit-composer-runtime-core.js.map +1 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.d.ts +27 -29
- package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.js +21 -6
- package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
- package/dist/runtime/branch/external-thread-branch-adapter.d.ts +14 -16
- package/dist/runtime/branch/external-thread-branch-adapter.d.ts.map +1 -1
- package/dist/runtime/interfaces/assistant-runtime-core.d.ts +7 -9
- package/dist/runtime/interfaces/assistant-runtime-core.d.ts.map +1 -1
- package/dist/runtime/interfaces/composer-runtime-core.d.ts +88 -72
- package/dist/runtime/interfaces/composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/interfaces/thread-list-runtime-core.d.ts +63 -65
- package/dist/runtime/interfaces/thread-list-runtime-core.d.ts.map +1 -1
- package/dist/runtime/interfaces/thread-runtime-core.d.ts +210 -197
- package/dist/runtime/interfaces/thread-runtime-core.d.ts.map +1 -1
- package/dist/runtime/internal.d.ts +25 -20
- package/dist/runtime/internal.d.ts.map +1 -0
- package/dist/runtime/queue/external-thread-queue-adapter.d.ts +35 -37
- package/dist/runtime/queue/external-thread-queue-adapter.d.ts.map +1 -1
- package/dist/runtime/queue/message-queue.d.ts +29 -31
- package/dist/runtime/queue/message-queue.d.ts.map +1 -1
- package/dist/runtime/queue/message-queue.js +1 -1
- package/dist/runtime/queue/queue-item.d.ts +5 -7
- package/dist/runtime/queue/queue-item.d.ts.map +1 -1
- package/dist/runtime/utils/abortable-thread-load.d.ts +7 -8
- package/dist/runtime/utils/abortable-thread-load.d.ts.map +1 -1
- package/dist/runtime/utils/attachment-add-operations.d.ts +13 -11
- package/dist/runtime/utils/attachment-add-operations.d.ts.map +1 -1
- package/dist/runtime/utils/attachment-add-operations.js +24 -2
- package/dist/runtime/utils/attachment-add-operations.js.map +1 -1
- package/dist/runtime/utils/attachment-send-operations.d.ts +12 -0
- package/dist/runtime/utils/attachment-send-operations.d.ts.map +1 -0
- package/dist/runtime/utils/attachment-send-operations.js +34 -0
- package/dist/runtime/utils/attachment-send-operations.js.map +1 -0
- package/dist/runtime/utils/auto-status.d.ts +4 -5
- package/dist/runtime/utils/auto-status.d.ts.map +1 -1
- package/dist/runtime/utils/auto-status.js +3 -5
- package/dist/runtime/utils/auto-status.js.map +1 -1
- package/dist/runtime/utils/chat-model-adapter.d.ts +26 -27
- package/dist/runtime/utils/chat-model-adapter.d.ts.map +1 -1
- package/dist/runtime/utils/external-message-conversion.d.ts +32 -32
- package/dist/runtime/utils/external-message-conversion.d.ts.map +1 -1
- package/dist/runtime/utils/external-message-conversion.js +3 -3
- package/dist/runtime/utils/external-message-conversion.js.map +1 -1
- package/dist/runtime/utils/external-store-message.d.ts +2 -4
- package/dist/runtime/utils/external-store-message.d.ts.map +1 -1
- package/dist/runtime/utils/message-repository-session.d.ts +21 -23
- package/dist/runtime/utils/message-repository-session.d.ts.map +1 -1
- package/dist/runtime/utils/message-repository.d.ts +50 -51
- package/dist/runtime/utils/message-repository.d.ts.map +1 -1
- package/dist/runtime/utils/message-repository.js +8 -7
- package/dist/runtime/utils/message-repository.js.map +1 -1
- package/dist/runtime/utils/pending-tool-calls.d.ts +10 -11
- package/dist/runtime/utils/pending-tool-calls.d.ts.map +1 -1
- package/dist/runtime/utils/resolveToolApprovalResponse.d.ts +6 -8
- package/dist/runtime/utils/resolveToolApprovalResponse.d.ts.map +1 -1
- package/dist/runtime/utils/runtime-extras-brand.d.ts +4 -6
- package/dist/runtime/utils/runtime-extras-brand.d.ts.map +1 -1
- package/dist/runtime/utils/stored-message-parts.d.ts +5 -5
- package/dist/runtime/utils/stored-message-parts.d.ts.map +1 -1
- package/dist/runtime/utils/stored-message-parts.js +22 -2
- package/dist/runtime/utils/stored-message-parts.js.map +1 -1
- package/dist/runtime/utils/streaming-timing.d.ts +19 -21
- package/dist/runtime/utils/streaming-timing.d.ts.map +1 -1
- package/dist/runtime/utils/thread-message-like.d.ts +36 -32
- package/dist/runtime/utils/thread-message-like.d.ts.map +1 -1
- package/dist/runtime/utils/thread-message-like.js +16 -6
- package/dist/runtime/utils/thread-message-like.js.map +1 -1
- package/dist/runtime/utils/thread-runtime-lifecycle.d.ts +4 -5
- package/dist/runtime/utils/thread-runtime-lifecycle.d.ts.map +1 -1
- package/dist/runtime/utils/thread-runtime-lifecycle.js +31 -4
- package/dist/runtime/utils/thread-runtime-lifecycle.js.map +1 -1
- package/dist/runtime/utils/tool-call-tree.d.ts +6 -8
- package/dist/runtime/utils/tool-call-tree.d.ts.map +1 -1
- package/dist/runtime/utils/tool-interactions.d.ts +10 -0
- package/dist/runtime/utils/tool-interactions.d.ts.map +1 -0
- package/dist/runtime/utils/tool-interactions.js +92 -0
- package/dist/runtime/utils/tool-interactions.js.map +1 -0
- package/dist/runtimes/assistant-transport/utils.d.ts +0 -2
- package/dist/runtimes/assistant-transport/utils.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-adapter.d.ts +215 -198
- package/dist/runtimes/external-store/external-store-adapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-runtime-core.d.ts +5 -6
- package/dist/runtimes/external-store/external-store-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-runtime-core.js +4 -1
- package/dist/runtimes/external-store/external-store-runtime-core.js.map +1 -1
- package/dist/runtimes/external-store/external-store-shared-options.d.ts +1 -3
- package/dist/runtimes/external-store/external-store-shared-options.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts +38 -40
- 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 +2 -2
- 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 +117 -124
- 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 +44 -14
- package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
- package/dist/runtimes/external-store/thread-message-converter.d.ts +3 -5
- package/dist/runtimes/external-store/thread-message-converter.d.ts.map +1 -1
- package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts +94 -95
- package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/inert/InertThreadRuntimeCore.js +3 -0
- package/dist/runtimes/inert/InertThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/internal.d.ts +20 -16
- package/dist/runtimes/internal.d.ts.map +1 -0
- package/dist/runtimes/local/local-runtime-core.d.ts +6 -8
- package/dist/runtimes/local/local-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/local/local-runtime-options.d.ts +40 -42
- package/dist/runtimes/local/local-runtime-options.d.ts.map +1 -1
- package/dist/runtimes/local/local-thread-list-runtime-core.d.ts +40 -42
- package/dist/runtimes/local/local-thread-list-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/local/local-thread-runtime-core.d.ts +93 -97
- package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/local/local-thread-runtime-core.js +178 -31
- package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
- package/dist/runtimes/local/should-continue.d.ts +1 -3
- package/dist/runtimes/local/should-continue.d.ts.map +1 -1
- package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts +76 -53
- package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js +28 -1
- package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts +11 -13
- package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter-changed.d.ts +2 -4
- package/dist/runtimes/remote-thread-list/adapter-changed.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts +1 -3
- package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/optimistic-state.d.ts +33 -29
- package/dist/runtimes/remote-thread-list/optimistic-state.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/optimistic-state.js +8 -3
- package/dist/runtimes/remote-thread-list/optimistic-state.js.map +1 -1
- package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts +44 -46
- package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/remote-thread-state.js +1 -1
- package/dist/runtimes/remote-thread-list/title-generation.d.ts +25 -26
- package/dist/runtimes/remote-thread-list/title-generation.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/title.d.ts +3 -5
- package/dist/runtimes/remote-thread-list/title.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/types.d.ts +111 -112
- package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
- package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts +144 -145
- package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts.map +1 -1
- package/dist/runtimes/tool-invocations/ToolInvocationTracker.js +22 -7
- package/dist/runtimes/tool-invocations/ToolInvocationTracker.js.map +1 -1
- package/dist/store/clients/chain-of-thought-client.d.ts +7 -9
- package/dist/store/clients/chain-of-thought-client.d.ts.map +1 -1
- package/dist/store/clients/external-thread.d.ts +53 -54
- package/dist/store/clients/external-thread.d.ts.map +1 -1
- package/dist/store/clients/external-thread.js +1256 -731
- package/dist/store/clients/external-thread.js.map +1 -1
- package/dist/store/clients/model-context-client.d.ts +1 -3
- package/dist/store/clients/model-context-client.d.ts.map +1 -1
- package/dist/store/clients/no-op-composer-client.d.ts +2 -4
- package/dist/store/clients/no-op-composer-client.d.ts.map +1 -1
- package/dist/store/clients/no-op-composer-client.js +3 -1
- package/dist/store/clients/no-op-composer-client.js.map +1 -1
- package/dist/store/clients/runtime-adapter.d.ts +1 -3
- package/dist/store/clients/runtime-adapter.d.ts.map +1 -1
- package/dist/store/clients/single-thread-list.d.ts +3 -4
- package/dist/store/clients/single-thread-list.d.ts.map +1 -1
- package/dist/store/clients/submission-message.d.ts +8 -0
- package/dist/store/clients/submission-message.d.ts.map +1 -0
- package/dist/store/clients/submission-message.js +22 -0
- package/dist/store/clients/submission-message.js.map +1 -0
- package/dist/store/clients/suggestions.d.ts +5 -7
- package/dist/store/clients/suggestions.d.ts.map +1 -1
- package/dist/store/clients/thread-message-client.d.ts +10 -9
- package/dist/store/clients/thread-message-client.d.ts.map +1 -1
- package/dist/store/clients/thread-message-client.js +81 -82
- package/dist/store/clients/thread-message-client.js.map +1 -1
- package/dist/store/clients/thread-selection-events.d.ts +0 -2
- package/dist/store/clients/thread-selection-events.d.ts.map +1 -1
- package/dist/store/clients/thread-tasks.d.ts +4 -6
- package/dist/store/clients/thread-tasks.d.ts.map +1 -1
- package/dist/store/env.d.ts +0 -2
- package/dist/store/env.d.ts.map +1 -1
- package/dist/store/index.d.ts +33 -36
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +5 -5
- package/dist/store/internal.d.ts +12 -12
- package/dist/store/internal.d.ts.map +1 -0
- package/dist/store/internal.js +2 -2
- package/dist/store/primitive-predicates.d.ts +3 -4
- package/dist/store/primitive-predicates.d.ts.map +1 -1
- package/dist/store/primitive-predicates.js +9 -4
- package/dist/store/primitive-predicates.js.map +1 -1
- package/dist/store/runtime-clients/attachment-runtime-client.d.ts +3 -5
- package/dist/store/runtime-clients/attachment-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/composer-runtime-client.d.ts +10 -12
- package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/composer-runtime-client.js +65 -62
- package/dist/store/runtime-clients/composer-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/handle-runtime-action.d.ts +0 -2
- package/dist/store/runtime-clients/handle-runtime-action.d.ts.map +1 -1
- package/dist/store/runtime-clients/handle-thread-list-action.d.ts +0 -2
- package/dist/store/runtime-clients/handle-thread-list-action.d.ts.map +1 -1
- package/dist/store/runtime-clients/liveRef.d.ts +1 -3
- package/dist/store/runtime-clients/liveRef.d.ts.map +1 -1
- package/dist/store/runtime-clients/message-part-runtime-client.d.ts +3 -5
- package/dist/store/runtime-clients/message-part-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/message-part-runtime-client.js +26 -16
- package/dist/store/runtime-clients/message-part-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/message-runtime-client.d.ts +9 -9
- package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/message-runtime-client.js +121 -113
- package/dist/store/runtime-clients/message-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts +4 -6
- package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-list-runtime-client.d.ts +5 -7
- package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-runtime-client.d.ts +3 -5
- package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-runtime-client.js +221 -158
- package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/useSubscribable.d.ts +2 -4
- package/dist/store/runtime-clients/useSubscribable.d.ts.map +1 -1
- package/dist/store/scope-registration.d.ts +28 -29
- package/dist/store/scope-registration.d.ts.map +1 -1
- package/dist/store/scopes/attachment.d.ts +15 -17
- package/dist/store/scopes/attachment.d.ts.map +1 -1
- package/dist/store/scopes/chain-of-thought.d.ts +28 -29
- package/dist/store/scopes/chain-of-thought.d.ts.map +1 -1
- package/dist/store/scopes/composer.d.ts +141 -128
- package/dist/store/scopes/composer.d.ts.map +1 -1
- package/dist/store/scopes/message.d.ts +114 -107
- package/dist/store/scopes/message.d.ts.map +1 -1
- package/dist/store/scopes/model-context.d.ts +7 -9
- package/dist/store/scopes/model-context.d.ts.map +1 -1
- package/dist/store/scopes/part.d.ts +49 -45
- package/dist/store/scopes/part.d.ts.map +1 -1
- package/dist/store/scopes/queue-item.d.ts +18 -20
- package/dist/store/scopes/queue-item.d.ts.map +1 -1
- package/dist/store/scopes/suggestion.d.ts +10 -12
- package/dist/store/scopes/suggestion.d.ts.map +1 -1
- package/dist/store/scopes/suggestions.d.ts +13 -15
- package/dist/store/scopes/suggestions.d.ts.map +1 -1
- package/dist/store/scopes/task.d.ts +23 -25
- package/dist/store/scopes/task.d.ts.map +1 -1
- package/dist/store/scopes/thread-list-item.d.ts +63 -65
- package/dist/store/scopes/thread-list-item.d.ts.map +1 -1
- package/dist/store/scopes/thread.d.ts +192 -194
- package/dist/store/scopes/thread.d.ts.map +1 -1
- package/dist/store/scopes/threads.d.ts +45 -47
- package/dist/store/scopes/threads.d.ts.map +1 -1
- package/dist/subscribable/subscribable.d.ts +58 -53
- package/dist/subscribable/subscribable.d.ts.map +1 -1
- package/dist/subscribable/subscribable.js +35 -7
- package/dist/subscribable/subscribable.js.map +1 -1
- package/dist/types/attachment.d.ts +26 -27
- package/dist/types/attachment.d.ts.map +1 -1
- package/dist/types/augmentations.d.ts +4 -4
- package/dist/types/augmentations.d.ts.map +1 -1
- package/dist/types/directive.d.ts +11 -13
- package/dist/types/directive.d.ts.map +1 -1
- package/dist/types/error.d.ts +7 -8
- package/dist/types/error.d.ts.map +1 -1
- package/dist/types/index.d.ts +7 -7
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/message.d.ts +322 -284
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js.map +1 -1
- package/dist/types/quote.d.ts +2 -4
- package/dist/types/quote.d.ts.map +1 -1
- package/dist/types/trigger.d.ts +8 -10
- package/dist/types/trigger.d.ts.map +1 -1
- package/dist/types/unsubscribe.d.ts +0 -2
- package/dist/types/unsubscribe.d.ts.map +1 -1
- package/dist/utils/abortable-iterable.d.ts +0 -2
- package/dist/utils/abortable-iterable.d.ts.map +1 -1
- package/dist/utils/composite-context-provider.d.ts +8 -11
- package/dist/utils/composite-context-provider.d.ts.map +1 -1
- package/dist/utils/data-url.d.ts +10 -12
- package/dist/utils/data-url.d.ts.map +1 -1
- package/dist/utils/getGroupStatus.d.ts +17 -18
- package/dist/utils/getGroupStatus.d.ts.map +1 -1
- package/dist/utils/id.d.ts +0 -2
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/image-media-type.d.ts +0 -2
- package/dist/utils/image-media-type.d.ts.map +1 -1
- package/dist/utils/invoke-user-callback.d.ts +0 -2
- package/dist/utils/invoke-user-callback.d.ts.map +1 -1
- package/dist/utils/json/is-json-equal.d.ts +0 -2
- package/dist/utils/json/is-json-equal.d.ts.map +1 -1
- package/dist/utils/json/is-json.d.ts +1 -3
- package/dist/utils/json/is-json.d.ts.map +1 -1
- package/dist/utils/json/stable-stringify-tool-args.d.ts +1 -3
- package/dist/utils/json/stable-stringify-tool-args.d.ts.map +1 -1
- package/dist/utils/normalizePartStatus.d.ts +2 -3
- package/dist/utils/normalizePartStatus.d.ts.map +1 -1
- package/dist/utils/normalizePartStatus.js +3 -2
- package/dist/utils/normalizePartStatus.js.map +1 -1
- package/dist/utils/notify-event-listeners.d.ts +1 -2
- package/dist/utils/notify-event-listeners.d.ts.map +1 -1
- package/dist/utils/record.d.ts +0 -2
- package/dist/utils/record.d.ts.map +1 -1
- package/dist/utils/silent-runtime-action.d.ts +0 -2
- package/dist/utils/silent-runtime-action.d.ts.map +1 -1
- package/dist/utils/text.d.ts +1 -3
- package/dist/utils/text.d.ts.map +1 -1
- package/dist/utils/wire-media.d.ts +0 -2
- package/dist/utils/wire-media.d.ts.map +1 -1
- package/package.json +11 -10
- package/src/adapters/attachment.test.ts +98 -1
- package/src/adapters/attachment.ts +70 -20
- package/src/adapters/speech.test.ts +94 -0
- package/src/adapters/speech.ts +16 -2
- package/src/adapters/thread-history.ts +16 -5
- package/src/adapters/voice.test.ts +169 -0
- package/src/adapters/voice.ts +25 -4
- package/src/index.ts +14 -2
- package/src/internal.ts +7 -0
- package/src/model-context/frame/host.test.ts +51 -1
- package/src/model-context/frame/host.ts +3 -1
- package/src/model-context/frame/provider.test.ts +61 -0
- package/src/model-context/frame/provider.ts +8 -1
- package/src/model-context/frame/validate.ts +57 -0
- package/src/model-context/interactable-composer-metadata.test.ts +82 -0
- package/src/model-context/interactable-composer-metadata.ts +45 -2
- package/src/react/adapters/LocalStorageThreadListAdapter.test.ts +594 -0
- package/src/react/adapters/LocalStorageThreadListAdapter.tsx +98 -35
- package/src/react/client/Interactables.test.ts +853 -1
- package/src/react/client/Interactables.ts +325 -45
- package/src/react/client/RemoteThreadList.initialize-failure.test.ts +124 -0
- package/src/react/client/RemoteThreadList.ts +6 -0
- package/src/react/client/Tools.ts +2 -3
- package/src/react/client/interactable-model-context.test.ts +56 -13
- package/src/react/client/interactable-model-context.ts +48 -23
- package/src/react/index.ts +2 -2
- package/src/react/interactables-legacy/Interactables.test.ts +212 -1
- package/src/react/interactables-legacy/Interactables.ts +25 -14
- package/src/react/interactables-legacy/interactable-model-context.ts +26 -24
- package/src/react/interactables-shared/useInteractablePersistenceQueue.test.tsx +22 -2
- package/src/react/interactables-shared/useInteractablePersistenceQueue.ts +63 -11
- package/src/react/primitive-hooks/useSuggestionTrigger.test.ts +33 -0
- package/src/react/primitive-hooks/useSuggestionTrigger.ts +7 -4
- package/src/react/primitives/generativeUI/GenerativeUI.test.tsx +124 -8
- package/src/react/primitives/generativeUI/GenerativeUI.tsx +35 -15
- package/src/react/primitives/message/MessageAttachments.test.tsx +2 -6
- package/src/react/primitives/message/MessageAttachments.tsx +14 -8
- package/src/react/primitives/message/MessageGroupedParts.test.tsx +151 -7
- package/src/react/primitives/message/MessageGroupedParts.tsx +19 -6
- package/src/react/primitives/message/MessageParts.test.tsx +84 -0
- package/src/react/primitives/message/MessageParts.tool-interaction.test.tsx +69 -0
- package/src/react/primitives/message/MessageParts.tsx +29 -8
- package/src/react/primitives/thread/ThreadSuggestions.test.tsx +97 -0
- package/src/react/primitives/thread/ThreadSuggestions.tsx +29 -6
- package/src/react/providers/ReadonlyThreadProvider.tsx +2 -2
- package/src/react/providers/TextMessagePartProvider.tsx +3 -0
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.running.test.tsx +93 -0
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.test.tsx +160 -3
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.title.test.tsx +38 -0
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.tsx +73 -53
- package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +19 -3
- package/src/react/runtimes/RemoteThreadResource.ts +5 -2
- package/src/react/runtimes/assistant-transport/replayBoundaryStream.test.ts +3 -1
- package/src/react/runtimes/assistant-transport/replayBoundaryStream.ts +10 -2
- package/src/react/runtimes/assistant-transport/runManager.ts +3 -0
- package/src/react/runtimes/assistant-transport/transport-parentid.test.tsx +57 -0
- package/src/react/runtimes/assistant-transport/transport-thread-id.test.tsx +571 -0
- package/src/react/runtimes/assistant-transport/types.ts +9 -1
- package/src/react/runtimes/assistant-transport/useAssistantTransport.spec.md +10 -0
- package/src/react/runtimes/assistant-transport/useAssistantTransportRuntime.test.tsx +42 -0
- package/src/react/runtimes/assistant-transport/useAssistantTransportRuntime.ts +33 -9
- package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.copy.integration.test.tsx +289 -0
- package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.copy.test.tsx +471 -0
- package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.engagement.test.tsx +330 -0
- package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.ts +78 -2
- package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.tsx +361 -2
- package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.ts +571 -216
- package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.test.ts +25 -0
- package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.ts +7 -3
- package/src/react/runtimes/cloud/auiV0.ts +158 -9
- package/src/react/runtimes/cloud/auiV0DecodeSafely.test.ts +352 -1
- package/src/react/runtimes/createMessageConverter.ts +9 -3
- package/src/react/runtimes/external-store-history-copy.ts +223 -0
- package/src/react/runtimes/useExternalStoreRuntime.history-copy.test.tsx +483 -0
- package/src/react/runtimes/useExternalStoreRuntime.lifecycle.test.tsx +76 -1
- package/src/react/runtimes/useExternalStoreRuntime.ts +25 -5
- package/src/react/runtimes/useLocalRuntime.test.tsx +145 -1
- package/src/react/runtimes/useLocalRuntime.ts +8 -5
- package/src/react/types/MessagePartComponentTypes.ts +10 -0
- package/src/react/types/scopes/interactables.ts +3 -0
- package/src/runtime/api/attachment-runtime.ts +10 -5
- package/src/runtime/api/bindings.ts +6 -1
- package/src/runtime/api/composer-runtime.ts +29 -6
- package/src/runtime/api/message-part-runtime.test.ts +215 -0
- package/src/runtime/api/message-part-runtime.ts +40 -0
- package/src/runtime/api/message-runtime.test.ts +112 -2
- package/src/runtime/api/message-runtime.ts +10 -5
- package/src/runtime/api/thread-list-item-runtime.ts +5 -5
- package/src/runtime/api/thread-list-runtime.ts +3 -3
- package/src/runtime/api/thread-runtime.test.ts +59 -0
- package/src/runtime/api/thread-runtime.ts +21 -11
- package/src/runtime/base/base-composer-runtime-core.ts +548 -153
- package/src/runtime/base/base-thread-runtime-core.test.ts +744 -9
- package/src/runtime/base/base-thread-runtime-core.ts +154 -27
- package/src/runtime/base/default-edit-composer-runtime-core.ts +13 -1
- package/src/runtime/base/default-thread-composer-runtime-core.ts +29 -10
- package/src/runtime/interfaces/composer-runtime-core.ts +19 -0
- package/src/runtime/interfaces/thread-runtime-core.ts +22 -1
- package/src/runtime/utils/attachment-add-operations.ts +45 -2
- package/src/runtime/utils/attachment-send-operations.ts +54 -0
- package/src/runtime/utils/auto-status.test.ts +54 -0
- package/src/runtime/utils/auto-status.ts +3 -10
- package/src/runtime/utils/external-message-conversion.test.ts +48 -0
- package/src/runtime/utils/external-message-conversion.ts +3 -4
- package/src/runtime/utils/message-repository.test.ts +69 -1
- package/src/runtime/utils/message-repository.ts +14 -7
- package/src/runtime/utils/stored-message-parts.ts +43 -1
- package/src/runtime/utils/thread-message-like.test.ts +58 -0
- package/src/runtime/utils/thread-message-like.ts +72 -46
- package/src/runtime/utils/thread-runtime-lifecycle.test.ts +67 -0
- package/src/runtime/utils/thread-runtime-lifecycle.ts +42 -8
- package/src/runtime/utils/tool-interactions.test.ts +193 -0
- package/src/runtime/utils/tool-interactions.ts +147 -0
- package/src/runtimes/external-store/external-store-adapter.ts +22 -1
- package/src/runtimes/external-store/external-store-runtime-core.ts +10 -2
- package/src/runtimes/external-store/external-store-thread-list-runtime-core.ts +2 -2
- package/src/runtimes/external-store/external-store-thread-runtime-core.test.ts +49 -0
- package/src/runtimes/external-store/external-store-thread-runtime-core.ts +76 -29
- package/src/runtimes/inert/InertThreadRuntimeCore.test.ts +127 -56
- package/src/runtimes/inert/InertThreadRuntimeCore.ts +10 -1
- package/src/runtimes/local/local-thread-runtime-core.edit-cancellation.test.ts +70 -0
- package/src/runtimes/local/local-thread-runtime-core.test.ts +1649 -108
- package/src/runtimes/local/local-thread-runtime-core.ts +301 -47
- package/src/runtimes/readonly/ReadonlyThreadRuntimeCore.ts +53 -1
- package/src/runtimes/remote-thread-list/optimistic-state.ts +8 -3
- package/src/runtimes/tool-invocations/EDGE_CASES.md +19 -4
- package/src/runtimes/tool-invocations/ToolInvocationTracker.test.ts +392 -39
- package/src/runtimes/tool-invocations/ToolInvocationTracker.ts +31 -8
- package/src/store/clients/external-thread.test.ts +145 -0
- package/src/store/clients/external-thread.ts +635 -131
- package/src/store/clients/model-context-client.test.ts +8 -8
- package/src/store/clients/no-op-composer-client.ts +2 -0
- package/src/store/clients/submission-message.ts +27 -0
- package/src/store/clients/thread-message-client.test.ts +39 -0
- package/src/store/clients/thread-message-client.ts +13 -6
- package/src/store/index.ts +2 -2
- package/src/store/internal.ts +1 -0
- package/src/store/primitive-predicates.test.ts +103 -0
- package/src/store/primitive-predicates.ts +15 -3
- package/src/store/runtime-clients/composer-runtime-client.ts +4 -3
- package/src/store/runtime-clients/message-part-runtime-client.test.ts +42 -0
- package/src/store/runtime-clients/message-part-runtime-client.ts +4 -0
- package/src/store/runtime-clients/message-runtime-client.ts +5 -0
- package/src/store/runtime-clients/thread-runtime-client.test.tsx +138 -5
- package/src/store/runtime-clients/thread-runtime-client.ts +46 -9
- package/src/store/scopes/composer.ts +22 -4
- package/src/store/scopes/message.ts +8 -0
- package/src/store/scopes/part.ts +8 -0
- package/src/subscribable/subscribable.test.ts +198 -1
- package/src/subscribable/subscribable.ts +49 -7
- package/src/tests/RemoteThreadListThreadListRuntimeCore-errors.test.ts +95 -1
- package/src/tests/auiV0Encode.test.ts +408 -1
- package/src/tests/base-composer-runtime-core-send.test.ts +722 -29
- package/src/tests/base-composer-runtime-core.test.ts +196 -0
- package/src/tests/composer-can-send.test.ts +98 -1
- package/src/tests/composer-submission.test.tsx +796 -0
- package/src/tests/default-edit-composer-runtime-core.test.ts +102 -2
- package/src/tests/external-store-thread-list-runtime-core.test.ts +111 -0
- package/src/tests/external-store-thread-runtime-core-adapter.test.ts +581 -1
- package/src/tests/external-store-thread-runtime-core.test.ts +186 -0
- package/src/tests/external-thread-attachments.test.tsx +741 -3
- package/src/tests/external-thread-isLast.test.tsx +69 -0
- package/src/tests/get-thread-state-isRunning.test.ts +2 -2
- package/src/tests/remote-thread-list-adapter-switch.test.ts +45 -1
- package/src/types/message.ts +49 -2
- package/src/utils/normalizePartStatus.ts +14 -1
- package/dist/tests/remote-thread-list-test-helpers.d.ts +0 -15
- package/dist/tests/remote-thread-list-test-helpers.d.ts.map +0 -1
- package/dist/tests/remote-thread-list-test-helpers.js +0 -59
- package/dist/tests/remote-thread-list-test-helpers.js.map +0 -1
|
@@ -2,7 +2,13 @@ import { nullProtoRecord } from "../../utils/record.js";
|
|
|
2
2
|
import { useCallback, useRef } from "@assistant-ui/tap/react-shim";
|
|
3
3
|
//#region src/react/interactables-shared/useInteractablePersistenceQueue.ts
|
|
4
4
|
const PERSISTENCE_DEBOUNCE_MS = 500;
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* `load` is caller code with no settling contract, so an awaited `flush` bounds
|
|
7
|
+
* the wait rather than inheriting it. Past this the edit stays queued for the
|
|
8
|
+
* next successful snapshot, which is the same shape a failed load already has.
|
|
9
|
+
*/
|
|
10
|
+
const FLUSH_LOAD_TIMEOUT_MS = 5e3;
|
|
11
|
+
const useInteractablePersistenceQueue = ({ adapterRef, adapterGenerationRef, snapshot, updatePersistenceStatus, retainDirtyWithoutAdapter = false }) => {
|
|
6
12
|
const debounceTimerRef = useRef(void 0);
|
|
7
13
|
const syncSeqRef = useRef(0);
|
|
8
14
|
const latestSyncSeqByIdRef = useRef(/* @__PURE__ */ new Map());
|
|
@@ -19,11 +25,12 @@ const useInteractablePersistenceQueue = ({ adapterRef, snapshot, updatePersisten
|
|
|
19
25
|
for (const id of dirtyIds) latestSyncSeqByIdRef.current.set(id, seq);
|
|
20
26
|
return {
|
|
21
27
|
adapter,
|
|
28
|
+
adapterGeneration: adapterGenerationRef.current,
|
|
22
29
|
payload: snapshot(),
|
|
23
30
|
dirtyIds,
|
|
24
31
|
seq
|
|
25
32
|
};
|
|
26
|
-
}, [snapshot]);
|
|
33
|
+
}, [adapterGenerationRef, snapshot]);
|
|
27
34
|
const enqueuePersistence = useCallback((adapter_0) => {
|
|
28
35
|
const batch = takeDirtyBatch(adapter_0);
|
|
29
36
|
if (!batch) return;
|
|
@@ -39,7 +46,7 @@ const useInteractablePersistenceQueue = ({ adapterRef, snapshot, updatePersisten
|
|
|
39
46
|
}
|
|
40
47
|
return;
|
|
41
48
|
}
|
|
42
|
-
const { adapter: adapter_1, payload, dirtyIds: dirtyIds_0, seq: seq_0 } = resolved;
|
|
49
|
+
const { adapter: adapter_1, adapterGeneration, payload, dirtyIds: dirtyIds_0, seq: seq_0 } = resolved;
|
|
43
50
|
inFlightPersistenceRef.current += 1;
|
|
44
51
|
updatePersistenceStatus((prev) => {
|
|
45
52
|
const persistence = nullProtoRecord(prev);
|
|
@@ -73,10 +80,12 @@ const useInteractablePersistenceQueue = ({ adapterRef, snapshot, updatePersisten
|
|
|
73
80
|
await adapter_1.save(payload);
|
|
74
81
|
settleBatch(void 0);
|
|
75
82
|
} catch (e) {
|
|
76
|
-
|
|
83
|
+
const isCurrentScope = adapterGenerationRef.current === adapterGeneration;
|
|
84
|
+
if (!isCurrentScope) console.warn("[Interactables] Persistence save failed after the adapter changed.", e);
|
|
85
|
+
settleBatch(isCurrentScope ? {
|
|
77
86
|
isPending: false,
|
|
78
87
|
error: e
|
|
79
|
-
});
|
|
88
|
+
} : void 0);
|
|
80
89
|
} finally {
|
|
81
90
|
inFlightPersistenceRef.current -= 1;
|
|
82
91
|
const next = outgoingQueueRef.current.shift() ?? (adapterRef.current && dirtyIdsRef.current.size > 0 ? takeDirtyBatch(adapterRef.current) : void 0);
|
|
@@ -92,6 +101,7 @@ const useInteractablePersistenceQueue = ({ adapterRef, snapshot, updatePersisten
|
|
|
92
101
|
}
|
|
93
102
|
}
|
|
94
103
|
}, [
|
|
104
|
+
adapterGenerationRef,
|
|
95
105
|
adapterRef,
|
|
96
106
|
takeDirtyBatch,
|
|
97
107
|
updatePersistenceStatus
|
|
@@ -99,35 +109,54 @@ const useInteractablePersistenceQueue = ({ adapterRef, snapshot, updatePersisten
|
|
|
99
109
|
runPersistenceRef.current = (nextBatch) => {
|
|
100
110
|
runPersistence(nextBatch);
|
|
101
111
|
};
|
|
112
|
+
const flushIfPending = useCallback(() => {
|
|
113
|
+
if (debounceTimerRef.current !== void 0) {
|
|
114
|
+
clearTimeout(debounceTimerRef.current);
|
|
115
|
+
debounceTimerRef.current = void 0;
|
|
116
|
+
}
|
|
117
|
+
if (adapterRef.current) enqueuePersistence(adapterRef.current);
|
|
118
|
+
}, [adapterRef, enqueuePersistence]);
|
|
119
|
+
const schedulePersistence = useCallback((id_3) => {
|
|
120
|
+
if (!adapterRef.current && !retainDirtyWithoutAdapter) return;
|
|
121
|
+
dirtyIdsRef.current.add(id_3);
|
|
122
|
+
if (!adapterRef.current) return;
|
|
123
|
+
if (debounceTimerRef.current !== void 0) clearTimeout(debounceTimerRef.current);
|
|
124
|
+
debounceTimerRef.current = setTimeout(() => {
|
|
125
|
+
debounceTimerRef.current = void 0;
|
|
126
|
+
if (inFlightPersistenceRef.current === 0 && adapterRef.current) enqueuePersistence(adapterRef.current);
|
|
127
|
+
else debounceTimerRef.current = setTimeout(() => {
|
|
128
|
+
debounceTimerRef.current = void 0;
|
|
129
|
+
if (adapterRef.current) enqueuePersistence(adapterRef.current);
|
|
130
|
+
}, 500);
|
|
131
|
+
}, 500);
|
|
132
|
+
}, [
|
|
133
|
+
adapterRef,
|
|
134
|
+
enqueuePersistence,
|
|
135
|
+
retainDirtyWithoutAdapter
|
|
136
|
+
]);
|
|
102
137
|
return {
|
|
103
|
-
|
|
138
|
+
discardPending: useCallback(() => {
|
|
104
139
|
if (debounceTimerRef.current !== void 0) {
|
|
105
140
|
clearTimeout(debounceTimerRef.current);
|
|
106
141
|
debounceTimerRef.current = void 0;
|
|
107
142
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
else debounceTimerRef.current = setTimeout(() => {
|
|
118
|
-
debounceTimerRef.current = void 0;
|
|
119
|
-
if (adapterRef.current) enqueuePersistence(adapterRef.current);
|
|
120
|
-
}, PERSISTENCE_DEBOUNCE_MS);
|
|
121
|
-
}, PERSISTENCE_DEBOUNCE_MS);
|
|
122
|
-
}, [adapterRef, enqueuePersistence]),
|
|
143
|
+
dirtyIdsRef.current.clear();
|
|
144
|
+
if (inFlightPersistenceRef.current === 0 && outgoingQueueRef.current.length === 0) {
|
|
145
|
+
for (const resolve_0 of flushResolversRef.current) resolve_0();
|
|
146
|
+
flushResolversRef.current = [];
|
|
147
|
+
}
|
|
148
|
+
}, []),
|
|
149
|
+
flushIfPending,
|
|
150
|
+
getDirtyIds: useCallback(() => new Set(dirtyIdsRef.current), []),
|
|
151
|
+
schedulePersistence,
|
|
123
152
|
flush: useCallback(async () => {
|
|
124
153
|
if (debounceTimerRef.current !== void 0) {
|
|
125
154
|
clearTimeout(debounceTimerRef.current);
|
|
126
155
|
debounceTimerRef.current = void 0;
|
|
127
156
|
}
|
|
128
|
-
if (!(inFlightPersistenceRef.current > 0 ||
|
|
129
|
-
const p = new Promise((
|
|
130
|
-
flushResolversRef.current.push(
|
|
157
|
+
if (!(inFlightPersistenceRef.current > 0 || outgoingQueueRef.current.length > 0 || adapterRef.current !== void 0 && dirtyIdsRef.current.size > 0)) return;
|
|
158
|
+
const p = new Promise((resolve_1) => {
|
|
159
|
+
flushResolversRef.current.push(resolve_1);
|
|
131
160
|
});
|
|
132
161
|
if (adapterRef.current) enqueuePersistence(adapterRef.current);
|
|
133
162
|
return p;
|
|
@@ -135,6 +164,6 @@ const useInteractablePersistenceQueue = ({ adapterRef, snapshot, updatePersisten
|
|
|
135
164
|
};
|
|
136
165
|
};
|
|
137
166
|
//#endregion
|
|
138
|
-
export { useInteractablePersistenceQueue };
|
|
167
|
+
export { FLUSH_LOAD_TIMEOUT_MS, PERSISTENCE_DEBOUNCE_MS, useInteractablePersistenceQueue };
|
|
139
168
|
|
|
140
169
|
//# sourceMappingURL=useInteractablePersistenceQueue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInteractablePersistenceQueue.js","names":["useCallback","useRef","RefObject","nullProtoRecord","PERSISTENCE_DEBOUNCE_MS","PersistenceAdapter","save","state","State","Promise","PersistenceStatus","isPending","error","PersistenceStatusMap","Record","PersistenceStatusUpdater","updater","prev","UseInteractablePersistenceQueueOptions","adapterRef","snapshot","updatePersistenceStatus","useInteractablePersistenceQueue","debounceTimerRef","ReturnType","setTimeout","undefined","syncSeqRef","latestSyncSeqByIdRef","Map","inFlightPersistenceRef","flushResolversRef","Array","dirtyIdsRef","Set","PersistenceBatch","adapter","payload","dirtyIds","seq","outgoingQueueRef","runPersistenceRef","batch","takeDirtyBatch","current","size","clear","id","set","enqueuePersistence","push","runPersistence","resolved","resolve","persistence","settleBatch","status","settledIds","get","has","delete","length","changed","e","next","shift","clearTimeout","nextBatch","flushIfPending","schedulePersistence","add","flush","hasWork","p"],"sources":["../../../src/react/interactables-shared/useInteractablePersistenceQueue.ts"],"sourcesContent":["import { useCallback, useRef, type RefObject } from \"react\";\nimport { nullProtoRecord } from \"../../utils/record\";\n\nconst PERSISTENCE_DEBOUNCE_MS = 500;\n\ntype PersistenceAdapter<State> = {\n save(state: State): void | Promise<void>;\n};\n\ntype PersistenceStatus = {\n isPending: boolean;\n error: unknown;\n};\n\ntype PersistenceStatusMap = Record<string, PersistenceStatus>;\n\ntype PersistenceStatusUpdater = (\n updater: (prev: PersistenceStatusMap) => PersistenceStatusMap,\n) => void;\n\ntype UseInteractablePersistenceQueueOptions<State> = {\n adapterRef: RefObject<PersistenceAdapter<State> | undefined>;\n snapshot: () => State;\n updatePersistenceStatus: PersistenceStatusUpdater;\n};\n\nexport const useInteractablePersistenceQueue = <State>({\n adapterRef,\n snapshot,\n updatePersistenceStatus,\n}: UseInteractablePersistenceQueueOptions<State>) => {\n const debounceTimerRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const syncSeqRef = useRef(0);\n const latestSyncSeqByIdRef = useRef(new Map<string, number>());\n const inFlightPersistenceRef = useRef(0);\n const flushResolversRef = useRef<Array<() => void>>([]);\n const dirtyIdsRef = useRef(new Set<string>());\n\n type PersistenceBatch = {\n adapter: PersistenceAdapter<State>;\n payload: State;\n dirtyIds: Set<string>;\n seq: number;\n };\n\n const outgoingQueueRef = useRef<PersistenceBatch[]>([]);\n const runPersistenceRef = useRef<(batch?: PersistenceBatch) => void>(\n () => {},\n );\n\n const takeDirtyBatch = useCallback(\n (adapter: PersistenceAdapter<State>): PersistenceBatch | undefined => {\n if (dirtyIdsRef.current.size === 0) return;\n const dirtyIds = new Set(dirtyIdsRef.current);\n dirtyIdsRef.current.clear();\n const seq = ++syncSeqRef.current;\n for (const id of dirtyIds) latestSyncSeqByIdRef.current.set(id, seq);\n return { adapter, payload: snapshot(), dirtyIds, seq };\n },\n [snapshot],\n );\n\n const enqueuePersistence = useCallback(\n (adapter: PersistenceAdapter<State>) => {\n const batch = takeDirtyBatch(adapter);\n if (!batch) return;\n if (inFlightPersistenceRef.current === 0) {\n runPersistenceRef.current(batch);\n } else {\n outgoingQueueRef.current.push(batch);\n }\n },\n [takeDirtyBatch],\n );\n\n const runPersistence = useCallback(\n async (batch?: PersistenceBatch) => {\n const resolved =\n batch ??\n (adapterRef.current ? takeDirtyBatch(adapterRef.current) : undefined);\n if (!resolved) {\n if (inFlightPersistenceRef.current === 0) {\n for (const resolve of flushResolversRef.current) resolve();\n flushResolversRef.current = [];\n }\n return;\n }\n\n const { adapter, payload, dirtyIds, seq } = resolved;\n inFlightPersistenceRef.current += 1;\n\n updatePersistenceStatus((prev) => {\n const persistence = nullProtoRecord(prev);\n for (const id of dirtyIds) {\n persistence[id] = { isPending: true, error: undefined };\n }\n return persistence;\n });\n\n const settleBatch = (status: PersistenceStatus | undefined) => {\n const settledIds: string[] = [];\n for (const id of dirtyIds) {\n if (\n latestSyncSeqByIdRef.current.get(id) !== seq ||\n dirtyIdsRef.current.has(id)\n )\n continue;\n latestSyncSeqByIdRef.current.delete(id);\n settledIds.push(id);\n }\n if (settledIds.length === 0) return;\n updatePersistenceStatus((prev) => {\n let changed = false;\n const persistence = nullProtoRecord(prev);\n for (const id of settledIds) {\n if (prev[id] === undefined) continue;\n if (status === undefined) delete persistence[id];\n else persistence[id] = status;\n changed = true;\n }\n return changed ? persistence : prev;\n });\n };\n\n try {\n await adapter.save(payload);\n settleBatch(undefined);\n } catch (e) {\n settleBatch({ isPending: false, error: e });\n } finally {\n inFlightPersistenceRef.current -= 1;\n const next =\n outgoingQueueRef.current.shift() ??\n (adapterRef.current && dirtyIdsRef.current.size > 0\n ? takeDirtyBatch(adapterRef.current)\n : undefined);\n if (next) {\n if (debounceTimerRef.current !== undefined) {\n clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = undefined;\n }\n runPersistenceRef.current(next);\n } else if (inFlightPersistenceRef.current === 0) {\n for (const resolve of flushResolversRef.current) resolve();\n flushResolversRef.current = [];\n }\n }\n },\n [adapterRef, takeDirtyBatch, updatePersistenceStatus],\n );\n runPersistenceRef.current = (nextBatch) => {\n void runPersistence(nextBatch);\n };\n\n const flushIfPending = useCallback(() => {\n if (debounceTimerRef.current !== undefined) {\n clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = undefined;\n }\n if (adapterRef.current) enqueuePersistence(adapterRef.current);\n }, [adapterRef, enqueuePersistence]);\n\n const schedulePersistence = useCallback(\n (id: string) => {\n if (!adapterRef.current) return;\n dirtyIdsRef.current.add(id);\n if (debounceTimerRef.current !== undefined) {\n clearTimeout(debounceTimerRef.current);\n }\n debounceTimerRef.current = setTimeout(() => {\n debounceTimerRef.current = undefined;\n if (inFlightPersistenceRef.current === 0 && adapterRef.current) {\n enqueuePersistence(adapterRef.current);\n } else {\n debounceTimerRef.current = setTimeout(() => {\n debounceTimerRef.current = undefined;\n if (adapterRef.current) enqueuePersistence(adapterRef.current);\n }, PERSISTENCE_DEBOUNCE_MS);\n }\n }, PERSISTENCE_DEBOUNCE_MS);\n },\n [adapterRef, enqueuePersistence],\n );\n\n const flush = useCallback(async () => {\n if (debounceTimerRef.current !== undefined) {\n clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = undefined;\n }\n const hasWork =\n inFlightPersistenceRef.current > 0 ||\n dirtyIdsRef.current.size > 0 ||\n outgoingQueueRef.current.length > 0;\n if (!hasWork) return;\n const p = new Promise<void>((resolve) => {\n flushResolversRef.current.push(resolve);\n });\n if (adapterRef.current) enqueuePersistence(adapterRef.current);\n return p;\n }, [adapterRef, enqueuePersistence]);\n\n return { flushIfPending, schedulePersistence, flush };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useInteractablePersistenceQueue.js","names":["useCallback","useRef","RefObject","nullProtoRecord","PERSISTENCE_DEBOUNCE_MS","FLUSH_LOAD_TIMEOUT_MS","PersistenceAdapter","save","state","State","Promise","PersistenceStatus","isPending","error","PersistenceStatusMap","Record","PersistenceStatusUpdater","updater","prev","UseInteractablePersistenceQueueOptions","adapterRef","adapterGenerationRef","snapshot","updatePersistenceStatus","retainDirtyWithoutAdapter","useInteractablePersistenceQueue","debounceTimerRef","ReturnType","setTimeout","undefined","syncSeqRef","latestSyncSeqByIdRef","Map","inFlightPersistenceRef","flushResolversRef","Array","dirtyIdsRef","Set","PersistenceBatch","adapter","payload","dirtyIds","seq","adapterGeneration","outgoingQueueRef","runPersistenceRef","batch","takeDirtyBatch","current","size","clear","id","set","enqueuePersistence","push","runPersistence","resolved","resolve","persistence","settleBatch","status","settledIds","get","has","delete","length","changed","e","isCurrentScope","console","warn","next","shift","clearTimeout","nextBatch","flushIfPending","schedulePersistence","add","discardPending","getDirtyIds","flush","hasWork","p"],"sources":["../../../src/react/interactables-shared/useInteractablePersistenceQueue.ts"],"sourcesContent":["import { useCallback, useRef, type RefObject } from \"react\";\nimport { nullProtoRecord } from \"../../utils/record\";\n\nexport const PERSISTENCE_DEBOUNCE_MS = 500;\n\n/**\n * `load` is caller code with no settling contract, so an awaited `flush` bounds\n * the wait rather than inheriting it. Past this the edit stays queued for the\n * next successful snapshot, which is the same shape a failed load already has.\n */\nexport const FLUSH_LOAD_TIMEOUT_MS = 5_000;\n\ntype PersistenceAdapter<State> = {\n save(state: State): void | Promise<void>;\n};\n\ntype PersistenceStatus = {\n isPending: boolean;\n error: unknown;\n};\n\ntype PersistenceStatusMap = Record<string, PersistenceStatus>;\n\ntype PersistenceStatusUpdater = (\n updater: (prev: PersistenceStatusMap) => PersistenceStatusMap,\n) => void;\n\ntype UseInteractablePersistenceQueueOptions<State> = {\n adapterRef: RefObject<PersistenceAdapter<State> | undefined>;\n adapterGenerationRef: RefObject<number>;\n snapshot: () => State;\n updatePersistenceStatus: PersistenceStatusUpdater;\n retainDirtyWithoutAdapter?: boolean;\n};\n\nexport const useInteractablePersistenceQueue = <State>({\n adapterRef,\n adapterGenerationRef,\n snapshot,\n updatePersistenceStatus,\n retainDirtyWithoutAdapter = false,\n}: UseInteractablePersistenceQueueOptions<State>) => {\n const debounceTimerRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const syncSeqRef = useRef(0);\n const latestSyncSeqByIdRef = useRef(new Map<string, number>());\n const inFlightPersistenceRef = useRef(0);\n const flushResolversRef = useRef<Array<() => void>>([]);\n const dirtyIdsRef = useRef(new Set<string>());\n\n type PersistenceBatch = {\n adapter: PersistenceAdapter<State>;\n payload: State;\n dirtyIds: Set<string>;\n seq: number;\n adapterGeneration: number;\n };\n\n const outgoingQueueRef = useRef<PersistenceBatch[]>([]);\n const runPersistenceRef = useRef<(batch?: PersistenceBatch) => void>(\n () => {},\n );\n\n const takeDirtyBatch = useCallback(\n (adapter: PersistenceAdapter<State>): PersistenceBatch | undefined => {\n if (dirtyIdsRef.current.size === 0) return;\n const dirtyIds = new Set(dirtyIdsRef.current);\n dirtyIdsRef.current.clear();\n const seq = ++syncSeqRef.current;\n for (const id of dirtyIds) latestSyncSeqByIdRef.current.set(id, seq);\n return {\n adapter,\n adapterGeneration: adapterGenerationRef.current,\n payload: snapshot(),\n dirtyIds,\n seq,\n };\n },\n [adapterGenerationRef, snapshot],\n );\n\n const enqueuePersistence = useCallback(\n (adapter: PersistenceAdapter<State>) => {\n const batch = takeDirtyBatch(adapter);\n if (!batch) return;\n if (inFlightPersistenceRef.current === 0) {\n runPersistenceRef.current(batch);\n } else {\n outgoingQueueRef.current.push(batch);\n }\n },\n [takeDirtyBatch],\n );\n\n const runPersistence = useCallback(\n async (batch?: PersistenceBatch) => {\n const resolved =\n batch ??\n (adapterRef.current ? takeDirtyBatch(adapterRef.current) : undefined);\n if (!resolved) {\n if (inFlightPersistenceRef.current === 0) {\n for (const resolve of flushResolversRef.current) resolve();\n flushResolversRef.current = [];\n }\n return;\n }\n\n const { adapter, adapterGeneration, payload, dirtyIds, seq } = resolved;\n inFlightPersistenceRef.current += 1;\n\n updatePersistenceStatus((prev) => {\n const persistence = nullProtoRecord(prev);\n for (const id of dirtyIds) {\n persistence[id] = { isPending: true, error: undefined };\n }\n return persistence;\n });\n\n const settleBatch = (status: PersistenceStatus | undefined) => {\n const settledIds: string[] = [];\n for (const id of dirtyIds) {\n if (\n latestSyncSeqByIdRef.current.get(id) !== seq ||\n dirtyIdsRef.current.has(id)\n )\n continue;\n latestSyncSeqByIdRef.current.delete(id);\n settledIds.push(id);\n }\n if (settledIds.length === 0) return;\n updatePersistenceStatus((prev) => {\n let changed = false;\n const persistence = nullProtoRecord(prev);\n for (const id of settledIds) {\n if (prev[id] === undefined) continue;\n if (status === undefined) delete persistence[id];\n else persistence[id] = status;\n changed = true;\n }\n return changed ? persistence : prev;\n });\n };\n\n try {\n await adapter.save(payload);\n settleBatch(undefined);\n } catch (e) {\n const isCurrentScope =\n adapterGenerationRef.current === adapterGeneration;\n if (!isCurrentScope) {\n console.warn(\n \"[Interactables] Persistence save failed after the adapter changed.\",\n e,\n );\n }\n settleBatch(\n isCurrentScope ? { isPending: false, error: e } : undefined,\n );\n } finally {\n inFlightPersistenceRef.current -= 1;\n const next =\n outgoingQueueRef.current.shift() ??\n (adapterRef.current && dirtyIdsRef.current.size > 0\n ? takeDirtyBatch(adapterRef.current)\n : undefined);\n if (next) {\n if (debounceTimerRef.current !== undefined) {\n clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = undefined;\n }\n runPersistenceRef.current(next);\n } else if (inFlightPersistenceRef.current === 0) {\n for (const resolve of flushResolversRef.current) resolve();\n flushResolversRef.current = [];\n }\n }\n },\n [adapterGenerationRef, adapterRef, takeDirtyBatch, updatePersistenceStatus],\n );\n runPersistenceRef.current = (nextBatch) => {\n void runPersistence(nextBatch);\n };\n\n const flushIfPending = useCallback(() => {\n if (debounceTimerRef.current !== undefined) {\n clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = undefined;\n }\n if (adapterRef.current) enqueuePersistence(adapterRef.current);\n }, [adapterRef, enqueuePersistence]);\n\n const schedulePersistence = useCallback(\n (id: string) => {\n if (!adapterRef.current && !retainDirtyWithoutAdapter) return;\n dirtyIdsRef.current.add(id);\n if (!adapterRef.current) return;\n if (debounceTimerRef.current !== undefined) {\n clearTimeout(debounceTimerRef.current);\n }\n debounceTimerRef.current = setTimeout(() => {\n debounceTimerRef.current = undefined;\n if (inFlightPersistenceRef.current === 0 && adapterRef.current) {\n enqueuePersistence(adapterRef.current);\n } else {\n debounceTimerRef.current = setTimeout(() => {\n debounceTimerRef.current = undefined;\n if (adapterRef.current) enqueuePersistence(adapterRef.current);\n }, PERSISTENCE_DEBOUNCE_MS);\n }\n }, PERSISTENCE_DEBOUNCE_MS);\n },\n [adapterRef, enqueuePersistence, retainDirtyWithoutAdapter],\n );\n\n const discardPending = useCallback(() => {\n if (debounceTimerRef.current !== undefined) {\n clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = undefined;\n }\n dirtyIdsRef.current.clear();\n if (\n inFlightPersistenceRef.current === 0 &&\n outgoingQueueRef.current.length === 0\n ) {\n for (const resolve of flushResolversRef.current) resolve();\n flushResolversRef.current = [];\n }\n }, []);\n\n const getDirtyIds = useCallback(() => new Set(dirtyIdsRef.current), []);\n\n const flush = useCallback(async () => {\n if (debounceTimerRef.current !== undefined) {\n clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = undefined;\n }\n const hasWork =\n inFlightPersistenceRef.current > 0 ||\n outgoingQueueRef.current.length > 0 ||\n (adapterRef.current !== undefined && dirtyIdsRef.current.size > 0);\n if (!hasWork) return;\n const p = new Promise<void>((resolve) => {\n flushResolversRef.current.push(resolve);\n });\n if (adapterRef.current) enqueuePersistence(adapterRef.current);\n return p;\n }, [adapterRef, enqueuePersistence]);\n\n return {\n discardPending,\n flushIfPending,\n getDirtyIds,\n schedulePersistence,\n flush,\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
//#region src/react/model-context/define-mcp-toolkit.d.ts
|
|
1
|
+
import type { McpServerConfig } from "assistant-stream";
|
|
2
|
+
import type { Toolkit } from "./toolbox.js";
|
|
4
3
|
export type McpToolkitEntry = McpServerConfig | {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
server: McpServerConfig;
|
|
5
|
+
disabled?: boolean | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Prefix applied to every tool name exposed by this MCP server. Useful
|
|
8
|
+
* when multiple servers publish the same tool name, such as `search`.
|
|
9
|
+
*/
|
|
10
|
+
prefix?: string | undefined;
|
|
11
|
+
tools?: Record<string, McpToolkitToolConfig> | undefined;
|
|
13
12
|
};
|
|
14
13
|
export type McpToolkitToolConfig = {
|
|
15
|
-
|
|
14
|
+
disabled?: boolean | undefined;
|
|
16
15
|
};
|
|
17
16
|
export type McpToolkitDefinition = Record<string, McpToolkitEntry>;
|
|
18
17
|
/**
|
|
@@ -22,5 +21,4 @@ export type McpToolkitDefinition = Record<string, McpToolkitEntry>;
|
|
|
22
21
|
* request.
|
|
23
22
|
*/
|
|
24
23
|
export declare function defineMcpToolkit(definition: McpToolkitDefinition): Toolkit;
|
|
25
|
-
//#endregion
|
|
26
24
|
//# sourceMappingURL=define-mcp-toolkit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-mcp-toolkit.d.ts","
|
|
1
|
+
{"version":3,"file":"define-mcp-toolkit.d.ts","sourceRoot":"","sources":["../../../src/react/model-context/define-mcp-toolkit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAkB;AAEzC,MAAM,MAAM,eAAe,GACvB,eAAe,GACf;IACE,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,SAAS,CAAC;CAC1D,CAAC;AAEN,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAoB1E"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Toolkit, ToolkitDefinition, ToolkitDefinitionEntryWithParameters } from "./toolbox.js";
|
|
2
|
-
//#region src/react/model-context/define-toolkit.d.ts
|
|
1
|
+
import type { Toolkit, ToolkitDefinition, ToolkitDefinitionEntryWithParameters } from "./toolbox.js";
|
|
3
2
|
/**
|
|
4
3
|
* Toolkit authoring helper. Accepts the permissive {@link ToolkitDefinition}
|
|
5
4
|
* (a generative `backend` tool may carry its server `execute`) and types the
|
|
@@ -10,7 +9,16 @@ import { Toolkit, ToolkitDefinition, ToolkitDefinitionEntryWithParameters } from
|
|
|
10
9
|
* Outside generative compilation, it returns the toolkit unchanged and can be
|
|
11
10
|
* used for plain frontend/backend/human toolkit objects.
|
|
12
11
|
*/
|
|
13
|
-
export declare function defineToolkit<TArgsByName extends {
|
|
12
|
+
export declare function defineToolkit<TArgsByName extends {
|
|
13
|
+
[K in keyof TArgsByName]: Record<string, unknown>;
|
|
14
|
+
}, TResultByName extends {
|
|
15
|
+
[K in keyof TArgsByName]: unknown;
|
|
16
|
+
} = {
|
|
17
|
+
[K in keyof TArgsByName]: any;
|
|
18
|
+
}>(_definition: {
|
|
19
|
+
[K in keyof TArgsByName]: ToolkitDefinitionEntryWithParameters<TArgsByName[K], TResultByName[K]>;
|
|
20
|
+
}): Toolkit & {
|
|
21
|
+
[K in keyof TArgsByName]: ToolkitDefinitionEntryWithParameters<TArgsByName[K], TResultByName[K]>;
|
|
22
|
+
};
|
|
14
23
|
export declare function defineToolkit<const TDefinition extends ToolkitDefinition>(_definition: TDefinition): Toolkit & TDefinition;
|
|
15
|
-
//#endregion
|
|
16
24
|
//# sourceMappingURL=define-toolkit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-toolkit.d.ts","
|
|
1
|
+
{"version":3,"file":"define-toolkit.d.ts","sourceRoot":"","sources":["../../../src/react/model-context/define-toolkit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EACjB,oCAAoC,EACrC,qBAAkB;AAEnB;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,WAAW,SAAS;KACjB,CAAC,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAClD,EACD,aAAa,SAAS;KAAG,CAAC,IAAI,MAAM,WAAW,GAAG,OAAO;CAAE,GAAG;KAC3D,CAAC,IAAI,MAAM,WAAW,GAAG,GAAG;CAC9B,EACD,WAAW,EAAE;KACZ,CAAC,IAAI,MAAM,WAAW,GAAG,oCAAoC,CAC5D,WAAW,CAAC,CAAC,CAAC,EACd,aAAa,CAAC,CAAC,CAAC,CACjB;CACF,GAAG,OAAO,GAAG;KACX,CAAC,IAAI,MAAM,WAAW,GAAG,oCAAoC,CAC5D,WAAW,CAAC,CAAC,CAAC,EACd,aAAa,CAAC,CAAC,CAAC,CACjB;CACF,CAAC;AACF,wBAAgB,aAAa,CAAC,KAAK,CAAC,WAAW,SAAS,iBAAiB,EACvE,WAAW,EAAE,WAAW,GACvB,OAAO,GAAG,WAAW,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/react/model-context/external-tool.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* Marks a generative toolkit entry as an externally executed backend tool.
|
|
4
3
|
*
|
|
@@ -9,5 +8,4 @@
|
|
|
9
8
|
* client build.
|
|
10
9
|
*/
|
|
11
10
|
export declare function externalTool(): never;
|
|
12
|
-
//#endregion
|
|
13
11
|
//# sourceMappingURL=external-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-tool.d.ts","
|
|
1
|
+
{"version":3,"file":"external-tool.d.ts","sourceRoot":"","sources":["../../../src/react/model-context/external-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,KAAK,CAMpC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/react/model-context/human-tool.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* Marks a tool as **human-in-the-loop**: the agent pauses and the UI (`render`)
|
|
4
3
|
* supplies the result instead of code. Use it as the tool's `execute`:
|
|
@@ -22,5 +21,4 @@ export declare const hitlTool: typeof humanTool;
|
|
|
22
21
|
* @deprecated Use {@link humanTool}.
|
|
23
22
|
*/
|
|
24
23
|
export declare const hitl: typeof humanTool;
|
|
25
|
-
//#endregion
|
|
26
24
|
//# sourceMappingURL=human-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human-tool.d.ts","
|
|
1
|
+
{"version":3,"file":"human-tool.d.ts","sourceRoot":"","sources":["../../../src/react/model-context/human-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,IAAI,KAAK,CAOjC;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,kBAAY,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,IAAI,kBAAY,CAAC"}
|
|
@@ -1,29 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Unstable_InteractableStateSchema } from "../types/scopes/interactables.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
//#region src/react/model-context/interactableTool.d.ts
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { Unstable_InteractableStateSchema } from "../types/scopes/interactables.js";
|
|
3
|
+
import type { ToolDefinition } from "./toolbox.js";
|
|
4
|
+
import { type Unstable_InferInteractableState, type Unstable_InteractableVersionInfo } from "./useInteractable.js";
|
|
6
5
|
export type Unstable_InteractableToolRenderProps<TState> = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
6
|
+
/**
|
|
7
|
+
* The live state. While `streaming` is true, fields the model has not
|
|
8
|
+
* finished generating may still be missing.
|
|
9
|
+
*/
|
|
10
|
+
state: TState;
|
|
11
|
+
setState: (updater: TState | ((prev: TState) => TState)) => void;
|
|
12
|
+
/**
|
|
13
|
+
* This message's version of the instance: its state as of this point in the
|
|
14
|
+
* conversation, whether it is the most recent edit, and a `restore()` back
|
|
15
|
+
* to it. `undefined` while streaming.
|
|
16
|
+
*/
|
|
17
|
+
version: Unstable_InteractableVersionInfo<TState> | undefined;
|
|
18
|
+
id: string;
|
|
19
|
+
/** True while the tool call's arguments are still streaming in. */
|
|
20
|
+
streaming: boolean;
|
|
22
21
|
};
|
|
23
22
|
export type Unstable_InteractableToolConfig<TSchema extends Unstable_InteractableStateSchema> = {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
description: string;
|
|
24
|
+
stateSchema: TSchema;
|
|
25
|
+
render: (props: Unstable_InteractableToolRenderProps<Unstable_InferInteractableState<TSchema>>) => ReactNode;
|
|
27
26
|
};
|
|
28
27
|
/**
|
|
29
28
|
* Defines a tool that creates a thread-scoped interactable from its arguments,
|
|
@@ -46,7 +45,6 @@ export type Unstable_InteractableToolConfig<TSchema extends Unstable_Interactabl
|
|
|
46
45
|
* @deprecated Unstable / Experimental (not actually removed).
|
|
47
46
|
*/
|
|
48
47
|
export declare const unstable_interactableTool: <TSchema extends Unstable_InteractableStateSchema>(config: Unstable_InteractableToolConfig<TSchema>) => ToolDefinition<Record<string, unknown>, {
|
|
49
|
-
|
|
48
|
+
success: true;
|
|
50
49
|
}>;
|
|
51
|
-
//#endregion
|
|
52
50
|
//# sourceMappingURL=interactableTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactableTool.d.ts","
|
|
1
|
+
{"version":3,"file":"interactableTool.d.ts","sourceRoot":"","sources":["../../../src/react/model-context/interactableTool.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,gCAAgC,EAAE,yCAAsC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAkB;AAEhD,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACtC,6BAA0B;AAG3B,MAAM,MAAM,oCAAoC,CAAC,MAAM,IAAI;IACzD;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC;IACjE;;;;OAIG;IACH,OAAO,EAAE,gCAAgC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,+BAA+B,CACzC,OAAO,SAAS,gCAAgC,IAC9C;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,CACN,KAAK,EAAE,oCAAoC,CACzC,+BAA+B,CAAC,OAAO,CAAC,CACzC,KACE,SAAS,CAAC;CAChB,CAAC;AAMF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,SAAS,gCAAgC,EAEhD,QAAQ,+BAA+B,CAAC,OAAO,CAAC,KAC/C,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAyG3D,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
//#region src/react/model-context/makeAssistantDataUI.d.ts
|
|
1
|
+
import type { FC } from "react";
|
|
2
|
+
import { type AssistantDataUIProps } from "./useAssistantDataUI.js";
|
|
4
3
|
/**
|
|
5
4
|
* Component returned by {@link makeAssistantDataUI}.
|
|
6
5
|
*
|
|
@@ -8,8 +7,8 @@ import { FC } from "react";
|
|
|
8
7
|
* parts.
|
|
9
8
|
*/
|
|
10
9
|
export type AssistantDataUI = FC & {
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
/** Data renderer registered by this component. */
|
|
11
|
+
unstable_data: AssistantDataUIProps;
|
|
13
12
|
};
|
|
14
13
|
/**
|
|
15
14
|
* Creates a React component that registers a named data-part renderer when
|
|
@@ -18,5 +17,4 @@ export type AssistantDataUI = FC & {
|
|
|
18
17
|
* @param dataUI - Data renderer registration.
|
|
19
18
|
*/
|
|
20
19
|
export declare const makeAssistantDataUI: <T = any>(dataUI: AssistantDataUIProps<T>) => AssistantDataUI;
|
|
21
|
-
//#endregion
|
|
22
20
|
//# sourceMappingURL=makeAssistantDataUI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAssistantDataUI.d.ts","
|
|
1
|
+
{"version":3,"file":"makeAssistantDataUI.d.ts","sourceRoot":"","sources":["../../../src/react/model-context/makeAssistantDataUI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACL,KAAK,oBAAoB,EAE1B,gCAA6B;AAE9B;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,EAAE,GAAG;IACjC,kDAAkD;IAClD,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,GAAG,GAAG,EACzC,QAAQ,oBAAoB,CAAC,CAAC,CAAC,oBAQhC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
//#region src/react/model-context/makeAssistantTool.d.ts
|
|
1
|
+
import type { FC } from "react";
|
|
2
|
+
import { type AssistantToolProps } from "./useAssistantTool.js";
|
|
4
3
|
/**
|
|
5
4
|
* Component returned by {@link makeAssistantTool}.
|
|
6
5
|
*
|
|
@@ -12,8 +11,8 @@ import { FC } from "react";
|
|
|
12
11
|
* https://assistant-ui.com/docs/migrations/toolkit-tools.
|
|
13
12
|
*/
|
|
14
13
|
export type AssistantTool = FC & {
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
/** Tool definition registered by this component. */
|
|
15
|
+
unstable_tool: AssistantToolProps<any, any>;
|
|
17
16
|
};
|
|
18
17
|
/**
|
|
19
18
|
* Creates a React component that registers an assistant tool when rendered.
|
|
@@ -28,5 +27,4 @@ export type AssistantTool = FC & {
|
|
|
28
27
|
* https://assistant-ui.com/docs/migrations/toolkit-tools.
|
|
29
28
|
*/
|
|
30
29
|
export declare const makeAssistantTool: <TArgs extends Record<string, unknown>, TResult>(tool: AssistantToolProps<TArgs, TResult>) => AssistantTool;
|
|
31
|
-
//#endregion
|
|
32
30
|
//# sourceMappingURL=makeAssistantTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAssistantTool.d.ts","
|
|
1
|
+
{"version":3,"file":"makeAssistantTool.d.ts","sourceRoot":"","sources":["../../../src/react/model-context/makeAssistantTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,KAAK,kBAAkB,EAAoB,8BAA2B;AAE/E;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,EAAE,GAAG;IAC/B,oDAAoD;IACpD,aAAa,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CAC7C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,GAC5B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,EAEP,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,kBAQzC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
//#region src/react/model-context/makeAssistantToolUI.d.ts
|
|
1
|
+
import type { FC } from "react";
|
|
2
|
+
import { type AssistantToolUIProps } from "./useAssistantToolUI.js";
|
|
4
3
|
/**
|
|
5
4
|
* Component returned by {@link makeAssistantToolUI}.
|
|
6
5
|
*
|
|
@@ -12,8 +11,8 @@ import { FC } from "react";
|
|
|
12
11
|
* See https://assistant-ui.com/docs/migrations/toolkit-tools.
|
|
13
12
|
*/
|
|
14
13
|
export type AssistantToolUI = FC & {
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
/** Tool renderer registered by this component. */
|
|
15
|
+
unstable_tool: AssistantToolUIProps<any, any>;
|
|
17
16
|
};
|
|
18
17
|
/**
|
|
19
18
|
* Creates a React component that registers a tool-call renderer when rendered.
|
|
@@ -28,5 +27,4 @@ export type AssistantToolUI = FC & {
|
|
|
28
27
|
* See https://assistant-ui.com/docs/migrations/toolkit-tools.
|
|
29
28
|
*/
|
|
30
29
|
export declare const makeAssistantToolUI: <TArgs, TResult>(tool: AssistantToolUIProps<TArgs, TResult>) => AssistantToolUI;
|
|
31
|
-
//#endregion
|
|
32
30
|
//# sourceMappingURL=makeAssistantToolUI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAssistantToolUI.d.ts","
|
|
1
|
+
{"version":3,"file":"makeAssistantToolUI.d.ts","sourceRoot":"","sources":["../../../src/react/model-context/makeAssistantToolUI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACL,KAAK,oBAAoB,EAE1B,gCAA6B;AAE9B;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,EAAE,GAAG;IACjC,kDAAkD;IAClD,aAAa,EAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,EAAE,OAAO,EAChD,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,oBAQ3C,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Tool } from "assistant-stream";
|
|
2
|
-
//#region src/react/model-context/provider-tool.d.ts
|
|
1
|
+
import type { Tool } from "assistant-stream";
|
|
3
2
|
type ProviderToolDefinition<TArgs extends Record<string, unknown>> = Extract<Tool<TArgs, unknown>, {
|
|
4
|
-
|
|
3
|
+
type: "provider";
|
|
5
4
|
}>;
|
|
6
5
|
export type ProviderToolConfig<TArgs extends Record<string, unknown> = Record<string, unknown>> = Pick<ProviderToolDefinition<TArgs>, "providerId" | "args" | "parameters" | "providerOptions" | "supportsDeferredResults">;
|
|
7
6
|
/**
|
|
@@ -9,5 +8,5 @@ export type ProviderToolConfig<TArgs extends Record<string, unknown> = Record<st
|
|
|
9
8
|
* `execute: providerTool(...)` into a `type: "provider"` tool entry.
|
|
10
9
|
*/
|
|
11
10
|
export declare function providerTool(_config: ProviderToolConfig): never;
|
|
12
|
-
|
|
11
|
+
export {};
|
|
13
12
|
//# sourceMappingURL=provider-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-tool.d.ts","
|
|
1
|
+
{"version":3,"file":"provider-tool.d.ts","sourceRoot":"","sources":["../../../src/react/model-context/provider-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,KAAK,sBAAsB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CAC1E,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EACpB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC7D,IAAI,CACN,sBAAsB,CAAC,KAAK,CAAC,EAC3B,YAAY,GACZ,MAAM,GACN,YAAY,GACZ,iBAAiB,GACjB,yBAAyB,CAC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,KAAK,CAO/D"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/react/model-context/stub-tool.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* Marks a generative toolkit entry as a frontend tool whose executor will be
|
|
4
3
|
* supplied by `useAuiToolOverrides(...)`.
|
|
@@ -7,5 +6,4 @@
|
|
|
7
6
|
* `"use generative"` toolkit file so the compiler can strip it.
|
|
8
7
|
*/
|
|
9
8
|
export declare function stubTool(): never;
|
|
10
|
-
//#endregion
|
|
11
9
|
//# sourceMappingURL=stub-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stub-tool.d.ts","
|
|
1
|
+
{"version":3,"file":"stub-tool.d.ts","sourceRoot":"","sources":["../../../src/react/model-context/stub-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,QAAQ,IAAI,KAAK,CAMhC"}
|