@assistant-ui/core 0.3.19 → 0.3.20
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 +9 -10
- package/dist/adapters/attachment.d.ts.map +1 -1
- package/dist/adapters/attachment.js +2 -1
- package/dist/adapters/attachment.js.map +1 -1
- package/dist/adapters/directive-formatter.d.ts +1 -2
- package/dist/adapters/directive-formatter.d.ts.map +1 -1
- package/dist/adapters/feedback.d.ts +2 -2
- package/dist/adapters/feedback.d.ts.map +1 -1
- package/dist/adapters/speech.d.ts +6 -7
- package/dist/adapters/speech.d.ts.map +1 -1
- package/dist/adapters/suggestion.d.ts +5 -6
- package/dist/adapters/suggestion.d.ts.map +1 -1
- package/dist/adapters/thread-history.d.ts +6 -7
- package/dist/adapters/thread-history.d.ts.map +1 -1
- package/dist/adapters/trigger.d.ts +1 -2
- package/dist/adapters/trigger.d.ts.map +1 -1
- package/dist/adapters/voice.d.ts +5 -6
- package/dist/adapters/voice.d.ts.map +1 -1
- package/dist/internal/duplicate-detection.d.ts +1 -2
- package/dist/internal/duplicate-detection.d.ts.map +1 -1
- package/dist/model-context/frame/host.d.ts +1 -2
- package/dist/model-context/frame/host.d.ts.map +1 -1
- package/dist/model-context/frame/provider.d.ts +1 -2
- package/dist/model-context/frame/provider.d.ts.map +1 -1
- package/dist/model-context/frame/types.d.ts +5 -6
- package/dist/model-context/frame/types.d.ts.map +1 -1
- package/dist/model-context/interactable-composer-metadata.d.ts +9 -10
- package/dist/model-context/interactable-composer-metadata.d.ts.map +1 -1
- package/dist/model-context/registry-handles.d.ts +3 -4
- package/dist/model-context/registry-handles.d.ts.map +1 -1
- package/dist/model-context/registry.d.ts +1 -2
- package/dist/model-context/registry.d.ts.map +1 -1
- package/dist/model-context/tool-call-text.d.ts +2 -3
- package/dist/model-context/tool-call-text.d.ts.map +1 -1
- package/dist/model-context/tool.d.ts +2 -3
- package/dist/model-context/tool.d.ts.map +1 -1
- package/dist/model-context/types.d.ts +8 -9
- package/dist/model-context/types.d.ts.map +1 -1
- package/dist/react/AssistantProvider.d.ts +3 -4
- package/dist/react/AssistantProvider.d.ts.map +1 -1
- package/dist/react/AssistantRuntimeProvider.d.ts +1 -2
- package/dist/react/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/react/RuntimeAdapter.d.ts +2 -3
- package/dist/react/RuntimeAdapter.d.ts.map +1 -1
- package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts +4 -5
- package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts.map +1 -1
- package/dist/react/adapters/LocalStorageThreadListAdapter.js +20 -34
- package/dist/react/adapters/LocalStorageThreadListAdapter.js.map +1 -1
- package/dist/react/adapters/TitleGenerationAdapter.d.ts +2 -3
- package/dist/react/adapters/TitleGenerationAdapter.d.ts.map +1 -1
- package/dist/react/client/AdaptedRemoteThread.d.ts +1 -2
- package/dist/react/client/AdaptedRemoteThread.d.ts.map +1 -1
- package/dist/react/client/DataRenderers.d.ts +1 -2
- package/dist/react/client/DataRenderers.d.ts.map +1 -1
- package/dist/react/client/InMemoryThreadList.d.ts +3 -4
- package/dist/react/client/InMemoryThreadList.d.ts.map +1 -1
- package/dist/react/client/Interactables.d.ts +1 -2
- package/dist/react/client/Interactables.d.ts.map +1 -1
- package/dist/react/client/RemoteThreadList.d.ts +2 -3
- package/dist/react/client/RemoteThreadList.d.ts.map +1 -1
- package/dist/react/client/Tools.d.ts +2 -2
- package/dist/react/client/Tools.d.ts.map +1 -1
- package/dist/react/client/interactable-model-context.d.ts +2 -3
- package/dist/react/client/interactable-model-context.d.ts.map +1 -1
- package/dist/react/interactables-legacy/Interactables.d.ts +1 -2
- package/dist/react/interactables-legacy/Interactables.d.ts.map +1 -1
- package/dist/react/interactables-legacy/interactable-model-context.d.ts +2 -3
- package/dist/react/interactables-legacy/interactable-model-context.d.ts.map +1 -1
- package/dist/react/interactables-legacy/scopes.d.ts +9 -10
- package/dist/react/interactables-legacy/scopes.d.ts.map +1 -1
- package/dist/react/interactables-legacy/useAssistantInteractable.d.ts +2 -3
- package/dist/react/interactables-legacy/useAssistantInteractable.d.ts.map +1 -1
- package/dist/react/interactables-legacy/useInteractableState.d.ts +1 -2
- package/dist/react/interactables-legacy/useInteractableState.d.ts.map +1 -1
- package/dist/react/interactables-shared/useInteractablePersistenceQueue.d.ts +1 -2
- package/dist/react/interactables-shared/useInteractablePersistenceQueue.d.ts.map +1 -1
- package/dist/react/model-context/define-mcp-toolkit.d.ts +4 -5
- package/dist/react/model-context/define-mcp-toolkit.d.ts.map +1 -1
- package/dist/react/model-context/define-toolkit.d.ts +2 -3
- package/dist/react/model-context/define-toolkit.d.ts.map +1 -1
- package/dist/react/model-context/external-tool.d.ts +1 -2
- package/dist/react/model-context/external-tool.d.ts.map +1 -1
- package/dist/react/model-context/human-tool.d.ts +3 -4
- package/dist/react/model-context/human-tool.d.ts.map +1 -1
- package/dist/react/model-context/interactableTool.d.ts +3 -4
- package/dist/react/model-context/interactableTool.d.ts.map +1 -1
- package/dist/react/model-context/makeAssistantDataUI.d.ts +2 -3
- package/dist/react/model-context/makeAssistantDataUI.d.ts.map +1 -1
- package/dist/react/model-context/makeAssistantTool.d.ts +2 -3
- package/dist/react/model-context/makeAssistantTool.d.ts.map +1 -1
- package/dist/react/model-context/makeAssistantToolUI.d.ts +2 -3
- package/dist/react/model-context/makeAssistantToolUI.d.ts.map +1 -1
- package/dist/react/model-context/provider-tool.d.ts +2 -3
- package/dist/react/model-context/provider-tool.d.ts.map +1 -1
- package/dist/react/model-context/stub-tool.d.ts +1 -2
- package/dist/react/model-context/stub-tool.d.ts.map +1 -1
- package/dist/react/model-context/toolbox.d.ts +9 -10
- package/dist/react/model-context/toolbox.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantContext.d.ts +2 -2
- package/dist/react/model-context/useAssistantContext.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantDataUI.d.ts +2 -3
- package/dist/react/model-context/useAssistantDataUI.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantInstructions.d.ts +2 -2
- package/dist/react/model-context/useAssistantInstructions.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantTool.d.ts +2 -3
- package/dist/react/model-context/useAssistantTool.d.ts.map +1 -1
- package/dist/react/model-context/useAssistantToolUI.d.ts +2 -3
- package/dist/react/model-context/useAssistantToolUI.d.ts.map +1 -1
- package/dist/react/model-context/useAuiToolOverrides.d.ts +1 -2
- package/dist/react/model-context/useAuiToolOverrides.d.ts.map +1 -1
- package/dist/react/model-context/useInlineRender.d.ts +1 -2
- package/dist/react/model-context/useInlineRender.d.ts.map +1 -1
- package/dist/react/model-context/useInteractable.d.ts +4 -5
- package/dist/react/model-context/useInteractable.d.ts.map +1 -1
- package/dist/react/model-context/useInteractableState.d.ts +1 -2
- package/dist/react/model-context/useInteractableState.d.ts.map +1 -1
- package/dist/react/model-context/useInteractableVersions.d.ts +1 -2
- package/dist/react/model-context/useInteractableVersions.d.ts.map +1 -1
- package/dist/react/model-context/useToolArgsStatus.d.ts +2 -3
- package/dist/react/model-context/useToolArgsStatus.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarCopy.d.ts +2 -3
- package/dist/react/primitive-hooks/useActionBarCopy.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarEdit.d.ts +1 -2
- package/dist/react/primitive-hooks/useActionBarEdit.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarFeedback.d.ts +2 -3
- package/dist/react/primitive-hooks/useActionBarFeedback.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarReload.d.ts +1 -2
- package/dist/react/primitive-hooks/useActionBarReload.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarSpeak.d.ts +1 -2
- package/dist/react/primitive-hooks/useActionBarSpeak.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts +1 -2
- package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useBranchPickerNext.d.ts +1 -2
- package/dist/react/primitive-hooks/useBranchPickerNext.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts +1 -2
- package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts +1 -2
- package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useComposerCancel.d.ts +1 -2
- package/dist/react/primitive-hooks/useComposerCancel.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useComposerDictate.d.ts +1 -2
- package/dist/react/primitive-hooks/useComposerDictate.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useComposerSend.d.ts +1 -2
- package/dist/react/primitive-hooks/useComposerSend.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useEditComposerCancel.d.ts +1 -2
- package/dist/react/primitive-hooks/useEditComposerCancel.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useEditComposerSend.d.ts +1 -2
- package/dist/react/primitive-hooks/useEditComposerSend.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useMessageBranching.d.ts +1 -2
- package/dist/react/primitive-hooks/useMessageBranching.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useMessageError.d.ts +1 -2
- package/dist/react/primitive-hooks/useMessageError.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useMessageReload.d.ts +1 -2
- package/dist/react/primitive-hooks/useMessageReload.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts +2 -3
- package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts +1 -2
- package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadIsRunning.d.ts +1 -2
- package/dist/react/primitive-hooks/useThreadIsRunning.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts +1 -2
- package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts +1 -2
- package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts +1 -2
- package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts +1 -2
- package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts +1 -2
- package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadListNew.d.ts +1 -2
- package/dist/react/primitive-hooks/useThreadListNew.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadMessageIds.d.ts +1 -2
- package/dist/react/primitive-hooks/useThreadMessageIds.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useThreadMessages.d.ts +1 -2
- package/dist/react/primitive-hooks/useThreadMessages.d.ts.map +1 -1
- package/dist/react/primitive-hooks/useVoice.d.ts +3 -4
- package/dist/react/primitive-hooks/useVoice.d.ts.map +1 -1
- package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts +2 -3
- package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -1
- package/dist/react/primitives/composer/ComposerAttachments.d.ts +4 -5
- package/dist/react/primitives/composer/ComposerAttachments.d.ts.map +1 -1
- package/dist/react/primitives/composer/ComposerIf.d.ts +4 -5
- package/dist/react/primitives/composer/ComposerIf.d.ts.map +1 -1
- package/dist/react/primitives/composer/ComposerQueue.d.ts +2 -3
- package/dist/react/primitives/composer/ComposerQueue.d.ts.map +1 -1
- package/dist/react/primitives/generativeUI/GenerativeUI.d.ts +4 -5
- package/dist/react/primitives/generativeUI/GenerativeUI.d.ts.map +1 -1
- package/dist/react/primitives/generativeUI/GenerativeUI.js +27 -28
- package/dist/react/primitives/generativeUI/GenerativeUI.js.map +1 -1
- package/dist/react/primitives/message/MessageAttachments.d.ts +4 -5
- package/dist/react/primitives/message/MessageAttachments.d.ts.map +1 -1
- package/dist/react/primitives/message/MessageGroupedParts.d.ts +2 -3
- package/dist/react/primitives/message/MessageGroupedParts.d.ts.map +1 -1
- package/dist/react/primitives/message/MessageParts.d.ts +10 -10
- package/dist/react/primitives/message/MessageParts.d.ts.map +1 -1
- package/dist/react/primitives/message/MessageQuote.d.ts +2 -3
- package/dist/react/primitives/message/MessageQuote.d.ts.map +1 -1
- package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts +2 -3
- package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
- package/dist/react/primitives/part/PartMessages.d.ts +3 -4
- package/dist/react/primitives/part/PartMessages.d.ts.map +1 -1
- package/dist/react/primitives/thread/ThreadMessages.d.ts +7 -8
- package/dist/react/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/react/primitives/thread/ThreadSuggestions.d.ts +5 -6
- package/dist/react/primitives/thread/ThreadSuggestions.d.ts.map +1 -1
- package/dist/react/primitives/threadList/ThreadListItems.d.ts +4 -5
- package/dist/react/primitives/threadList/ThreadListItems.d.ts.map +1 -1
- package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts +2 -3
- package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -1
- package/dist/react/providers/AttachmentByIndexProvider.d.ts +2 -3
- package/dist/react/providers/AttachmentByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts +1 -2
- package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -1
- package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts +1 -2
- package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/MessageByIdProvider.d.ts +1 -2
- package/dist/react/providers/MessageByIdProvider.d.ts.map +1 -1
- package/dist/react/providers/MessageByIndexProvider.d.ts +1 -2
- package/dist/react/providers/MessageByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/PartByIndexProvider.d.ts +1 -2
- package/dist/react/providers/PartByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/QueueItemByIndexProvider.d.ts +2 -3
- package/dist/react/providers/QueueItemByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/ReadonlyThreadProvider.d.ts +2 -3
- package/dist/react/providers/ReadonlyThreadProvider.d.ts.map +1 -1
- package/dist/react/providers/SuggestionByIndexProvider.d.ts +2 -3
- package/dist/react/providers/SuggestionByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/TextMessagePartProvider.d.ts +1 -2
- package/dist/react/providers/TextMessagePartProvider.d.ts.map +1 -1
- package/dist/react/providers/ThreadListItemByIndexProvider.d.ts +1 -2
- package/dist/react/providers/ThreadListItemByIndexProvider.d.ts.map +1 -1
- package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts +1 -2
- package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts +3 -2
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +17 -7
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +1 -2
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadResource.d.ts +4 -5
- package/dist/react/runtimes/RemoteThreadResource.d.ts.map +1 -1
- package/dist/react/runtimes/RuntimeAdapterProvider.d.ts +3 -3
- package/dist/react/runtimes/RuntimeAdapterProvider.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/commandQueue.d.ts +2 -3
- package/dist/react/runtimes/assistant-transport/commandQueue.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/replayBoundaryStream.d.ts +3 -4
- package/dist/react/runtimes/assistant-transport/replayBoundaryStream.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/runManager.d.ts +2 -3
- package/dist/react/runtimes/assistant-transport/runManager.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/types.d.ts +17 -18
- package/dist/react/runtimes/assistant-transport/types.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts +4 -5
- package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/useConvertedState.d.ts +1 -2
- package/dist/react/runtimes/assistant-transport/useConvertedState.d.ts.map +1 -1
- package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts +1 -2
- package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts +2 -3
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +17 -4
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts +1 -2
- package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/auiV0.d.ts +11 -3
- package/dist/react/runtimes/cloud/auiV0.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/auiV0.js +63 -2
- package/dist/react/runtimes/cloud/auiV0.js.map +1 -1
- package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts +4 -5
- package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/createCloudThreadListAdapterCreateFallback.d.ts +1 -2
- package/dist/react/runtimes/cloud/createCloudThreadListAdapterCreateFallback.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/sdkIdentity.d.ts +1 -2
- 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 +1 -2
- package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts +1 -2
- package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/createMessageConverter.d.ts +1 -2
- package/dist/react/runtimes/createMessageConverter.d.ts.map +1 -1
- package/dist/react/runtimes/createRuntimeExtras.d.ts +3 -4
- package/dist/react/runtimes/createRuntimeExtras.d.ts.map +1 -1
- package/dist/react/runtimes/external-message-converter.d.ts +6 -6
- package/dist/react/runtimes/external-message-converter.d.ts.map +1 -1
- package/dist/react/runtimes/useExternalStoreRuntime.d.ts +1 -2
- package/dist/react/runtimes/useExternalStoreRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/useExternalStoreSharedOptions.d.ts +1 -2
- package/dist/react/runtimes/useExternalStoreSharedOptions.d.ts.map +1 -1
- package/dist/react/runtimes/useLocalRuntime.d.ts +3 -4
- package/dist/react/runtimes/useLocalRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts +1 -2
- package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/useRemoteThreadListRuntime.js +2 -2
- package/dist/react/runtimes/useRemoteThreadListRuntime.js.map +1 -1
- package/dist/react/runtimes/useRuntimeAdapters.d.ts +4 -4
- package/dist/react/runtimes/useRuntimeAdapters.d.ts.map +1 -1
- package/dist/react/runtimes/useStreamingTiming.d.ts +2 -2
- package/dist/react/runtimes/useStreamingTiming.d.ts.map +1 -1
- package/dist/react/types/MessagePartComponentTypes.d.ts +26 -27
- package/dist/react/types/MessagePartComponentTypes.d.ts.map +1 -1
- package/dist/react/types/scopes/dataRenderers.d.ts +3 -4
- package/dist/react/types/scopes/dataRenderers.d.ts.map +1 -1
- package/dist/react/types/scopes/interactables.d.ts +10 -11
- package/dist/react/types/scopes/interactables.d.ts.map +1 -1
- package/dist/react/types/scopes/tools.d.ts +4 -5
- package/dist/react/types/scopes/tools.d.ts.map +1 -1
- package/dist/react/utils/getMessageQuote.d.ts +1 -2
- package/dist/react/utils/getMessageQuote.d.ts.map +1 -1
- package/dist/react/utils/groupParts.d.ts +7 -8
- package/dist/react/utils/groupParts.d.ts.map +1 -1
- package/dist/react/utils/useJSONEqual.d.ts +2 -3
- package/dist/react/utils/useJSONEqual.d.ts.map +1 -1
- package/dist/react/utils/useJSONSchemaDependency.d.ts +1 -2
- package/dist/react/utils/useJSONSchemaDependency.d.ts.map +1 -1
- package/dist/runtime/api/assistant-runtime.d.ts +2 -3
- package/dist/runtime/api/assistant-runtime.d.ts.map +1 -1
- package/dist/runtime/api/attachment-runtime.d.ts +6 -7
- package/dist/runtime/api/attachment-runtime.d.ts.map +1 -1
- package/dist/runtime/api/bindings.d.ts +5 -6
- package/dist/runtime/api/bindings.d.ts.map +1 -1
- package/dist/runtime/api/composer-runtime.d.ts +10 -10
- package/dist/runtime/api/composer-runtime.d.ts.map +1 -1
- package/dist/runtime/api/message-part-runtime.d.ts +3 -4
- package/dist/runtime/api/message-part-runtime.d.ts.map +1 -1
- package/dist/runtime/api/message-part-runtime.js +3 -2
- package/dist/runtime/api/message-part-runtime.js.map +1 -1
- package/dist/runtime/api/message-runtime.d.ts +8 -6
- package/dist/runtime/api/message-runtime.d.ts.map +1 -1
- package/dist/runtime/api/message-runtime.js +3 -2
- package/dist/runtime/api/message-runtime.js.map +1 -1
- package/dist/runtime/api/paths.d.ts +6 -7
- package/dist/runtime/api/paths.d.ts.map +1 -1
- package/dist/runtime/api/thread-list-item-runtime.d.ts +8 -8
- package/dist/runtime/api/thread-list-item-runtime.d.ts.map +1 -1
- package/dist/runtime/api/thread-list-runtime.d.ts +4 -5
- package/dist/runtime/api/thread-list-runtime.d.ts.map +1 -1
- package/dist/runtime/api/thread-runtime.d.ts +10 -11
- package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
- package/dist/runtime/base/base-assistant-runtime-core.d.ts +1 -2
- package/dist/runtime/base/base-assistant-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-composer-runtime-core.d.ts +1 -2
- package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-thread-runtime-core.d.ts +8 -3
- package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-thread-runtime-core.js +71 -27
- package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
- package/dist/runtime/base/default-edit-composer-runtime-core.d.ts +1 -2
- package/dist/runtime/base/default-edit-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/default-edit-composer-runtime-core.js +12 -2
- package/dist/runtime/base/default-edit-composer-runtime-core.js.map +1 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.d.ts +1 -2
- package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.js +7 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
- package/dist/runtime/branch/external-thread-branch-adapter.d.ts +1 -2
- package/dist/runtime/branch/external-thread-branch-adapter.d.ts.map +1 -1
- package/dist/runtime/interfaces/assistant-runtime-core.d.ts +1 -2
- package/dist/runtime/interfaces/assistant-runtime-core.d.ts.map +1 -1
- package/dist/runtime/interfaces/composer-runtime-core.d.ts +10 -11
- package/dist/runtime/interfaces/composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/interfaces/thread-list-runtime-core.d.ts +4 -5
- package/dist/runtime/interfaces/thread-list-runtime-core.d.ts.map +1 -1
- package/dist/runtime/interfaces/thread-runtime-core.d.ts +17 -16
- package/dist/runtime/interfaces/thread-runtime-core.d.ts.map +1 -1
- package/dist/runtime/queue/external-thread-queue-adapter.d.ts +2 -3
- package/dist/runtime/queue/external-thread-queue-adapter.d.ts.map +1 -1
- package/dist/runtime/queue/message-queue.d.ts +5 -4
- package/dist/runtime/queue/message-queue.d.ts.map +1 -1
- package/dist/runtime/queue/message-queue.js +9 -1
- package/dist/runtime/queue/message-queue.js.map +1 -1
- package/dist/runtime/queue/queue-item.d.ts +2 -3
- package/dist/runtime/queue/queue-item.d.ts.map +1 -1
- package/dist/runtime/utils/abortable-thread-load.d.ts +2 -3
- package/dist/runtime/utils/abortable-thread-load.d.ts.map +1 -1
- package/dist/runtime/utils/attachment-add-operations.d.ts +3 -4
- package/dist/runtime/utils/attachment-add-operations.d.ts.map +1 -1
- package/dist/runtime/utils/auto-status.d.ts +7 -8
- package/dist/runtime/utils/auto-status.d.ts.map +1 -1
- package/dist/runtime/utils/chat-model-adapter.d.ts +5 -6
- package/dist/runtime/utils/chat-model-adapter.d.ts.map +1 -1
- package/dist/runtime/utils/external-message-conversion.d.ts +15 -16
- package/dist/runtime/utils/external-message-conversion.d.ts.map +1 -1
- package/dist/runtime/utils/external-message-conversion.js +3 -2
- package/dist/runtime/utils/external-message-conversion.js.map +1 -1
- package/dist/runtime/utils/external-store-message.d.ts +4 -5
- package/dist/runtime/utils/external-store-message.d.ts.map +1 -1
- package/dist/runtime/utils/message-repository-session.d.ts +3 -4
- package/dist/runtime/utils/message-repository-session.d.ts.map +1 -1
- package/dist/runtime/utils/message-repository.d.ts +4 -5
- package/dist/runtime/utils/message-repository.d.ts.map +1 -1
- package/dist/runtime/utils/pending-tool-calls.d.ts +2 -3
- package/dist/runtime/utils/pending-tool-calls.d.ts.map +1 -1
- package/dist/runtime/utils/resolveToolApprovalResponse.d.ts +1 -2
- package/dist/runtime/utils/resolveToolApprovalResponse.d.ts.map +1 -1
- package/dist/runtime/utils/runtime-extras-brand.d.ts +2 -3
- package/dist/runtime/utils/runtime-extras-brand.d.ts.map +1 -1
- package/dist/runtime/utils/stored-message-parts.d.ts +21 -0
- package/dist/runtime/utils/stored-message-parts.d.ts.map +1 -0
- package/dist/runtime/utils/stored-message-parts.js +83 -0
- package/dist/runtime/utils/stored-message-parts.js.map +1 -0
- package/dist/runtime/utils/streaming-timing.d.ts +4 -5
- package/dist/runtime/utils/streaming-timing.d.ts.map +1 -1
- package/dist/runtime/utils/thread-message-like.d.ts +5 -5
- package/dist/runtime/utils/thread-message-like.d.ts.map +1 -1
- package/dist/runtime/utils/thread-message-like.js.map +1 -1
- package/dist/runtime/utils/thread-runtime-lifecycle.d.ts +3 -4
- package/dist/runtime/utils/thread-runtime-lifecycle.d.ts.map +1 -1
- package/dist/runtime/utils/tool-call-tree.d.ts +4 -5
- package/dist/runtime/utils/tool-call-tree.d.ts.map +1 -1
- package/dist/runtimes/assistant-transport/utils.d.ts +1 -2
- package/dist/runtimes/assistant-transport/utils.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-adapter.d.ts +9 -6
- package/dist/runtimes/external-store/external-store-adapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-runtime-core.d.ts +1 -2
- package/dist/runtimes/external-store/external-store-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-shared-options.d.ts +2 -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 +2 -3
- package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts +4 -3
- 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 +29 -6
- package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
- package/dist/runtimes/external-store/thread-message-converter.d.ts +2 -3
- package/dist/runtimes/external-store/thread-message-converter.d.ts.map +1 -1
- package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts +2 -3
- package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/local-runtime-core.d.ts +1 -2
- package/dist/runtimes/local/local-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/local/local-runtime-options.d.ts +1 -2
- package/dist/runtimes/local/local-runtime-options.d.ts.map +1 -1
- package/dist/runtimes/local/local-thread-list-runtime-core.d.ts +2 -3
- package/dist/runtimes/local/local-thread-list-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/local/local-thread-runtime-core.d.ts +9 -4
- package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/local/local-thread-runtime-core.js +53 -9
- package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
- package/dist/runtimes/local/should-continue.d.ts +1 -2
- package/dist/runtimes/local/should-continue.d.ts.map +1 -1
- package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts +1 -2
- package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts +1 -2
- package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter-changed.d.ts +1 -2
- 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 -2
- package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/optimistic-state.d.ts +1 -2
- package/dist/runtimes/remote-thread-list/optimistic-state.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts +16 -17
- package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/title-generation.d.ts +7 -8
- package/dist/runtimes/remote-thread-list/title-generation.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/title.d.ts +2 -3
- package/dist/runtimes/remote-thread-list/title.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/types.d.ts +8 -9
- package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
- package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts +4 -5
- package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts.map +1 -1
- package/dist/store/clients/chain-of-thought-client.d.ts +1 -2
- package/dist/store/clients/chain-of-thought-client.d.ts.map +1 -1
- package/dist/store/clients/external-thread.d.ts +3 -4
- package/dist/store/clients/external-thread.d.ts.map +1 -1
- package/dist/store/clients/external-thread.js +15 -11
- package/dist/store/clients/external-thread.js.map +1 -1
- package/dist/store/clients/model-context-client.d.ts +1 -2
- package/dist/store/clients/model-context-client.d.ts.map +1 -1
- package/dist/store/clients/no-op-composer-client.d.ts +1 -2
- package/dist/store/clients/no-op-composer-client.d.ts.map +1 -1
- package/dist/store/clients/runtime-adapter.d.ts +1 -2
- package/dist/store/clients/runtime-adapter.d.ts.map +1 -1
- package/dist/store/clients/single-thread-list.d.ts +1 -2
- package/dist/store/clients/single-thread-list.d.ts.map +1 -1
- package/dist/store/clients/suggestions.d.ts +3 -4
- package/dist/store/clients/suggestions.d.ts.map +1 -1
- package/dist/store/clients/thread-message-client.d.ts +2 -3
- package/dist/store/clients/thread-message-client.d.ts.map +1 -1
- package/dist/store/clients/thread-selection-events.d.ts +1 -2
- package/dist/store/clients/thread-selection-events.d.ts.map +1 -1
- package/dist/store/clients/thread-tasks.d.ts +3 -4
- package/dist/store/clients/thread-tasks.d.ts.map +1 -1
- package/dist/store/env.d.ts +1 -2
- package/dist/store/env.d.ts.map +1 -1
- package/dist/store/primitive-predicates.d.ts +11 -12
- package/dist/store/primitive-predicates.d.ts.map +1 -1
- package/dist/store/primitive-predicates.js +2 -2
- package/dist/store/primitive-predicates.js.map +1 -1
- package/dist/store/runtime-clients/attachment-runtime-client.d.ts +1 -2
- package/dist/store/runtime-clients/attachment-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/composer-runtime-client.d.ts +1 -2
- package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/handle-runtime-action.d.ts +1 -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 +1 -2
- package/dist/store/runtime-clients/handle-thread-list-action.d.ts.map +1 -1
- package/dist/store/runtime-clients/liveRef.d.ts +1 -2
- package/dist/store/runtime-clients/liveRef.d.ts.map +1 -1
- package/dist/store/runtime-clients/message-part-runtime-client.d.ts +1 -2
- package/dist/store/runtime-clients/message-part-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/message-runtime-client.d.ts +1 -2
- package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts +1 -2
- 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 +1 -2
- package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-runtime-client.d.ts +1 -2
- package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/useSubscribable.d.ts +1 -2
- package/dist/store/runtime-clients/useSubscribable.d.ts.map +1 -1
- package/dist/store/scopes/attachment.d.ts +4 -5
- package/dist/store/scopes/attachment.d.ts.map +1 -1
- package/dist/store/scopes/chain-of-thought.d.ts +5 -6
- package/dist/store/scopes/chain-of-thought.d.ts.map +1 -1
- package/dist/store/scopes/composer.d.ts +6 -7
- package/dist/store/scopes/composer.d.ts.map +1 -1
- package/dist/store/scopes/message.d.ts +6 -6
- package/dist/store/scopes/message.d.ts.map +1 -1
- package/dist/store/scopes/model-context.d.ts +3 -4
- package/dist/store/scopes/model-context.d.ts.map +1 -1
- package/dist/store/scopes/part.d.ts +4 -5
- package/dist/store/scopes/part.d.ts.map +1 -1
- package/dist/store/scopes/queue-item.d.ts +4 -4
- package/dist/store/scopes/queue-item.d.ts.map +1 -1
- package/dist/store/scopes/suggestion.d.ts +4 -5
- package/dist/store/scopes/suggestion.d.ts.map +1 -1
- package/dist/store/scopes/suggestions.d.ts +5 -6
- package/dist/store/scopes/suggestions.d.ts.map +1 -1
- package/dist/store/scopes/task.d.ts +4 -5
- package/dist/store/scopes/task.d.ts.map +1 -1
- package/dist/store/scopes/thread-list-item.d.ts +5 -6
- package/dist/store/scopes/thread-list-item.d.ts.map +1 -1
- package/dist/store/scopes/thread.d.ts +5 -6
- package/dist/store/scopes/thread.d.ts.map +1 -1
- package/dist/store/scopes/threads.d.ts +4 -5
- package/dist/store/scopes/threads.d.ts.map +1 -1
- package/dist/subscribable/subscribable.d.ts +15 -16
- package/dist/subscribable/subscribable.d.ts.map +1 -1
- package/dist/tests/remote-thread-list-test-helpers.d.ts +5 -6
- package/dist/tests/remote-thread-list-test-helpers.d.ts.map +1 -1
- package/dist/types/attachment.d.ts +9 -10
- package/dist/types/attachment.d.ts.map +1 -1
- package/dist/types/augmentations.d.ts +3 -4
- package/dist/types/augmentations.d.ts.map +1 -1
- package/dist/types/directive.d.ts +2 -3
- package/dist/types/directive.d.ts.map +1 -1
- package/dist/types/error.d.ts +8 -9
- package/dist/types/error.d.ts.map +1 -1
- package/dist/types/message.d.ts +48 -46
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js.map +1 -1
- package/dist/types/quote.d.ts +1 -2
- package/dist/types/quote.d.ts.map +1 -1
- package/dist/types/trigger.d.ts +2 -3
- package/dist/types/trigger.d.ts.map +1 -1
- package/dist/types/unsubscribe.d.ts +1 -2
- package/dist/types/unsubscribe.d.ts.map +1 -1
- package/dist/utils/abortable-iterable.d.ts +2 -3
- package/dist/utils/abortable-iterable.d.ts.map +1 -1
- package/dist/utils/composite-context-provider.d.ts +1 -2
- package/dist/utils/composite-context-provider.d.ts.map +1 -1
- package/dist/utils/data-url.d.ts +6 -7
- package/dist/utils/data-url.d.ts.map +1 -1
- package/dist/utils/getGroupStatus.d.ts +2 -3
- package/dist/utils/getGroupStatus.d.ts.map +1 -1
- package/dist/utils/id.d.ts +3 -4
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/image-media-type.d.ts +1 -2
- package/dist/utils/image-media-type.d.ts.map +1 -1
- package/dist/utils/invoke-user-callback.d.ts +1 -2
- package/dist/utils/invoke-user-callback.d.ts.map +1 -1
- package/dist/utils/json/is-json-equal.d.ts +1 -2
- package/dist/utils/json/is-json-equal.d.ts.map +1 -1
- package/dist/utils/json/is-json.d.ts +4 -5
- package/dist/utils/json/is-json.d.ts.map +1 -1
- package/dist/utils/json/stable-stringify-tool-args.d.ts +2 -3
- package/dist/utils/json/stable-stringify-tool-args.d.ts.map +1 -1
- package/dist/utils/normalizePartStatus.d.ts +4 -5
- package/dist/utils/normalizePartStatus.d.ts.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 +1 -2
- package/dist/utils/record.d.ts.map +1 -1
- package/dist/utils/silent-runtime-action.d.ts +2 -3
- package/dist/utils/silent-runtime-action.d.ts.map +1 -1
- package/dist/utils/text.d.ts +1 -2
- package/dist/utils/text.d.ts.map +1 -1
- package/dist/utils/wire-media.d.ts +3 -4
- package/dist/utils/wire-media.d.ts.map +1 -1
- package/package.json +14 -13
- package/src/adapters/attachment.ts +8 -1
- package/src/adapters/feedback.ts +1 -0
- package/src/model-context/frame/provider.test.ts +45 -20
- package/src/react/RuntimeAdapter.test.ts +4 -1
- package/src/react/adapters/LocalStorageThreadListAdapter.test.ts +117 -0
- package/src/react/adapters/LocalStorageThreadListAdapter.tsx +27 -74
- package/src/react/client/Interactables.test.ts +12 -7
- package/src/react/client/RemoteThreadList.concurrent.test.tsx +9 -3
- package/src/react/client/RemoteThreadList.test.ts +5 -6
- package/src/react/interactables-legacy/Interactables.test.ts +9 -3
- package/src/react/interactables-legacy/useAssistantInteractable.test.tsx +40 -22
- package/src/react/model-context/useInteractable.test.tsx +56 -29
- package/src/react/primitive-hooks/useActionBarCopy.test.ts +5 -5
- package/src/react/primitives/generativeUI/GenerativeUI.test.tsx +54 -0
- package/src/react/primitives/generativeUI/GenerativeUI.tsx +13 -18
- package/src/react/primitives/message/MessageGroupedParts.test.tsx +4 -1
- package/src/react/primitives/thread/ThreadMessages.test.tsx +25 -7
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.layout.test.tsx +62 -0
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.retry.test.tsx +2 -2
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.test.tsx +23 -20
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.title.test.tsx +24 -17
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.tsx +39 -24
- package/src/react/runtimes/assistant-transport/transport-scheduling.test.ts +73 -46
- package/src/react/runtimes/assistant-transport/useAssistantTransportRuntime.test.tsx +66 -1
- package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.tsx +102 -0
- package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.ts +24 -11
- package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.test.ts +8 -4
- package/src/react/runtimes/cloud/auiV0.ts +121 -1
- package/src/react/runtimes/cloud/auiV0DecodeSafely.test.ts +522 -0
- package/src/react/runtimes/external-message-converter.test.ts +7 -3
- package/src/react/runtimes/remote-thread-hook-on-tap.test.ts +2 -1
- package/src/react/runtimes/useExternalStoreRuntime.lifecycle.test.tsx +8 -2
- package/src/react/runtimes/useExternalStoreRuntime.suggestions.test.tsx +6 -2
- package/src/react/runtimes/useRemoteThreadListRuntime.concurrent.test.tsx +84 -4
- package/src/react/runtimes/useRemoteThreadListRuntime.ts +5 -1
- package/src/runtime/api/message-part-runtime.ts +4 -1
- package/src/runtime/api/message-runtime.ts +15 -2
- package/src/runtime/base/base-thread-runtime-core.test.ts +761 -18
- package/src/runtime/base/base-thread-runtime-core.ts +89 -26
- package/src/runtime/base/default-edit-composer-runtime-core.ts +12 -2
- package/src/runtime/base/default-thread-composer-runtime-core.ts +12 -1
- package/src/runtime/interfaces/thread-runtime-core.ts +2 -0
- package/src/runtime/queue/message-queue.ts +11 -1
- package/src/runtime/utils/external-message-conversion.test.ts +43 -0
- package/src/runtime/utils/external-message-conversion.ts +6 -2
- package/src/runtime/utils/stored-message-parts.ts +174 -0
- package/src/runtime/utils/thread-message-like.ts +7 -2
- package/src/runtimes/external-store/external-store-adapter.ts +4 -0
- package/src/runtimes/external-store/external-store-thread-runtime-core.ts +44 -9
- package/src/runtimes/local/local-thread-runtime-core.test.ts +168 -12
- package/src/runtimes/local/local-thread-runtime-core.ts +80 -9
- package/src/store/clients/external-thread.ts +34 -13
- package/src/store/primitive-predicates.test.ts +16 -0
- package/src/store/primitive-predicates.ts +4 -1
- package/src/store/runtime-clients/thread-runtime-client.test.tsx +110 -0
- package/src/store/scopes/message.ts +4 -1
- package/src/subscribable/subscribable.test.ts +7 -2
- package/src/tests/attachment-adapters.test.ts +16 -1
- package/src/tests/auiV0Encode.test.ts +4 -0
- package/src/tests/base-composer-runtime-core-addAttachment.test.ts +6 -6
- package/src/tests/base-composer-runtime-core.test.ts +16 -5
- package/src/tests/composer-can-cancel.test.ts +35 -6
- package/src/tests/composer-can-send.test.ts +22 -0
- package/src/tests/default-edit-composer-runtime-core.test.ts +47 -0
- package/src/tests/external-store-thread-runtime-core-adapter.test.ts +229 -27
- package/src/tests/external-store-thread-runtime-core.test.ts +31 -0
- package/src/tests/external-thread-attachments.test.tsx +22 -23
- package/src/tests/external-thread-feedback.test.tsx +20 -7
- package/src/tests/external-thread-parity.test.tsx +1 -1
- package/src/tests/message-queue.test.ts +45 -10
- package/src/tests/thread-switch-events.test.tsx +11 -7
- package/src/tests/useRemoteThreadListRuntime-controlled.test.tsx +2 -1
- package/src/types/message.test.ts +19 -0
- package/src/types/message.ts +16 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ThreadUserMessagePart } from "../types/message.js";
|
|
2
2
|
import { Attachment, CompleteAttachment, PendingAttachment } from "../types/attachment.js";
|
|
3
3
|
//#region src/adapters/attachment.d.ts
|
|
4
|
-
type AttachmentAdapter = {
|
|
4
|
+
export type AttachmentAdapter = {
|
|
5
5
|
accept: string;
|
|
6
6
|
add(state: {
|
|
7
7
|
file: File;
|
|
@@ -9,7 +9,7 @@ type AttachmentAdapter = {
|
|
|
9
9
|
remove(attachment: Attachment): Promise<void>;
|
|
10
10
|
send(attachment: PendingAttachment): Promise<CompleteAttachment>;
|
|
11
11
|
};
|
|
12
|
-
declare class SimpleImageAttachmentAdapter implements AttachmentAdapter {
|
|
12
|
+
export declare class SimpleImageAttachmentAdapter implements AttachmentAdapter {
|
|
13
13
|
accept: string;
|
|
14
14
|
add(state: {
|
|
15
15
|
file: File;
|
|
@@ -17,8 +17,8 @@ declare class SimpleImageAttachmentAdapter implements AttachmentAdapter {
|
|
|
17
17
|
send(attachment: PendingAttachment): Promise<CompleteAttachment>;
|
|
18
18
|
remove(): Promise<void>;
|
|
19
19
|
}
|
|
20
|
-
declare const getFileDataURL: (file: File) => Promise<string>;
|
|
21
|
-
declare class SimpleTextAttachmentAdapter implements AttachmentAdapter {
|
|
20
|
+
export declare const getFileDataURL: (file: File) => Promise<string>;
|
|
21
|
+
export declare class SimpleTextAttachmentAdapter implements AttachmentAdapter {
|
|
22
22
|
accept: string;
|
|
23
23
|
add(state: {
|
|
24
24
|
file: File;
|
|
@@ -26,16 +26,16 @@ declare class SimpleTextAttachmentAdapter implements AttachmentAdapter {
|
|
|
26
26
|
send(attachment: PendingAttachment): Promise<CompleteAttachment>;
|
|
27
27
|
remove(): Promise<void>;
|
|
28
28
|
}
|
|
29
|
-
declare function fileMatchesAccept(file: {
|
|
29
|
+
export declare function fileMatchesAccept(file: {
|
|
30
30
|
name: string;
|
|
31
31
|
type: string;
|
|
32
32
|
}, acceptString: string): boolean;
|
|
33
|
-
declare function attachmentsEqual(a: readonly CompleteAttachment[], b: readonly CompleteAttachment[]): boolean;
|
|
34
|
-
declare function partToCompleteAttachment(part: Exclude<ThreadUserMessagePart, {
|
|
33
|
+
export declare function attachmentsEqual(a: readonly CompleteAttachment[], b: readonly CompleteAttachment[]): boolean;
|
|
34
|
+
export declare function partToCompleteAttachment(part: Exclude<ThreadUserMessagePart, {
|
|
35
35
|
type: "text";
|
|
36
36
|
}>): CompleteAttachment;
|
|
37
|
-
declare function liftNonTextParts(content: readonly ThreadUserMessagePart[]): CompleteAttachment[];
|
|
38
|
-
declare class CompositeAttachmentAdapter implements AttachmentAdapter {
|
|
37
|
+
export declare function liftNonTextParts(content: readonly ThreadUserMessagePart[]): CompleteAttachment[];
|
|
38
|
+
export declare class CompositeAttachmentAdapter implements AttachmentAdapter {
|
|
39
39
|
private _adapters;
|
|
40
40
|
accept: string;
|
|
41
41
|
constructor(adapters: AttachmentAdapter[]);
|
|
@@ -46,5 +46,4 @@ declare class CompositeAttachmentAdapter implements AttachmentAdapter {
|
|
|
46
46
|
remove(attachment: Attachment): Promise<void>;
|
|
47
47
|
}
|
|
48
48
|
//#endregion
|
|
49
|
-
export { AttachmentAdapter, CompositeAttachmentAdapter, SimpleImageAttachmentAdapter, SimpleTextAttachmentAdapter, attachmentsEqual, fileMatchesAccept, getFileDataURL, liftNonTextParts, partToCompleteAttachment };
|
|
50
49
|
//# sourceMappingURL=attachment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment.d.ts","names":[],"sources":["../../src/adapters/attachment.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"attachment.d.ts","names":[],"sources":["../../src/adapters/attachment.ts"],"mappings":";;;YAQY;EACV;EACA,IAAI;IACF,MAAM;MACJ,QAAQ,qBAAqB,eAAe;EAChD,OAAO,YAAY,aAAa;EAChC,KAAK,YAAY,oBAAoB,QAAQ;;qBAGlC,wCAAwC;EAC5C;EAEM,IAAI;IAAS,MAAM;MAAS,QAAQ;EAWpC,KACX,YAAY,oBACX,QAAQ;EAaE,UAAM;;qBA0BR,iBAAwB,MAAM,SAAO;qBAoBrC,uCAAuC;EAC3C;EAGM,IAAI;IAAS,MAAM;MAAS,QAAQ;EAWpC,KACX,YAAY,oBACX,QAAQ;EAaE,UAAM;;wBAiBL,kBACd;EAAQ;EAAc;GACtB;wBAiCc,iBACd,YAAY,sBACZ,YAAY;wBASE,yBACd,MAAM,QAAQ;EAAyB;KACtC;wBA4Ca,iBACd,kBAAkB,0BACjB;qBAUU,sCAAsC;UACzC;EAED;EAEK,YAAA,UAAU;EAgBf,IAAI;IAAS,MAAM;MAAM,QAAA,qBAAA,eAAA;EASnB,KAAK,YAAY,oBAAiB,QAAA;EAUlC,OAAO,YAAY,aAAU"}
|
|
@@ -47,6 +47,7 @@ const getFileDataURL = async (file) => {
|
|
|
47
47
|
reader.readAsDataURL(file);
|
|
48
48
|
});
|
|
49
49
|
};
|
|
50
|
+
const escapeAttachmentName = (name) => name.replaceAll("&", "&").replaceAll("\"", """).replaceAll("<", "<").replaceAll(">", ">");
|
|
50
51
|
var SimpleTextAttachmentAdapter = class {
|
|
51
52
|
accept = "text/plain,text/html,text/markdown,text/csv,text/xml,text/json,application/json,text/css";
|
|
52
53
|
async add(state) {
|
|
@@ -68,7 +69,7 @@ var SimpleTextAttachmentAdapter = class {
|
|
|
68
69
|
status: { type: "complete" },
|
|
69
70
|
content: [{
|
|
70
71
|
type: "text",
|
|
71
|
-
text: `<attachment name
|
|
72
|
+
text: `<attachment name="${escapeAttachmentName(attachment.name)}">\n${await getFileText(attachment.file)}\n</attachment>`
|
|
72
73
|
}]
|
|
73
74
|
};
|
|
74
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment.js","names":["Attachment","PendingAttachment","CompleteAttachment","ThreadUserMessagePart","generateId","AttachmentAdapter","accept","add","state","file","File","Promise","AsyncGenerator","remove","attachment","send","SimpleImageAttachmentAdapter","id","type","name","contentType","status","reason","content","image","getFileDataURL","bytesToBase64","bytes","Uint8Array","nodeBuffer","globalThis","Buffer","from","toString","encoding","binary","chunkSize","i","length","String","fromCharCode","subarray","btoa","FileReader","buffer","arrayBuffer","resolve","reject","reader","onload","result","onerror","error","readAsDataURL","SimpleTextAttachmentAdapter","text","getFileText","readAsText","fileMatchesAccept","acceptString","allowedTypes","split","map","trim","toLowerCase","fileName","fileMimeType","startsWith","endsWith","includes","generalType","attachmentsEqual","a","b","partToCompleteAttachment","part","Exclude","filename","mimeType","audio","format","liftNonTextParts","push","CompositeAttachmentAdapter","_adapters","constructor","adapters","wildcardIdx","findIndex","Error","join","adapter","slice"],"sources":["../../src/adapters/attachment.ts"],"sourcesContent":["import type {\n Attachment,\n PendingAttachment,\n CompleteAttachment,\n} from \"../types/attachment\";\nimport type { ThreadUserMessagePart } from \"../types/message\";\nimport { generateId } from \"../utils/id\";\n\nexport type AttachmentAdapter = {\n accept: string;\n add(state: {\n file: File;\n }): Promise<PendingAttachment> | AsyncGenerator<PendingAttachment, void>;\n remove(attachment: Attachment): Promise<void>;\n send(attachment: PendingAttachment): Promise<CompleteAttachment>;\n};\n\nexport class SimpleImageAttachmentAdapter implements AttachmentAdapter {\n public accept = \"image/*\";\n\n public async add(state: { file: File }): Promise<PendingAttachment> {\n return {\n id: generateId(),\n type: \"image\",\n name: state.file.name,\n contentType: state.file.type,\n file: state.file,\n status: { type: \"requires-action\", reason: \"composer-send\" },\n };\n }\n\n public async send(\n attachment: PendingAttachment,\n ): Promise<CompleteAttachment> {\n return {\n ...attachment,\n status: { type: \"complete\" },\n content: [\n {\n type: \"image\",\n image: await getFileDataURL(attachment.file),\n },\n ],\n };\n }\n\n public async remove() {\n // noop\n }\n}\n\nconst bytesToBase64 = (bytes: Uint8Array): string => {\n const nodeBuffer = (\n globalThis as {\n Buffer?: {\n from(bytes: Uint8Array): { toString(encoding: string): string };\n };\n }\n ).Buffer;\n if (nodeBuffer) {\n return nodeBuffer.from(bytes).toString(\"base64\");\n }\n let binary = \"\";\n const chunkSize = 0x8000;\n for (let i = 0; i < bytes.length; i += chunkSize) {\n binary += String.fromCharCode(...bytes.subarray(i, i + chunkSize));\n }\n return btoa(binary);\n};\n\n// React Native's Blob polyfill has FileReader but not file.text()/arrayBuffer(); Node has\n// the reverse. Prefer FileReader when present, falling back to the Blob methods otherwise.\nexport const getFileDataURL = async (file: File): Promise<string> => {\n if (typeof FileReader === \"undefined\") {\n const buffer = await file.arrayBuffer();\n return `data:${file.type || \"application/octet-stream\"};base64,${bytesToBase64(new Uint8Array(buffer))}`;\n }\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = (error) => reject(error);\n reader.readAsDataURL(file);\n });\n};\n\nexport class SimpleTextAttachmentAdapter implements AttachmentAdapter {\n public accept =\n \"text/plain,text/html,text/markdown,text/csv,text/xml,text/json,application/json,text/css\";\n\n public async add(state: { file: File }): Promise<PendingAttachment> {\n return {\n id: generateId(),\n type: \"document\",\n name: state.file.name,\n contentType: state.file.type,\n file: state.file,\n status: { type: \"requires-action\", reason: \"composer-send\" },\n };\n }\n\n public async send(\n attachment: PendingAttachment,\n ): Promise<CompleteAttachment> {\n return {\n ...attachment,\n status: { type: \"complete\" },\n content: [\n {\n type: \"text\",\n text: `<attachment name=${attachment.name}>\\n${await getFileText(attachment.file)}\\n</attachment>`,\n },\n ],\n };\n }\n\n public async remove() {\n // noop\n }\n}\n\nconst getFileText = async (file: File): Promise<string> => {\n if (typeof FileReader === \"undefined\") {\n return file.text();\n }\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = (error) => reject(error);\n reader.readAsText(file);\n });\n};\n\nexport function fileMatchesAccept(\n file: { name: string; type: string },\n acceptString: string,\n) {\n if (acceptString === \"*\") {\n return true;\n }\n\n const allowedTypes = acceptString\n .split(\",\")\n .map((type) => type.trim().toLowerCase());\n\n const fileName = file.name.toLowerCase();\n const fileMimeType = file.type.split(\";\", 1)[0]!.trim().toLowerCase();\n\n for (const type of allowedTypes) {\n if (type.startsWith(\".\") && fileName.endsWith(type)) {\n return true;\n }\n\n if (type.includes(\"/\") && type === fileMimeType) {\n return true;\n }\n\n if (type.endsWith(\"/*\")) {\n const generalType = type.split(\"/\")[0]!;\n if (fileMimeType.startsWith(`${generalType}/`)) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nexport function attachmentsEqual(\n a: readonly CompleteAttachment[],\n b: readonly CompleteAttachment[],\n): boolean {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i]?.id !== b[i]?.id) return false;\n }\n return true;\n}\n\nexport function partToCompleteAttachment(\n part: Exclude<ThreadUserMessagePart, { type: \"text\" }>,\n): CompleteAttachment {\n const id = generateId();\n\n if (part.type === \"image\") {\n return {\n id,\n type: \"image\",\n name: part.filename ?? \"image\",\n content: [part],\n status: { type: \"complete\" },\n };\n }\n\n if (part.type === \"file\") {\n return {\n id,\n type: \"document\",\n name: part.filename ?? \"document\",\n contentType: part.mimeType,\n content: [part],\n status: { type: \"complete\" },\n };\n }\n\n if (part.type === \"audio\") {\n return {\n id,\n type: \"audio\",\n name: `audio.${part.audio.format}`,\n contentType: `audio/${part.audio.format}`,\n content: [part],\n status: { type: \"complete\" },\n };\n }\n\n return {\n id,\n type: \"data\",\n name: part.name,\n content: [part],\n status: { type: \"complete\" },\n };\n}\n\nexport function liftNonTextParts(\n content: readonly ThreadUserMessagePart[],\n): CompleteAttachment[] {\n const result: CompleteAttachment[] = [];\n for (const part of content) {\n if (part.type !== \"text\") {\n result.push(partToCompleteAttachment(part));\n }\n }\n return result;\n}\n\nexport class CompositeAttachmentAdapter implements AttachmentAdapter {\n private _adapters: AttachmentAdapter[];\n\n public accept: string;\n\n constructor(adapters: AttachmentAdapter[]) {\n this._adapters = adapters;\n\n const wildcardIdx = adapters.findIndex((a) => a.accept === \"*\");\n if (wildcardIdx !== -1) {\n if (wildcardIdx !== adapters.length - 1)\n throw new Error(\n \"A wildcard adapter (handling all files) can only be specified as the last adapter.\",\n );\n\n this.accept = \"*\";\n } else {\n this.accept = adapters.map((a) => a.accept).join(\",\");\n }\n }\n\n public add(state: { file: File }) {\n for (const adapter of this._adapters) {\n if (fileMatchesAccept(state.file, adapter.accept)) {\n return adapter.add(state);\n }\n }\n throw new Error(\"No matching adapter found for file\");\n }\n\n public async send(attachment: PendingAttachment) {\n const adapters = this._adapters.slice();\n for (const adapter of adapters) {\n if (fileMatchesAccept(attachment.file, adapter.accept)) {\n return adapter.send(attachment);\n }\n }\n throw new Error(\"No matching adapter found for attachment\");\n }\n\n public async remove(attachment: Attachment) {\n const adapters = this._adapters.slice();\n for (const adapter of adapters) {\n if (\n fileMatchesAccept(\n attachment.file ?? {\n name: attachment.name,\n type: attachment.contentType ?? \"\",\n },\n adapter.accept,\n )\n ) {\n return adapter.remove(attachment);\n }\n }\n throw new Error(\"No matching adapter found for attachment\");\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attachment.js","names":["Attachment","PendingAttachment","CompleteAttachment","ThreadUserMessagePart","generateId","AttachmentAdapter","accept","add","state","file","File","Promise","AsyncGenerator","remove","attachment","send","SimpleImageAttachmentAdapter","id","type","name","contentType","status","reason","content","image","getFileDataURL","bytesToBase64","bytes","Uint8Array","nodeBuffer","globalThis","Buffer","from","toString","encoding","binary","chunkSize","i","length","String","fromCharCode","subarray","btoa","FileReader","buffer","arrayBuffer","resolve","reject","reader","onload","result","onerror","error","readAsDataURL","escapeAttachmentName","replaceAll","SimpleTextAttachmentAdapter","text","getFileText","readAsText","fileMatchesAccept","acceptString","allowedTypes","split","map","trim","toLowerCase","fileName","fileMimeType","startsWith","endsWith","includes","generalType","attachmentsEqual","a","b","partToCompleteAttachment","part","Exclude","filename","mimeType","audio","format","liftNonTextParts","push","CompositeAttachmentAdapter","_adapters","constructor","adapters","wildcardIdx","findIndex","Error","join","adapter","slice"],"sources":["../../src/adapters/attachment.ts"],"sourcesContent":["import type {\n Attachment,\n PendingAttachment,\n CompleteAttachment,\n} from \"../types/attachment\";\nimport type { ThreadUserMessagePart } from \"../types/message\";\nimport { generateId } from \"../utils/id\";\n\nexport type AttachmentAdapter = {\n accept: string;\n add(state: {\n file: File;\n }): Promise<PendingAttachment> | AsyncGenerator<PendingAttachment, void>;\n remove(attachment: Attachment): Promise<void>;\n send(attachment: PendingAttachment): Promise<CompleteAttachment>;\n};\n\nexport class SimpleImageAttachmentAdapter implements AttachmentAdapter {\n public accept = \"image/*\";\n\n public async add(state: { file: File }): Promise<PendingAttachment> {\n return {\n id: generateId(),\n type: \"image\",\n name: state.file.name,\n contentType: state.file.type,\n file: state.file,\n status: { type: \"requires-action\", reason: \"composer-send\" },\n };\n }\n\n public async send(\n attachment: PendingAttachment,\n ): Promise<CompleteAttachment> {\n return {\n ...attachment,\n status: { type: \"complete\" },\n content: [\n {\n type: \"image\",\n image: await getFileDataURL(attachment.file),\n },\n ],\n };\n }\n\n public async remove() {\n // noop\n }\n}\n\nconst bytesToBase64 = (bytes: Uint8Array): string => {\n const nodeBuffer = (\n globalThis as {\n Buffer?: {\n from(bytes: Uint8Array): { toString(encoding: string): string };\n };\n }\n ).Buffer;\n if (nodeBuffer) {\n return nodeBuffer.from(bytes).toString(\"base64\");\n }\n let binary = \"\";\n const chunkSize = 0x8000;\n for (let i = 0; i < bytes.length; i += chunkSize) {\n binary += String.fromCharCode(...bytes.subarray(i, i + chunkSize));\n }\n return btoa(binary);\n};\n\n// React Native's Blob polyfill has FileReader but not file.text()/arrayBuffer(); Node has\n// the reverse. Prefer FileReader when present, falling back to the Blob methods otherwise.\nexport const getFileDataURL = async (file: File): Promise<string> => {\n if (typeof FileReader === \"undefined\") {\n const buffer = await file.arrayBuffer();\n return `data:${file.type || \"application/octet-stream\"};base64,${bytesToBase64(new Uint8Array(buffer))}`;\n }\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = (error) => reject(error);\n reader.readAsDataURL(file);\n });\n};\n\nconst escapeAttachmentName = (name: string) =>\n name\n .replaceAll(\"&\", \"&\")\n .replaceAll('\"', \""\")\n .replaceAll(\"<\", \"<\")\n .replaceAll(\">\", \">\");\n\nexport class SimpleTextAttachmentAdapter implements AttachmentAdapter {\n public accept =\n \"text/plain,text/html,text/markdown,text/csv,text/xml,text/json,application/json,text/css\";\n\n public async add(state: { file: File }): Promise<PendingAttachment> {\n return {\n id: generateId(),\n type: \"document\",\n name: state.file.name,\n contentType: state.file.type,\n file: state.file,\n status: { type: \"requires-action\", reason: \"composer-send\" },\n };\n }\n\n public async send(\n attachment: PendingAttachment,\n ): Promise<CompleteAttachment> {\n return {\n ...attachment,\n status: { type: \"complete\" },\n content: [\n {\n type: \"text\",\n text: `<attachment name=\"${escapeAttachmentName(attachment.name)}\">\\n${await getFileText(attachment.file)}\\n</attachment>`,\n },\n ],\n };\n }\n\n public async remove() {\n // noop\n }\n}\n\nconst getFileText = async (file: File): Promise<string> => {\n if (typeof FileReader === \"undefined\") {\n return file.text();\n }\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = (error) => reject(error);\n reader.readAsText(file);\n });\n};\n\nexport function fileMatchesAccept(\n file: { name: string; type: string },\n acceptString: string,\n) {\n if (acceptString === \"*\") {\n return true;\n }\n\n const allowedTypes = acceptString\n .split(\",\")\n .map((type) => type.trim().toLowerCase());\n\n const fileName = file.name.toLowerCase();\n const fileMimeType = file.type.split(\";\", 1)[0]!.trim().toLowerCase();\n\n for (const type of allowedTypes) {\n if (type.startsWith(\".\") && fileName.endsWith(type)) {\n return true;\n }\n\n if (type.includes(\"/\") && type === fileMimeType) {\n return true;\n }\n\n if (type.endsWith(\"/*\")) {\n const generalType = type.split(\"/\")[0]!;\n if (fileMimeType.startsWith(`${generalType}/`)) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nexport function attachmentsEqual(\n a: readonly CompleteAttachment[],\n b: readonly CompleteAttachment[],\n): boolean {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i]?.id !== b[i]?.id) return false;\n }\n return true;\n}\n\nexport function partToCompleteAttachment(\n part: Exclude<ThreadUserMessagePart, { type: \"text\" }>,\n): CompleteAttachment {\n const id = generateId();\n\n if (part.type === \"image\") {\n return {\n id,\n type: \"image\",\n name: part.filename ?? \"image\",\n content: [part],\n status: { type: \"complete\" },\n };\n }\n\n if (part.type === \"file\") {\n return {\n id,\n type: \"document\",\n name: part.filename ?? \"document\",\n contentType: part.mimeType,\n content: [part],\n status: { type: \"complete\" },\n };\n }\n\n if (part.type === \"audio\") {\n return {\n id,\n type: \"audio\",\n name: `audio.${part.audio.format}`,\n contentType: `audio/${part.audio.format}`,\n content: [part],\n status: { type: \"complete\" },\n };\n }\n\n return {\n id,\n type: \"data\",\n name: part.name,\n content: [part],\n status: { type: \"complete\" },\n };\n}\n\nexport function liftNonTextParts(\n content: readonly ThreadUserMessagePart[],\n): CompleteAttachment[] {\n const result: CompleteAttachment[] = [];\n for (const part of content) {\n if (part.type !== \"text\") {\n result.push(partToCompleteAttachment(part));\n }\n }\n return result;\n}\n\nexport class CompositeAttachmentAdapter implements AttachmentAdapter {\n private _adapters: AttachmentAdapter[];\n\n public accept: string;\n\n constructor(adapters: AttachmentAdapter[]) {\n this._adapters = adapters;\n\n const wildcardIdx = adapters.findIndex((a) => a.accept === \"*\");\n if (wildcardIdx !== -1) {\n if (wildcardIdx !== adapters.length - 1)\n throw new Error(\n \"A wildcard adapter (handling all files) can only be specified as the last adapter.\",\n );\n\n this.accept = \"*\";\n } else {\n this.accept = adapters.map((a) => a.accept).join(\",\");\n }\n }\n\n public add(state: { file: File }) {\n for (const adapter of this._adapters) {\n if (fileMatchesAccept(state.file, adapter.accept)) {\n return adapter.add(state);\n }\n }\n throw new Error(\"No matching adapter found for file\");\n }\n\n public async send(attachment: PendingAttachment) {\n const adapters = this._adapters.slice();\n for (const adapter of adapters) {\n if (fileMatchesAccept(attachment.file, adapter.accept)) {\n return adapter.send(attachment);\n }\n }\n throw new Error(\"No matching adapter found for attachment\");\n }\n\n public async remove(attachment: Attachment) {\n const adapters = this._adapters.slice();\n for (const adapter of adapters) {\n if (\n fileMatchesAccept(\n attachment.file ?? {\n name: attachment.name,\n type: attachment.contentType ?? \"\",\n },\n adapter.accept,\n )\n ) {\n return adapter.remove(attachment);\n }\n }\n throw new Error(\"No matching adapter found for attachment\");\n }\n}\n"],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import { Unstable_DirectiveFormatter } from "../types/directive.js";
|
|
|
5
5
|
*
|
|
6
6
|
* When `id` equals `label`, the `{name=…}` attribute is omitted for brevity.
|
|
7
7
|
*/
|
|
8
|
-
declare const unstable_defaultDirectiveFormatter: Unstable_DirectiveFormatter;
|
|
8
|
+
export declare const unstable_defaultDirectiveFormatter: Unstable_DirectiveFormatter;
|
|
9
9
|
//#endregion
|
|
10
|
-
export { unstable_defaultDirectiveFormatter };
|
|
11
10
|
//# sourceMappingURL=directive-formatter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive-formatter.d.ts","names":[],"sources":["../../src/adapters/directive-formatter.ts"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"directive-formatter.d.ts","names":[],"sources":["../../src/adapters/directive-formatter.ts"],"mappings":";;;;;;;qBAca,oCAAoC"}
|
|
@@ -3,10 +3,10 @@ import { ThreadMessage } from "../types/message.js";
|
|
|
3
3
|
type FeedbackAdapterFeedback = {
|
|
4
4
|
message: ThreadMessage;
|
|
5
5
|
type: "positive" | "negative";
|
|
6
|
+
comment?: string;
|
|
6
7
|
};
|
|
7
|
-
type FeedbackAdapter = {
|
|
8
|
+
export type FeedbackAdapter = {
|
|
8
9
|
submit: (feedback: FeedbackAdapterFeedback) => void;
|
|
9
10
|
};
|
|
10
11
|
//#endregion
|
|
11
|
-
export { FeedbackAdapter };
|
|
12
12
|
//# sourceMappingURL=feedback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.d.ts","names":[],"sources":["../../src/adapters/feedback.ts"],"mappings":";;KAEK;EACH,SAAS;EACT;;
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","names":[],"sources":["../../src/adapters/feedback.ts"],"mappings":";;KAEK;EACH,SAAS;EACT;EACA;;YAGU;EACV,SAAS,UAAU"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Unsubscribe } from "../types/unsubscribe.js";
|
|
2
2
|
//#region src/adapters/speech.d.ts
|
|
3
|
-
declare namespace SpeechSynthesisAdapter {
|
|
3
|
+
export declare namespace SpeechSynthesisAdapter {
|
|
4
4
|
type Status = {
|
|
5
5
|
type: "starting" | "running";
|
|
6
6
|
} | {
|
|
@@ -14,10 +14,10 @@ declare namespace SpeechSynthesisAdapter {
|
|
|
14
14
|
subscribe: (callback: () => void) => Unsubscribe;
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
type SpeechSynthesisAdapter = {
|
|
17
|
+
export type SpeechSynthesisAdapter = {
|
|
18
18
|
speak: (text: string) => SpeechSynthesisAdapter.Utterance;
|
|
19
19
|
};
|
|
20
|
-
declare namespace DictationAdapter {
|
|
20
|
+
export declare namespace DictationAdapter {
|
|
21
21
|
type Status = {
|
|
22
22
|
type: "starting" | "running";
|
|
23
23
|
} | {
|
|
@@ -37,11 +37,11 @@ declare namespace DictationAdapter {
|
|
|
37
37
|
onSpeech: (callback: (result: Result) => void) => Unsubscribe;
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
-
type DictationAdapter = {
|
|
40
|
+
export type DictationAdapter = {
|
|
41
41
|
listen: () => DictationAdapter.Session;
|
|
42
42
|
disableInputDuringDictation?: boolean;
|
|
43
43
|
};
|
|
44
|
-
declare class WebSpeechSynthesisAdapter implements SpeechSynthesisAdapter {
|
|
44
|
+
export declare class WebSpeechSynthesisAdapter implements SpeechSynthesisAdapter {
|
|
45
45
|
speak(text: string): SpeechSynthesisAdapter.Utterance;
|
|
46
46
|
}
|
|
47
47
|
interface SpeechRecognitionInstance extends EventTarget {
|
|
@@ -61,7 +61,7 @@ declare global {
|
|
|
61
61
|
webkitSpeechRecognition?: SpeechRecognitionConstructor;
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
declare class WebSpeechDictationAdapter implements DictationAdapter {
|
|
64
|
+
export declare class WebSpeechDictationAdapter implements DictationAdapter {
|
|
65
65
|
private _language;
|
|
66
66
|
private _continuous;
|
|
67
67
|
private _interimResults;
|
|
@@ -74,5 +74,4 @@ declare class WebSpeechDictationAdapter implements DictationAdapter {
|
|
|
74
74
|
listen(): DictationAdapter.Session;
|
|
75
75
|
}
|
|
76
76
|
//#endregion
|
|
77
|
-
export { DictationAdapter, SpeechSynthesisAdapter, WebSpeechDictationAdapter, WebSpeechSynthesisAdapter };
|
|
78
77
|
//# sourceMappingURL=speech.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speech.d.ts","names":[],"sources":["../../src/adapters/speech.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"speech.d.ts","names":[],"sources":["../../src/adapters/speech.ts"],"mappings":";;yBAGiB;OACH;IAEN;;IAGA;IACA;IACA;;OAGM;IACV,QAAQ;IACR;IACA,YAAY,yBAAyB;;;YAI7B;EACV,QAAQ,iBAAiB,uBAAuB;;yBAGjC;OACH;IAEN;;IAGA;IACA;;OAGM;IACV;IACA;;OAGU;IACV,QAAQ;IACR,YAAY;IACZ;IACA,gBAAgB,yBAAyB;IACzC,cAAc,WAAW,QAAQ,oBAAoB;IACrD,WAAW,WAAW,QAAQ,oBAAoB;;;YAI1C;EACV,cAAc,iBAAiB;EAC/B;;qBAGW,qCAAqC;EAChD,MAAM,eAAe,uBAAuB;;UA6EpC,kCAAkC;EAC1C;EACA;EACA;EACA;EACA;EACA;;UAGQ;UACA;;QAGF;YACI;IACR,oBAAoB;IACpB,0BAA0B;;;qBAWjB,qCAAqC;UACxC;UACA;UACA;EAGN,YAAA;IACE;IACA;IACA;;SAYG;EAIP,UAAU,iBAAiB"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { ThreadMessage } from "../types/message.js";
|
|
2
2
|
import { ThreadSuggestion } from "../runtime/interfaces/thread-runtime-core.js";
|
|
3
3
|
//#region src/adapters/suggestion.d.ts
|
|
4
|
-
type SuggestionAdapterGenerateOptions = {
|
|
4
|
+
export type SuggestionAdapterGenerateOptions = {
|
|
5
5
|
messages: readonly ThreadMessage[];
|
|
6
6
|
signal?: AbortSignal;
|
|
7
7
|
};
|
|
8
|
-
type SuggestionAdapter = {
|
|
8
|
+
export type SuggestionAdapter = {
|
|
9
9
|
generate: (options: SuggestionAdapterGenerateOptions) => Promise<readonly ThreadSuggestion[]> | AsyncGenerator<readonly ThreadSuggestion[], void>;
|
|
10
10
|
};
|
|
11
|
-
declare const consumeSuggestionResult: (result: ReturnType<SuggestionAdapter["generate"]>, options: {
|
|
11
|
+
export declare const consumeSuggestionResult: (result: ReturnType<SuggestionAdapter["generate"]>, options: {
|
|
12
12
|
signal: AbortSignal;
|
|
13
13
|
onUpdate: (suggestions: readonly ThreadSuggestion[]) => void;
|
|
14
14
|
}) => Promise<void>;
|
|
15
|
-
type CreateSuggestionAdapterOptions = {
|
|
15
|
+
export type CreateSuggestionAdapterOptions = {
|
|
16
16
|
complete: (options: {
|
|
17
17
|
prompt: string;
|
|
18
18
|
signal?: AbortSignal;
|
|
@@ -21,7 +21,6 @@ type CreateSuggestionAdapterOptions = {
|
|
|
21
21
|
instructions?: string | undefined;
|
|
22
22
|
maxMessages?: number | undefined;
|
|
23
23
|
};
|
|
24
|
-
declare const createSuggestionAdapter: (options: CreateSuggestionAdapterOptions) => SuggestionAdapter;
|
|
24
|
+
export declare const createSuggestionAdapter: (options: CreateSuggestionAdapterOptions) => SuggestionAdapter;
|
|
25
25
|
//#endregion
|
|
26
|
-
export { CreateSuggestionAdapterOptions, SuggestionAdapter, SuggestionAdapterGenerateOptions, consumeSuggestionResult, createSuggestionAdapter };
|
|
27
26
|
//# sourceMappingURL=suggestion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggestion.d.ts","names":[],"sources":["../../src/adapters/suggestion.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"suggestion.d.ts","names":[],"sources":["../../src/adapters/suggestion.ts"],"mappings":";;;YAIY;EACV,mBAAmB;EACnB,SAAS;;YAGC;EACV,WACE,SAAS,qCAEP,iBAAiB,sBACjB,wBAAwB;;qBAGjB,0BACX,QAAQ,WAAW,gCACnB;EACE,QAAQ;EACR,WAAW,sBAAsB;MAElC;YAcS;EACV,WAAW;IACT;IACA,SAAS;QACL;EACN;EACA;EACA;;qBAGW,0BACX,SAAS,mCACR"}
|
|
@@ -4,27 +4,27 @@ import { ExportedMessageRepository, ExportedMessageRepositoryItem } from "../run
|
|
|
4
4
|
import "../types/index.js";
|
|
5
5
|
import { ReadonlyJSONValue } from "assistant-stream/utils";
|
|
6
6
|
//#region src/adapters/thread-history.d.ts
|
|
7
|
-
interface MessageStorageEntry<TPayload> {
|
|
7
|
+
export interface MessageStorageEntry<TPayload> {
|
|
8
8
|
id: string;
|
|
9
9
|
parent_id: string | null;
|
|
10
10
|
format: string;
|
|
11
11
|
content: TPayload;
|
|
12
12
|
}
|
|
13
|
-
interface MessageFormatItem<TMessage> {
|
|
13
|
+
export interface MessageFormatItem<TMessage> {
|
|
14
14
|
parentId: string | null;
|
|
15
15
|
message: TMessage;
|
|
16
16
|
}
|
|
17
|
-
interface MessageFormatRepository<TMessage> {
|
|
17
|
+
export interface MessageFormatRepository<TMessage> {
|
|
18
18
|
headId?: string | null;
|
|
19
19
|
messages: MessageFormatItem<TMessage>[];
|
|
20
20
|
}
|
|
21
|
-
interface MessageFormatAdapter<TMessage, TStorageFormat extends Record<string, unknown>> {
|
|
21
|
+
export interface MessageFormatAdapter<TMessage, TStorageFormat extends Record<string, unknown>> {
|
|
22
22
|
format: string;
|
|
23
23
|
encode(item: MessageFormatItem<TMessage>): TStorageFormat;
|
|
24
24
|
decode(stored: MessageStorageEntry<TStorageFormat>): MessageFormatItem<TMessage>;
|
|
25
25
|
getId(message: TMessage): string;
|
|
26
26
|
}
|
|
27
|
-
type GenericThreadHistoryAdapter<TMessage> = {
|
|
27
|
+
export type GenericThreadHistoryAdapter<TMessage> = {
|
|
28
28
|
load(): Promise<MessageFormatRepository<TMessage>>;
|
|
29
29
|
/** Snapshot the current thread so later writes survive a switch. */
|
|
30
30
|
pin?(): void;
|
|
@@ -41,7 +41,7 @@ type GenericThreadHistoryAdapter<TMessage> = {
|
|
|
41
41
|
message?: ThreadMessage;
|
|
42
42
|
}): void;
|
|
43
43
|
};
|
|
44
|
-
type ThreadHistoryAdapter = {
|
|
44
|
+
export type ThreadHistoryAdapter = {
|
|
45
45
|
load(): Promise<ExportedMessageRepository & {
|
|
46
46
|
state?: ReadonlyJSONValue;
|
|
47
47
|
unstable_resume?: boolean;
|
|
@@ -61,5 +61,4 @@ type ThreadHistoryAdapter = {
|
|
|
61
61
|
withFormat?<TMessage, TStorageFormat extends Record<string, unknown>>(formatAdapter: MessageFormatAdapter<TMessage, TStorageFormat>): GenericThreadHistoryAdapter<TMessage>;
|
|
62
62
|
};
|
|
63
63
|
//#endregion
|
|
64
|
-
export { GenericThreadHistoryAdapter, MessageFormatAdapter, MessageFormatItem, MessageFormatRepository, MessageStorageEntry, ThreadHistoryAdapter };
|
|
65
64
|
//# sourceMappingURL=thread-history.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-history.d.ts","names":[],"sources":["../../src/adapters/thread-history.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"thread-history.d.ts","names":[],"sources":["../../src/adapters/thread-history.ts"],"mappings":";;;;;;iBAWiB,oBAAoB;EACnC;EACA;EACA;EACA,SAAS;;iBAGM,kBAAkB;EACjC;EACA,SAAS;;iBAGM,wBAAwB;EACvC;EACA,UAAU,kBAAkB;;iBAGb,qBACf,UACA,uBAAuB;EAEvB;EACA,OAAO,MAAM,kBAAkB,YAAY;EAC3C,OACE,QAAQ,oBAAoB,kBAC3B,kBAAkB;EACrB,MAAM,SAAS;;YAGL,4BAA4B;EACtC,QAAQ,QAAQ,wBAAwB;;EAExC;EACA,OAAO,MAAM,kBAAkB,YAAY;EAC3C,QACE,MAAM,kBAAkB,WACxB,yBACC;EACH,QAAQ,OAAO,kBAAkB,cAAc;EAC/C,iBACE,OAAO,kBAAkB,aACzB;IACE;IACA;MAAmB;MAAkB;;;IAErC,UAAU;;;YAKJ;EACV,QAAQ,QACN;IACE,QAAQ;IACR;;EAGJ,QACE,SAAS,sBACR,eAAe;EAClB,OAAO,MAAM,gCAAgC;;;;;;;;EAQ7C,QAAQ,MAAM,gCAAgC;EAC9C,QAAQ,OAAO,kCAAkC;;EAEjD,YAAY,UAAU,uBAAuB,yBAC3C,eAAe,qBAAqB,UAAU,kBAC7C,4BAA4B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Unstable_TriggerCategory, Unstable_TriggerItem } from "../types/trigger.js";
|
|
2
2
|
//#region src/adapters/trigger.d.ts
|
|
3
3
|
/** Adapter providing synchronous categories and items to a trigger popover. */
|
|
4
|
-
type Unstable_TriggerAdapter = {
|
|
4
|
+
export type Unstable_TriggerAdapter = {
|
|
5
5
|
/** Return the top-level categories for the trigger popover. */
|
|
6
6
|
categories(): readonly Unstable_TriggerCategory[];
|
|
7
7
|
/** Return items within a category. */
|
|
@@ -10,5 +10,4 @@ type Unstable_TriggerAdapter = {
|
|
|
10
10
|
search?(query: string): readonly Unstable_TriggerItem[];
|
|
11
11
|
};
|
|
12
12
|
//#endregion
|
|
13
|
-
export { Unstable_TriggerAdapter };
|
|
14
13
|
//# sourceMappingURL=trigger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.d.ts","names":[],"sources":["../../src/adapters/trigger.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"trigger.d.ts","names":[],"sources":["../../src/adapters/trigger.ts"],"mappings":";;;YAMY;;EAEV,uBAAuB;;EAGvB,cAAc,8BAA8B;;EAG5C,QAAQ,yBAAyB"}
|
package/dist/adapters/voice.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Unsubscribe } from "../types/unsubscribe.js";
|
|
2
2
|
//#region src/adapters/voice.d.ts
|
|
3
|
-
declare namespace RealtimeVoiceAdapter {
|
|
3
|
+
export declare namespace RealtimeVoiceAdapter {
|
|
4
4
|
type Status = {
|
|
5
5
|
type: "starting" | "running";
|
|
6
6
|
} | {
|
|
@@ -26,17 +26,17 @@ declare namespace RealtimeVoiceAdapter {
|
|
|
26
26
|
onVolumeChange: (callback: (volume: number) => void) => Unsubscribe;
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
-
type RealtimeVoiceAdapter = {
|
|
29
|
+
export type RealtimeVoiceAdapter = {
|
|
30
30
|
connect: (options: {
|
|
31
31
|
abortSignal?: AbortSignal;
|
|
32
32
|
}) => RealtimeVoiceAdapter.Session;
|
|
33
33
|
};
|
|
34
|
-
type VoiceSessionControls = {
|
|
34
|
+
export type VoiceSessionControls = {
|
|
35
35
|
disconnect: () => void;
|
|
36
36
|
mute: () => void;
|
|
37
37
|
unmute: () => void;
|
|
38
38
|
};
|
|
39
|
-
type VoiceSessionHelpers = {
|
|
39
|
+
export type VoiceSessionHelpers = {
|
|
40
40
|
setStatus: (status: RealtimeVoiceAdapter.Status) => void;
|
|
41
41
|
end: (reason: "finished" | "cancelled" | "error", error?: unknown) => void;
|
|
42
42
|
emitTranscript: (item: RealtimeVoiceAdapter.TranscriptItem) => void;
|
|
@@ -44,9 +44,8 @@ type VoiceSessionHelpers = {
|
|
|
44
44
|
emitVolume: (volume: number) => void;
|
|
45
45
|
isDisposed: () => boolean;
|
|
46
46
|
};
|
|
47
|
-
declare function createVoiceSession(options: {
|
|
47
|
+
export declare function createVoiceSession(options: {
|
|
48
48
|
abortSignal?: AbortSignal;
|
|
49
49
|
}, setup: (helpers: VoiceSessionHelpers) => Promise<VoiceSessionControls>): RealtimeVoiceAdapter.Session;
|
|
50
50
|
//#endregion
|
|
51
|
-
export { RealtimeVoiceAdapter, VoiceSessionControls, VoiceSessionHelpers, createVoiceSession };
|
|
52
51
|
//# sourceMappingURL=voice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice.d.ts","names":[],"sources":["../../src/adapters/voice.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"voice.d.ts","names":[],"sources":["../../src/adapters/voice.ts"],"mappings":";;yBAGiB;OACH;IAEN;;IAGA;IACA;IACA;;OAGM;OAEA;IACV;IACA;IACA;;OAGU;IACV,QAAQ;IACR;IAEA;IACA;IACA;IAEA,iBAAiB,WAAW,QAAQ,oBAAoB;IACxD,eACE,WAAW,YAAY,4BACpB;IACL,eAAe,WAAW,MAAM,kBAAkB;IAClD,iBAAiB,WAAW,4BAA4B;;;YAIhD;EACV,UAAU;IACR,cAAc;QACV,qBAAqB;;YAGjB;EACV;EACA;EACA;;YAGU;EACV,YAAY,QAAQ,qBAAqB;EACzC,MAAM,4CAA4C;EAClD,iBAAiB,MAAM,qBAAqB;EAC5C,WAAW,MAAM,qBAAqB;EACtC,aAAa;EACb;;wBAGc,mBACd;EAAW,cAAc;GACzB,QAAQ,SAAS,wBAAwB,QAAQ,wBAChD,qBAAqB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicate-detection.d.ts","names":[],"sources":["../../src/internal/duplicate-detection.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"duplicate-detection.d.ts","names":[],"sources":["../../src/internal/duplicate-detection.ts"],"mappings":";wBAYgB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Unsubscribe } from "../../types/unsubscribe.js";
|
|
2
2
|
import { ModelContext, ModelContextProvider } from "../types.js";
|
|
3
3
|
//#region src/model-context/frame/host.d.ts
|
|
4
|
-
declare class AssistantFrameHost implements ModelContextProvider {
|
|
4
|
+
export declare class AssistantFrameHost implements ModelContextProvider {
|
|
5
5
|
private _context;
|
|
6
6
|
private _subscribers;
|
|
7
7
|
private _pendingRequests;
|
|
@@ -21,5 +21,4 @@ declare class AssistantFrameHost implements ModelContextProvider {
|
|
|
21
21
|
dispose(): void;
|
|
22
22
|
}
|
|
23
23
|
//#endregion
|
|
24
|
-
export { AssistantFrameHost };
|
|
25
24
|
//# sourceMappingURL=host.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","names":[],"sources":["../../../src/model-context/frame/host.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"host.d.ts","names":[],"sources":["../../../src/model-context/frame/host.ts"],"mappings":";;;qBA4Da,8BAA8B;UACjC;UACA;UACA;UAOA;UACA;UACA;EAGN,YAAA,cAAc,QACd;UAYM;UA6BA;UAoBA;UAkBA;UA+DA;UAiBA;UAYA;EAIR,mBAAmB;EAInB,UAAU,uBAAuB;EAKjC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Unsubscribe } from "../../types/unsubscribe.js";
|
|
2
2
|
import { ModelContextProvider } from "../types.js";
|
|
3
3
|
//#region src/model-context/frame/provider.d.ts
|
|
4
|
-
declare class AssistantFrameProvider {
|
|
4
|
+
export declare class AssistantFrameProvider {
|
|
5
5
|
private static _instance;
|
|
6
6
|
private _providers;
|
|
7
7
|
private _providerUnsubscribes;
|
|
@@ -28,5 +28,4 @@ declare class AssistantFrameProvider {
|
|
|
28
28
|
static dispose(): void;
|
|
29
29
|
}
|
|
30
30
|
//#endregion
|
|
31
|
-
export { AssistantFrameProvider };
|
|
32
31
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","names":[],"sources":["../../../src/model-context/frame/provider.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","names":[],"sources":["../../../src/model-context/frame/provider.ts"],"mappings":";;;qBAiCa;iBACI;UAEP;UACA;UACA;UAQA;UACA;UACA;UACA;UACA;UAED;iBAWQ;UAWP;UAsBA;UA+BM;UA8DN;UAOA;UA+BA;UAOA;UAIA;UAaA;UAkBA;UAeA;SAiCD,wBACL,UAAU,sBACV,wBACC;SA+EI"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
//#region src/model-context/frame/types.d.ts
|
|
2
|
-
type SerializedTool = {
|
|
2
|
+
export type SerializedTool = {
|
|
3
3
|
description?: string;
|
|
4
4
|
parameters: any;
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
type?: string;
|
|
7
7
|
};
|
|
8
|
-
type SerializedModelContext = {
|
|
8
|
+
export type SerializedModelContext = {
|
|
9
9
|
system?: string;
|
|
10
10
|
tools?: Record<string, SerializedTool>;
|
|
11
11
|
};
|
|
12
|
-
type FrameMessageType = "model-context-request" | "model-context-update" | "tool-call" | "tool-cancel" | "tool-result";
|
|
13
|
-
type FrameMessage = {
|
|
12
|
+
export type FrameMessageType = "model-context-request" | "model-context-update" | "tool-call" | "tool-cancel" | "tool-result";
|
|
13
|
+
export type FrameMessage = {
|
|
14
14
|
type: "model-context-request";
|
|
15
15
|
} | {
|
|
16
16
|
type: "model-context-update";
|
|
@@ -29,7 +29,6 @@ type FrameMessage = {
|
|
|
29
29
|
result?: unknown;
|
|
30
30
|
error?: string;
|
|
31
31
|
};
|
|
32
|
-
declare const FRAME_MESSAGE_CHANNEL = "assistant-ui-frame";
|
|
32
|
+
export declare const FRAME_MESSAGE_CHANNEL = "assistant-ui-frame";
|
|
33
33
|
//#endregion
|
|
34
|
-
export { FRAME_MESSAGE_CHANNEL, FrameMessage, FrameMessageType, SerializedModelContext, SerializedTool };
|
|
35
34
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/model-context/frame/types.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/model-context/frame/types.ts"],"mappings":";YAAY;EACV;EACA;EACA;EACA;;YAGU;EACV;EACA,QAAQ,eAAe;;YAGb;YAOA;EAEN;;EAGA;EACA,SAAS;;EAGT;EACA;EACA;EACA;;EAGA;EACA;;EAGA;EACA;EACA;EACA;;qBAGO"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Unstable / Experimental — the interactables API is still evolving and may change in any release.
|
|
4
4
|
* @deprecated Unstable / Experimental (not actually removed).
|
|
5
5
|
*/
|
|
6
|
-
type Unstable_InteractableSnapshotEntry = {
|
|
6
|
+
export type Unstable_InteractableSnapshotEntry = {
|
|
7
7
|
id: string;
|
|
8
8
|
name: string;
|
|
9
9
|
state: unknown;
|
|
@@ -33,7 +33,7 @@ type SnapshotCarrierMessage = {
|
|
|
33
33
|
*
|
|
34
34
|
* @deprecated Unstable / Experimental (not actually removed).
|
|
35
35
|
*/
|
|
36
|
-
declare function unstable_getInteractableSnapshots(message: {
|
|
36
|
+
export declare function unstable_getInteractableSnapshots(message: {
|
|
37
37
|
metadata?: unknown;
|
|
38
38
|
}): Unstable_InteractableSnapshotEntry[] | undefined;
|
|
39
39
|
/**
|
|
@@ -41,15 +41,15 @@ declare function unstable_getInteractableSnapshots(message: {
|
|
|
41
41
|
*
|
|
42
42
|
* @deprecated Unstable / Experimental (not actually removed).
|
|
43
43
|
*/
|
|
44
|
-
declare function unstable_formatInteractableSnapshot(entry: Unstable_InteractableSnapshotEntry): string;
|
|
44
|
+
export declare function unstable_formatInteractableSnapshot(entry: Unstable_InteractableSnapshotEntry): string;
|
|
45
45
|
/** The model-facing tool name for an interactable `name`. One tool per name. */
|
|
46
|
-
declare function interactableToolName(name: string): string;
|
|
46
|
+
export declare function interactableToolName(name: string): string;
|
|
47
47
|
/**
|
|
48
48
|
* The merge `update_*` tools apply: top-level keys replace, rest preserved.
|
|
49
49
|
* Array fields also accept operation objects (`add`, `update`, `remove`,
|
|
50
50
|
* `clear`, `set`) so collection edits do not need a companion manage_* tool.
|
|
51
51
|
*/
|
|
52
|
-
declare function shallowMergeInteractableState(prev: unknown, partial: unknown, options?: {
|
|
52
|
+
export declare function shallowMergeInteractableState(prev: unknown, partial: unknown, options?: {
|
|
53
53
|
arrayBaseline?: unknown;
|
|
54
54
|
/**
|
|
55
55
|
* Supplies ids for added items in id-keyed array fields. The live
|
|
@@ -63,7 +63,7 @@ declare function shallowMergeInteractableState(prev: unknown, partial: unknown,
|
|
|
63
63
|
* Unstable / Experimental — the interactables API is still evolving and may change in any release.
|
|
64
64
|
* @deprecated Unstable / Experimental (not actually removed).
|
|
65
65
|
*/
|
|
66
|
-
type Unstable_InteractableVersion = {
|
|
66
|
+
export type Unstable_InteractableVersion = {
|
|
67
67
|
/** The full state as of this version. */
|
|
68
68
|
state: unknown;
|
|
69
69
|
origin: "create" | "update" | "user-edit";
|
|
@@ -86,12 +86,12 @@ type Unstable_InteractableVersion = {
|
|
|
86
86
|
*
|
|
87
87
|
* @deprecated Unstable / Experimental (not actually removed).
|
|
88
88
|
*/
|
|
89
|
-
declare function unstable_getInteractableVersions(messages: readonly SnapshotCarrierMessage[], id: string, name: string): Unstable_InteractableVersion[];
|
|
89
|
+
export declare function unstable_getInteractableVersions(messages: readonly SnapshotCarrierMessage[], id: string, name: string): Unstable_InteractableVersion[];
|
|
90
90
|
/**
|
|
91
91
|
* The state the model knows for interactable `id` — its latest recorded
|
|
92
92
|
* version, or `undefined` when no baseline exists yet.
|
|
93
93
|
*/
|
|
94
|
-
declare function findModelKnownState(messages: readonly SnapshotCarrierMessage[], id: string, name: string): {
|
|
94
|
+
export declare function findModelKnownState(messages: readonly SnapshotCarrierMessage[], id: string, name: string): {
|
|
95
95
|
state: unknown;
|
|
96
96
|
} | undefined;
|
|
97
97
|
/**
|
|
@@ -101,7 +101,6 @@ declare function findModelKnownState(messages: readonly SnapshotCarrierMessage[]
|
|
|
101
101
|
* snapshot carrying just the changed fields; otherwise the full state is
|
|
102
102
|
* stamped. Other metadata keys pass through untouched.
|
|
103
103
|
*/
|
|
104
|
-
declare function gateInteractableComposerMetadata(meta: Record<string, unknown> | undefined, messages: readonly SnapshotCarrierMessage[]): Record<string, unknown> | undefined;
|
|
104
|
+
export declare function gateInteractableComposerMetadata(meta: Record<string, unknown> | undefined, messages: readonly SnapshotCarrierMessage[]): Record<string, unknown> | undefined;
|
|
105
105
|
//#endregion
|
|
106
|
-
export { Unstable_InteractableSnapshotEntry, Unstable_InteractableVersion, findModelKnownState, gateInteractableComposerMetadata, interactableToolName, shallowMergeInteractableState, unstable_formatInteractableSnapshot, unstable_getInteractableSnapshots, unstable_getInteractableVersions };
|
|
107
106
|
//# sourceMappingURL=interactable-composer-metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactable-composer-metadata.d.ts","names":[],"sources":["../../src/model-context/interactable-composer-metadata.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"interactable-composer-metadata.d.ts","names":[],"sources":["../../src/model-context/interactable-composer-metadata.ts"],"mappings":";;;;;YAOY;EACV;EACA;EACA;;;;;;EAMA;;;;;;;KAQG;EACH;EACA;EACA;;;;;;;;;;;wBAYc,kCAAkC;EAChD;IACE;;;;;;wBAgBY,oCACd,OAAO;;wBASO,qBAAqB;;;;;;wBAgErB,8BACd,eACA,kBACA;EAEM;;;;;;EAMA,aAAa;EACb,gBAAgB;;;;;;YAgGZ;;EAEV;EACA;;EAEA;;;;;;;;;;;;;;;;;;wBA0Bc,iCACd,mBAAmB,0BACnB,YACA,eACC;;;;;wBAwEa,oBACd,mBAAmB,0BACnB,YACA;EACG;;;;;;;;;wBAaW,iCACd,MAAM,qCACN,mBAAmB,2BAClB"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { AssistantInstructionsConfig, AssistantToolProps } from "./types.js";
|
|
2
2
|
//#region src/model-context/registry-handles.d.ts
|
|
3
|
-
interface ModelContextRegistryToolHandle<TArgs extends Record<string, unknown> = any, TResult = any> {
|
|
3
|
+
export interface ModelContextRegistryToolHandle<TArgs extends Record<string, unknown> = any, TResult = any> {
|
|
4
4
|
update(tool: AssistantToolProps<TArgs, TResult>): void;
|
|
5
5
|
remove(): void;
|
|
6
6
|
}
|
|
7
|
-
interface ModelContextRegistryInstructionHandle {
|
|
7
|
+
export interface ModelContextRegistryInstructionHandle {
|
|
8
8
|
update(config: string | AssistantInstructionsConfig): void;
|
|
9
9
|
remove(): void;
|
|
10
10
|
}
|
|
11
|
-
interface ModelContextRegistryProviderHandle {
|
|
11
|
+
export interface ModelContextRegistryProviderHandle {
|
|
12
12
|
remove(): void;
|
|
13
13
|
}
|
|
14
14
|
//#endregion
|
|
15
|
-
export { ModelContextRegistryInstructionHandle, ModelContextRegistryProviderHandle, ModelContextRegistryToolHandle };
|
|
16
15
|
//# sourceMappingURL=registry-handles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-handles.d.ts","names":[],"sources":["../../src/model-context/registry-handles.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"registry-handles.d.ts","names":[],"sources":["../../src/model-context/registry-handles.ts"],"mappings":";;iBAEiB,+BACf,cAAc,+BACd;EAEA,OAAO,MAAM,mBAAmB,OAAO;EACvC;;iBAGe;EACf,OAAO,iBAAiB;EACxB;;iBAGe;EACf"}
|
|
@@ -2,7 +2,7 @@ import { Unsubscribe } from "../types/unsubscribe.js";
|
|
|
2
2
|
import { AssistantInstructionsConfig, AssistantToolProps, ModelContext, ModelContextProvider } from "./types.js";
|
|
3
3
|
import { ModelContextRegistryInstructionHandle, ModelContextRegistryProviderHandle, ModelContextRegistryToolHandle } from "./registry-handles.js";
|
|
4
4
|
//#region src/model-context/registry.d.ts
|
|
5
|
-
declare class ModelContextRegistry implements ModelContextProvider {
|
|
5
|
+
export declare class ModelContextRegistry implements ModelContextProvider {
|
|
6
6
|
private _tools;
|
|
7
7
|
private _instructions;
|
|
8
8
|
private _contextProviders;
|
|
@@ -16,5 +16,4 @@ declare class ModelContextRegistry implements ModelContextProvider {
|
|
|
16
16
|
addProvider(provider: ModelContextProvider): ModelContextRegistryProviderHandle;
|
|
17
17
|
}
|
|
18
18
|
//#endregion
|
|
19
|
-
export { ModelContextRegistry };
|
|
20
19
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","names":[],"sources":["../../src/model-context/registry.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","names":[],"sources":["../../src/model-context/registry.ts"],"mappings":";;;;qBAiBa,gCAAgC;UACnC;UACA;UACA;UACA;;EAQR,mBAAmB;EA+CnB,UAAU,uBAAuB;UAKzB;EAIR,QAAQ,cAAc,yBAAyB,SAC7C,MAAM,mBAAmB,OAAO,WAC/B,+BAA+B,OAAO;EAoBzC,eACE,iBAAiB,8BAChB;EAiCH,YACE,UAAU,uBACT"}
|