@assistant-ui/react 0.9.6 → 0.10.1
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/api/AssistantRuntime.js +8 -34
- package/dist/api/AssistantRuntime.js.map +1 -1
- package/dist/api/AttachmentRuntime.js +12 -41
- package/dist/api/AttachmentRuntime.js.map +1 -1
- package/dist/api/ComposerRuntime.js +29 -54
- package/dist/api/ComposerRuntime.js.map +1 -1
- package/dist/api/ContentPartRuntime.js +4 -30
- package/dist/api/ContentPartRuntime.js.map +1 -1
- package/dist/api/MessageRuntime.js +34 -55
- package/dist/api/MessageRuntime.js.map +1 -1
- package/dist/api/RuntimePathTypes.js +0 -18
- package/dist/api/RuntimePathTypes.js.map +1 -1
- package/dist/api/ThreadListItemRuntime.js +4 -30
- package/dist/api/ThreadListItemRuntime.js.map +1 -1
- package/dist/api/ThreadListRuntime.js +30 -52
- package/dist/api/ThreadListRuntime.js.map +1 -1
- package/dist/api/ThreadRuntime.js +27 -50
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/api/index.js +0 -18
- package/dist/api/index.js.map +1 -1
- package/dist/api/subscribable/BaseSubject.js +4 -30
- package/dist/api/subscribable/BaseSubject.js.map +1 -1
- package/dist/api/subscribable/EventSubscriptionSubject.js +5 -31
- package/dist/api/subscribable/EventSubscriptionSubject.js.map +1 -1
- package/dist/api/subscribable/LazyMemoizeSubject.js +7 -33
- package/dist/api/subscribable/LazyMemoizeSubject.js.map +1 -1
- package/dist/api/subscribable/NestedSubscriptionSubject.js +5 -31
- package/dist/api/subscribable/NestedSubscriptionSubject.js.map +1 -1
- package/dist/api/subscribable/SKIP_UPDATE.js +3 -29
- package/dist/api/subscribable/SKIP_UPDATE.js.map +1 -1
- package/dist/api/subscribable/ShallowMemoizeSubject.js +10 -36
- package/dist/api/subscribable/ShallowMemoizeSubject.js.map +1 -1
- package/dist/api/subscribable/Subscribable.js +0 -18
- package/dist/api/subscribable/Subscribable.js.map +1 -1
- package/dist/api/subscribable/shallowEqual.js +2 -28
- package/dist/api/subscribable/shallowEqual.js.map +1 -1
- package/dist/cloud/AssistantCloud.js +12 -38
- package/dist/cloud/AssistantCloud.js.map +1 -1
- package/dist/cloud/AssistantCloudAPI.js +14 -36
- package/dist/cloud/AssistantCloudAPI.js.map +1 -1
- package/dist/cloud/AssistantCloudAuthStrategy.js +10 -38
- package/dist/cloud/AssistantCloudAuthStrategy.js.map +1 -1
- package/dist/cloud/AssistantCloudAuthTokens.js +4 -30
- package/dist/cloud/AssistantCloudAuthTokens.js.map +1 -1
- package/dist/cloud/AssistantCloudRuns.js +6 -32
- package/dist/cloud/AssistantCloudRuns.js.map +1 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js +12 -38
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/cloud/AssistantCloudThreadMessages.js +4 -30
- package/dist/cloud/AssistantCloudThreadMessages.js.map +1 -1
- package/dist/cloud/AssistantCloudThreads.js +6 -32
- package/dist/cloud/AssistantCloudThreads.js.map +1 -1
- package/dist/cloud/auiV0.js +8 -35
- package/dist/cloud/auiV0.js.map +1 -1
- package/dist/cloud/index.js +4 -31
- package/dist/cloud/index.js.map +1 -1
- package/dist/cloud/useCloudThreadListRuntime.js +7 -33
- package/dist/cloud/useCloudThreadListRuntime.js.map +1 -1
- package/dist/context/ReadonlyStore.js +3 -29
- package/dist/context/ReadonlyStore.js.map +1 -1
- package/dist/context/index.js +3 -28
- package/dist/context/index.js.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.js +31 -53
- package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
- package/dist/context/providers/AttachmentRuntimeProvider.js +16 -42
- package/dist/context/providers/AttachmentRuntimeProvider.js.map +1 -1
- package/dist/context/providers/ContentPartRuntimeProvider.js +16 -42
- package/dist/context/providers/ContentPartRuntimeProvider.js.map +1 -1
- package/dist/context/providers/MessageRuntimeProvider.js +19 -45
- package/dist/context/providers/MessageRuntimeProvider.js.map +1 -1
- package/dist/context/providers/TextContentPartProvider.js +24 -46
- package/dist/context/providers/TextContentPartProvider.js.map +1 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.js +18 -42
- package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +1 -1
- package/dist/context/providers/ThreadRuntimeProvider.js +19 -45
- package/dist/context/providers/ThreadRuntimeProvider.js.map +1 -1
- package/dist/context/providers/ThreadViewportProvider.js +19 -42
- package/dist/context/providers/ThreadViewportProvider.js.map +1 -1
- package/dist/context/providers/index.js +4 -31
- package/dist/context/providers/index.js.map +1 -1
- package/dist/context/react/AssistantContext.js +11 -42
- package/dist/context/react/AssistantContext.js.map +1 -1
- package/dist/context/react/AttachmentContext.js +11 -45
- package/dist/context/react/AttachmentContext.js.map +1 -1
- package/dist/context/react/ComposerContext.js +8 -35
- package/dist/context/react/ComposerContext.js.map +1 -1
- package/dist/context/react/ContentPartContext.js +8 -36
- package/dist/context/react/ContentPartContext.js.map +1 -1
- package/dist/context/react/MessageContext.js +12 -43
- package/dist/context/react/MessageContext.js.map +1 -1
- package/dist/context/react/ThreadContext.js +12 -42
- package/dist/context/react/ThreadContext.js.map +1 -1
- package/dist/context/react/ThreadListItemContext.js +8 -36
- package/dist/context/react/ThreadListItemContext.js.map +1 -1
- package/dist/context/react/ThreadViewportContext.js +8 -36
- package/dist/context/react/ThreadViewportContext.js.map +1 -1
- package/dist/context/react/index.js +38 -62
- package/dist/context/react/index.js.map +1 -1
- package/dist/context/react/utils/createContextHook.js +4 -30
- package/dist/context/react/utils/createContextHook.js.map +1 -1
- package/dist/context/react/utils/createContextStoreHook.js +2 -28
- package/dist/context/react/utils/createContextStoreHook.js.map +1 -1
- package/dist/context/react/utils/createStateHookForRuntime.js +6 -30
- package/dist/context/react/utils/createStateHookForRuntime.js.map +1 -1
- package/dist/context/react/utils/ensureBinding.js +21 -27
- package/dist/context/react/utils/ensureBinding.js.map +1 -1
- package/dist/context/react/utils/useRuntimeState.js +8 -35
- package/dist/context/react/utils/useRuntimeState.js.map +1 -1
- package/dist/context/stores/AssistantToolUIs.js +4 -30
- package/dist/context/stores/AssistantToolUIs.js.map +1 -1
- package/dist/context/stores/MessageUtils.js +4 -30
- package/dist/context/stores/MessageUtils.js.map +1 -1
- package/dist/context/stores/ThreadViewport.js +5 -31
- package/dist/context/stores/ThreadViewport.js.map +1 -1
- package/dist/context/stores/index.js +0 -18
- package/dist/context/stores/index.js.map +1 -1
- package/dist/index.js +10 -54
- package/dist/index.js.map +1 -1
- package/dist/internal.js +16 -51
- package/dist/internal.js.map +1 -1
- package/dist/model-context/ModelContextTypes.d.ts +14 -41
- package/dist/model-context/ModelContextTypes.d.ts.map +1 -1
- package/dist/model-context/ModelContextTypes.js +3 -48
- package/dist/model-context/ModelContextTypes.js.map +1 -1
- package/dist/model-context/index.js +17 -47
- package/dist/model-context/index.js.map +1 -1
- package/dist/model-context/makeAssistantTool.js +5 -31
- package/dist/model-context/makeAssistantTool.js.map +1 -1
- package/dist/model-context/makeAssistantToolUI.js +7 -31
- package/dist/model-context/makeAssistantToolUI.js.map +1 -1
- package/dist/model-context/makeAssistantVisible.d.ts.map +1 -1
- package/dist/model-context/makeAssistantVisible.js +33 -52
- package/dist/model-context/makeAssistantVisible.js.map +1 -1
- package/dist/model-context/tool.d.ts +6 -6
- package/dist/model-context/tool.d.ts.map +1 -1
- package/dist/model-context/tool.js +2 -28
- package/dist/model-context/tool.js.map +1 -1
- package/dist/model-context/useAssistantInstructions.js +8 -34
- package/dist/model-context/useAssistantInstructions.js.map +1 -1
- package/dist/model-context/useAssistantTool.js +12 -35
- package/dist/model-context/useAssistantTool.js.map +1 -1
- package/dist/model-context/useAssistantToolUI.js +7 -33
- package/dist/model-context/useAssistantToolUI.js.map +1 -1
- package/dist/model-context/useInlineRender.js +8 -34
- package/dist/model-context/useInlineRender.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js +24 -47
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.js +12 -36
- package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +17 -43
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +15 -41
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.js +15 -39
- package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.js +15 -38
- package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.js +12 -36
- package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js +21 -44
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
- package/dist/primitives/actionBar/index.js +17 -50
- package/dist/primitives/actionBar/index.js.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.js +13 -37
- package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.js +9 -45
- package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js +11 -47
- package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.js +14 -50
- package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.js +9 -45
- package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
- package/dist/primitives/assistantModal/index.js +9 -38
- package/dist/primitives/assistantModal/index.js.map +1 -1
- package/dist/primitives/assistantModal/scope.js +4 -40
- package/dist/primitives/assistantModal/scope.js.map +1 -1
- package/dist/primitives/attachment/AttachmentName.js +7 -33
- package/dist/primitives/attachment/AttachmentName.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.js +11 -35
- package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.js +7 -33
- package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.js +9 -35
- package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
- package/dist/primitives/attachment/index.js +9 -38
- package/dist/primitives/attachment/index.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.js +8 -34
- package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.js +15 -36
- package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.js +8 -34
- package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.js +15 -36
- package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.js +8 -34
- package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
- package/dist/primitives/branchPicker/index.js +11 -41
- package/dist/primitives/branchPicker/index.js.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.js +12 -36
- package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.js +19 -45
- package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.js +12 -36
- package/dist/primitives/composer/ComposerCancel.js.map +1 -1
- package/dist/primitives/composer/ComposerIf.js +6 -32
- package/dist/primitives/composer/ComposerIf.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +39 -67
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerRoot.js +14 -38
- package/dist/primitives/composer/ComposerRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerSend.js +15 -40
- package/dist/primitives/composer/ComposerSend.js.map +1 -1
- package/dist/primitives/composer/index.js +15 -47
- package/dist/primitives/composer/index.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartImage.js +9 -35
- package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartInProgress.js +5 -31
- package/dist/primitives/contentPart/ContentPartInProgress.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartText.js +11 -35
- package/dist/primitives/contentPart/ContentPartText.js.map +1 -1
- package/dist/primitives/contentPart/index.js +7 -35
- package/dist/primitives/contentPart/index.js.map +1 -1
- package/dist/primitives/contentPart/useContentPartFile.js +5 -31
- package/dist/primitives/contentPart/useContentPartFile.js.map +1 -1
- package/dist/primitives/contentPart/useContentPartImage.js +5 -31
- package/dist/primitives/contentPart/useContentPartImage.js.map +1 -1
- package/dist/primitives/contentPart/useContentPartReasoning.js +5 -31
- package/dist/primitives/contentPart/useContentPartReasoning.js.map +1 -1
- package/dist/primitives/contentPart/useContentPartSource.js +5 -31
- package/dist/primitives/contentPart/useContentPartSource.js.map +1 -1
- package/dist/primitives/contentPart/useContentPartText.js +5 -31
- package/dist/primitives/contentPart/useContentPartText.js.map +1 -1
- package/dist/primitives/index.js +18 -69
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/message/MessageAttachments.js +19 -45
- package/dist/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/primitives/message/MessageContent.js +54 -72
- package/dist/primitives/message/MessageContent.js.map +1 -1
- package/dist/primitives/message/MessageIf.js +12 -35
- package/dist/primitives/message/MessageIf.js.map +1 -1
- package/dist/primitives/message/MessageRoot.js +18 -41
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/message/index.js +9 -38
- package/dist/primitives/message/index.js.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.js +5 -31
- package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
- package/dist/primitives/thread/ThreadIf.js +6 -32
- package/dist/primitives/thread/ThreadIf.js.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js +23 -50
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/ThreadRoot.js +7 -33
- package/dist/primitives/thread/ThreadRoot.js.map +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.js +15 -36
- package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.js +13 -37
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
- package/dist/primitives/thread/ThreadViewport.js +14 -40
- package/dist/primitives/thread/ThreadViewport.js.map +1 -1
- package/dist/primitives/thread/index.js +15 -47
- package/dist/primitives/thread/index.js.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.js +22 -48
- package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.js +14 -40
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.js +14 -40
- package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
- package/dist/primitives/threadList/ThreadListRoot.js +7 -33
- package/dist/primitives/threadList/ThreadListRoot.js.map +1 -1
- package/dist/primitives/threadList/index.js +7 -35
- package/dist/primitives/threadList/index.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.js +11 -35
- package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.js +9 -33
- package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +10 -36
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTitle.js +7 -33
- package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js +9 -33
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +9 -33
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
- package/dist/primitives/threadListItem/index.js +13 -44
- package/dist/primitives/threadListItem/index.js.map +1 -1
- package/dist/runtimes/adapters/RuntimeAdapterProvider.js +10 -37
- package/dist/runtimes/adapters/RuntimeAdapterProvider.js.map +1 -1
- package/dist/runtimes/adapters/attachment/AttachmentAdapter.js +0 -18
- package/dist/runtimes/adapters/attachment/AttachmentAdapter.js.map +1 -1
- package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.js +4 -30
- package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.js.map +1 -1
- package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.js +5 -31
- package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.js.map +1 -1
- package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.js +5 -31
- package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.js.map +1 -1
- package/dist/runtimes/adapters/attachment/index.js +5 -33
- package/dist/runtimes/adapters/attachment/index.js.map +1 -1
- package/dist/runtimes/adapters/feedback/FeedbackAdapter.js +0 -18
- package/dist/runtimes/adapters/feedback/FeedbackAdapter.js.map +1 -1
- package/dist/runtimes/adapters/feedback/index.js +0 -18
- package/dist/runtimes/adapters/feedback/index.js.map +1 -1
- package/dist/runtimes/adapters/index.js +4 -30
- package/dist/runtimes/adapters/index.js.map +1 -1
- package/dist/runtimes/adapters/speech/SpeechAdapterTypes.js +0 -18
- package/dist/runtimes/adapters/speech/SpeechAdapterTypes.js.map +1 -1
- package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.js +4 -30
- package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.js.map +1 -1
- package/dist/runtimes/adapters/speech/index.js +3 -29
- package/dist/runtimes/adapters/speech/index.js.map +1 -1
- package/dist/runtimes/adapters/suggestion/SuggestionAdapter.js +0 -18
- package/dist/runtimes/adapters/suggestion/SuggestionAdapter.js.map +1 -1
- package/dist/runtimes/adapters/suggestion/index.js +0 -18
- package/dist/runtimes/adapters/suggestion/index.js.map +1 -1
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.js +0 -18
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.js.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js +6 -32
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +8 -34
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js +5 -31
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/AssistantRuntimeCore.js +0 -18
- package/dist/runtimes/core/AssistantRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.js +6 -32
- package/dist/runtimes/core/BaseAssistantRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js +14 -38
- package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ComposerRuntimeCore.js +0 -18
- package/dist/runtimes/core/ComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.js +0 -18
- package/dist/runtimes/core/ThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ThreadRuntimeCore.js +0 -18
- package/dist/runtimes/core/ThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/index.js +0 -18
- package/dist/runtimes/core/index.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.js +0 -18
- package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +10 -36
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +9 -35
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +23 -47
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageConverter.js +4 -30
- package/dist/runtimes/external-store/ThreadMessageConverter.js.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.js +8 -34
- package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
- package/dist/runtimes/external-store/auto-status.js +6 -33
- package/dist/runtimes/external-store/auto-status.js.map +1 -1
- package/dist/runtimes/external-store/createMessageConverter.d.ts +5 -1
- package/dist/runtimes/external-store/createMessageConverter.d.ts.map +1 -1
- package/dist/runtimes/external-store/createMessageConverter.js +22 -40
- package/dist/runtimes/external-store/createMessageConverter.js.map +1 -1
- package/dist/runtimes/external-store/external-message-converter.js +30 -54
- package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
- package/dist/runtimes/external-store/getExternalStoreMessage.js +7 -35
- package/dist/runtimes/external-store/getExternalStoreMessage.js.map +1 -1
- package/dist/runtimes/external-store/index.js +14 -39
- package/dist/runtimes/external-store/index.js.map +1 -1
- package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts +2 -2
- package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts.map +1 -1
- package/dist/runtimes/external-store/useExternalStoreRuntime.js +14 -38
- package/dist/runtimes/external-store/useExternalStoreRuntime.js.map +1 -1
- package/dist/runtimes/index.js +8 -40
- package/dist/runtimes/index.js.map +1 -1
- package/dist/runtimes/local/ChatModelAdapter.js +0 -18
- package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.js +11 -37
- package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.js +3 -29
- package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +6 -32
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +11 -37
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/index.js +3 -29
- package/dist/runtimes/local/index.js.map +1 -1
- package/dist/runtimes/local/shouldContinue.js +3 -29
- package/dist/runtimes/local/shouldContinue.js.map +1 -1
- package/dist/runtimes/local/useLocalRuntime.js +18 -44
- package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
- package/dist/runtimes/remote-thread-list/BaseSubscribable.js +4 -30
- package/dist/runtimes/remote-thread-list/BaseSubscribable.js.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +4 -30
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
- package/dist/runtimes/remote-thread-list/OptimisticState.js +6 -32
- package/dist/runtimes/remote-thread-list/OptimisticState.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +33 -50
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +28 -54
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.js +23 -44
- package/dist/runtimes/remote-thread-list/adapter/cloud.js.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/in-memory.js +4 -30
- package/dist/runtimes/remote-thread-list/adapter/in-memory.js.map +1 -1
- package/dist/runtimes/remote-thread-list/index.js +5 -32
- package/dist/runtimes/remote-thread-list/index.js.map +1 -1
- package/dist/runtimes/remote-thread-list/types.js +0 -18
- package/dist/runtimes/remote-thread-list/types.js.map +1 -1
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +13 -39
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
- package/dist/runtimes/utils/MessageRepository.js +14 -41
- package/dist/runtimes/utils/MessageRepository.js.map +1 -1
- package/dist/tests/setup.js +3 -2995
- package/dist/tests/setup.js.map +1 -1
- package/dist/types/AssistantTypes.js +0 -18
- package/dist/types/AssistantTypes.js.map +1 -1
- package/dist/types/AttachmentTypes.js +0 -18
- package/dist/types/AttachmentTypes.js.map +1 -1
- package/dist/types/ContentPartComponentTypes.js +0 -18
- package/dist/types/ContentPartComponentTypes.js.map +1 -1
- package/dist/types/Unsubscribe.js +0 -18
- package/dist/types/Unsubscribe.js.map +1 -1
- package/dist/types/index.js +0 -18
- package/dist/types/index.js.map +1 -1
- package/dist/utils/CompositeContextProvider.js +8 -32
- package/dist/utils/CompositeContextProvider.js.map +1 -1
- package/dist/utils/RequireAtLeastOne.js +0 -18
- package/dist/utils/RequireAtLeastOne.js.map +1 -1
- package/dist/utils/combined/createCombinedStore.js +5 -31
- package/dist/utils/combined/createCombinedStore.js.map +1 -1
- package/dist/utils/combined/useCombinedStore.js +8 -32
- package/dist/utils/combined/useCombinedStore.js.map +1 -1
- package/dist/utils/createActionButton.js +13 -37
- package/dist/utils/createActionButton.js.map +1 -1
- package/dist/utils/getThreadMessageText.js +3 -29
- package/dist/utils/getThreadMessageText.js.map +1 -1
- package/dist/utils/hooks/useManagedRef.js +6 -32
- package/dist/utils/hooks/useManagedRef.js.map +1 -1
- package/dist/utils/hooks/useOnResizeContent.js +9 -35
- package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
- package/dist/utils/hooks/useOnScrollToBottom.js +9 -35
- package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
- package/dist/utils/idUtils.js +7 -35
- package/dist/utils/idUtils.js.map +1 -1
- package/dist/utils/json/is-json.js +2 -30
- package/dist/utils/json/is-json.js.map +1 -1
- package/dist/utils/json/json-value.js +0 -18
- package/dist/utils/json/json-value.js.map +1 -1
- package/dist/utils/smooth/SmoothContext.js +24 -48
- package/dist/utils/smooth/SmoothContext.js.map +1 -1
- package/dist/utils/smooth/index.js +4 -32
- package/dist/utils/smooth/index.js.map +1 -1
- package/dist/utils/smooth/useSmooth.js +23 -49
- package/dist/utils/smooth/useSmooth.js.map +1 -1
- package/dist/utils/useToolArgsFieldStatus.js +8 -34
- package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
- package/package.json +10 -16
- package/src/model-context/ModelContextTypes.ts +14 -21
- package/src/model-context/makeAssistantVisible.tsx +2 -0
- package/src/model-context/tool.ts +6 -12
- package/src/runtimes/external-store/createMessageConverter.tsx +10 -1
- package/src/runtimes/external-store/useExternalStoreRuntime.tsx +7 -2
- package/dist/api/AssistantRuntime.mjs +0 -46
- package/dist/api/AssistantRuntime.mjs.map +0 -1
- package/dist/api/AttachmentRuntime.mjs +0 -59
- package/dist/api/AttachmentRuntime.mjs.map +0 -1
- package/dist/api/ComposerRuntime.mjs +0 -230
- package/dist/api/ComposerRuntime.mjs.map +0 -1
- package/dist/api/ContentPartRuntime.mjs +0 -47
- package/dist/api/ContentPartRuntime.mjs.map +0 -1
- package/dist/api/MessageRuntime.mjs +0 -212
- package/dist/api/MessageRuntime.mjs.map +0 -1
- package/dist/api/RuntimePathTypes.mjs +0 -1
- package/dist/api/RuntimePathTypes.mjs.map +0 -1
- package/dist/api/ThreadListItemRuntime.mjs +0 -71
- package/dist/api/ThreadListItemRuntime.mjs.map +0 -1
- package/dist/api/ThreadListRuntime.mjs +0 -165
- package/dist/api/ThreadListRuntime.mjs.map +0 -1
- package/dist/api/ThreadRuntime.mjs +0 -235
- package/dist/api/ThreadRuntime.mjs.map +0 -1
- package/dist/api/index.mjs +0 -1
- package/dist/api/index.mjs.map +0 -1
- package/dist/api/subscribable/BaseSubject.mjs +0 -32
- package/dist/api/subscribable/BaseSubject.mjs.map +0 -1
- package/dist/api/subscribable/EventSubscriptionSubject.mjs +0 -37
- package/dist/api/subscribable/EventSubscriptionSubject.mjs.map +0 -1
- package/dist/api/subscribable/LazyMemoizeSubject.mjs +0 -37
- package/dist/api/subscribable/LazyMemoizeSubject.mjs.map +0 -1
- package/dist/api/subscribable/NestedSubscriptionSubject.mjs +0 -41
- package/dist/api/subscribable/NestedSubscriptionSubject.mjs.map +0 -1
- package/dist/api/subscribable/SKIP_UPDATE.mjs +0 -6
- package/dist/api/subscribable/SKIP_UPDATE.mjs.map +0 -1
- package/dist/api/subscribable/ShallowMemoizeSubject.mjs +0 -41
- package/dist/api/subscribable/ShallowMemoizeSubject.mjs.map +0 -1
- package/dist/api/subscribable/Subscribable.mjs +0 -1
- package/dist/api/subscribable/Subscribable.mjs.map +0 -1
- package/dist/api/subscribable/shallowEqual.mjs +0 -16
- package/dist/api/subscribable/shallowEqual.mjs.map +0 -1
- package/dist/cloud/AssistantCloud.mjs +0 -22
- package/dist/cloud/AssistantCloud.mjs.map +0 -1
- package/dist/cloud/AssistantCloudAPI.mjs +0 -87
- package/dist/cloud/AssistantCloudAPI.mjs.map +0 -1
- package/dist/cloud/AssistantCloudAuthStrategy.mjs +0 -139
- package/dist/cloud/AssistantCloudAuthStrategy.mjs.map +0 -1
- package/dist/cloud/AssistantCloudAuthTokens.mjs +0 -13
- package/dist/cloud/AssistantCloudAuthTokens.mjs.map +0 -1
- package/dist/cloud/AssistantCloudRuns.mjs +0 -21
- package/dist/cloud/AssistantCloudRuns.mjs.map +0 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.mjs +0 -47
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.mjs.map +0 -1
- package/dist/cloud/AssistantCloudThreadMessages.mjs +0 -21
- package/dist/cloud/AssistantCloudThreadMessages.mjs.map +0 -1
- package/dist/cloud/AssistantCloudThreads.mjs +0 -30
- package/dist/cloud/AssistantCloudThreads.mjs.map +0 -1
- package/dist/cloud/auiV0.mjs +0 -88
- package/dist/cloud/auiV0.mjs.map +0 -1
- package/dist/cloud/index.mjs +0 -8
- package/dist/cloud/index.mjs.map +0 -1
- package/dist/cloud/useCloudThreadListRuntime.mjs +0 -20
- package/dist/cloud/useCloudThreadListRuntime.mjs.map +0 -1
- package/dist/context/ReadonlyStore.mjs +0 -8
- package/dist/context/ReadonlyStore.mjs.map +0 -1
- package/dist/context/index.mjs +0 -5
- package/dist/context/index.mjs.map +0 -1
- package/dist/context/providers/AssistantRuntimeProvider.mjs +0 -59
- package/dist/context/providers/AssistantRuntimeProvider.mjs.map +0 -1
- package/dist/context/providers/AttachmentRuntimeProvider.mjs +0 -33
- package/dist/context/providers/AttachmentRuntimeProvider.mjs.map +0 -1
- package/dist/context/providers/ContentPartRuntimeProvider.mjs +0 -28
- package/dist/context/providers/ContentPartRuntimeProvider.mjs.map +0 -1
- package/dist/context/providers/MessageRuntimeProvider.mjs +0 -37
- package/dist/context/providers/MessageRuntimeProvider.mjs.map +0 -1
- package/dist/context/providers/TextContentPartProvider.mjs +0 -66
- package/dist/context/providers/TextContentPartProvider.mjs.map +0 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.mjs +0 -30
- package/dist/context/providers/ThreadListItemRuntimeProvider.mjs.map +0 -1
- package/dist/context/providers/ThreadRuntimeProvider.mjs +0 -33
- package/dist/context/providers/ThreadRuntimeProvider.mjs.map +0 -1
- package/dist/context/providers/ThreadViewportProvider.mjs +0 -42
- package/dist/context/providers/ThreadViewportProvider.mjs.map +0 -1
- package/dist/context/providers/index.mjs +0 -8
- package/dist/context/providers/index.mjs.map +0 -1
- package/dist/context/react/AssistantContext.mjs +0 -34
- package/dist/context/react/AssistantContext.mjs.map +0 -1
- package/dist/context/react/AttachmentContext.mjs +0 -67
- package/dist/context/react/AttachmentContext.mjs.map +0 -1
- package/dist/context/react/ComposerContext.mjs +0 -17
- package/dist/context/react/ComposerContext.mjs.map +0 -1
- package/dist/context/react/ContentPartContext.mjs +0 -25
- package/dist/context/react/ContentPartContext.mjs.map +0 -1
- package/dist/context/react/MessageContext.mjs +0 -35
- package/dist/context/react/MessageContext.mjs.map +0 -1
- package/dist/context/react/ThreadContext.mjs +0 -38
- package/dist/context/react/ThreadContext.mjs.map +0 -1
- package/dist/context/react/ThreadListItemContext.mjs +0 -25
- package/dist/context/react/ThreadListItemContext.mjs.map +0 -1
- package/dist/context/react/ThreadViewportContext.mjs +0 -18
- package/dist/context/react/ThreadViewportContext.mjs.map +0 -1
- package/dist/context/react/index.mjs +0 -66
- package/dist/context/react/index.mjs.map +0 -1
- package/dist/context/react/utils/createContextHook.mjs +0 -18
- package/dist/context/react/utils/createContextHook.mjs.map +0 -1
- package/dist/context/react/utils/createContextStoreHook.mjs +0 -31
- package/dist/context/react/utils/createContextStoreHook.mjs.map +0 -1
- package/dist/context/react/utils/createStateHookForRuntime.mjs +0 -24
- package/dist/context/react/utils/createStateHookForRuntime.mjs.map +0 -1
- package/dist/context/react/utils/ensureBinding.mjs +0 -11
- package/dist/context/react/utils/ensureBinding.mjs.map +0 -1
- package/dist/context/react/utils/useRuntimeState.mjs +0 -22
- package/dist/context/react/utils/useRuntimeState.mjs.map +0 -1
- package/dist/context/stores/AssistantToolUIs.mjs +0 -35
- package/dist/context/stores/AssistantToolUIs.mjs.map +0 -1
- package/dist/context/stores/MessageUtils.mjs +0 -18
- package/dist/context/stores/MessageUtils.mjs.map +0 -1
- package/dist/context/stores/ThreadViewport.mjs +0 -25
- package/dist/context/stores/ThreadViewport.mjs.map +0 -1
- package/dist/context/stores/index.mjs +0 -1
- package/dist/context/stores/index.mjs.map +0 -1
- package/dist/index.mjs +0 -13
- package/dist/index.mjs.map +0 -1
- package/dist/internal.mjs +0 -27
- package/dist/internal.mjs.map +0 -1
- package/dist/model-context/ModelContextTypes.mjs +0 -61
- package/dist/model-context/ModelContextTypes.mjs.map +0 -1
- package/dist/model-context/index.mjs +0 -26
- package/dist/model-context/index.mjs.map +0 -1
- package/dist/model-context/makeAssistantTool.mjs +0 -16
- package/dist/model-context/makeAssistantTool.mjs.map +0 -1
- package/dist/model-context/makeAssistantToolUI.mjs +0 -18
- package/dist/model-context/makeAssistantToolUI.mjs.map +0 -1
- package/dist/model-context/makeAssistantVisible.mjs +0 -93
- package/dist/model-context/makeAssistantVisible.mjs.map +0 -1
- package/dist/model-context/tool.mjs +0 -8
- package/dist/model-context/tool.mjs.map +0 -1
- package/dist/model-context/useAssistantInstructions.mjs +0 -26
- package/dist/model-context/useAssistantInstructions.mjs.map +0 -1
- package/dist/model-context/useAssistantTool.mjs +0 -31
- package/dist/model-context/useAssistantTool.mjs.map +0 -1
- package/dist/model-context/useAssistantToolUI.mjs +0 -16
- package/dist/model-context/useAssistantToolUI.mjs.map +0 -1
- package/dist/model-context/useInlineRender.mjs +0 -22
- package/dist/model-context/useInlineRender.mjs.map +0 -1
- package/dist/primitives/actionBar/ActionBarCopy.mjs +0 -56
- package/dist/primitives/actionBar/ActionBarCopy.mjs.map +0 -1
- package/dist/primitives/actionBar/ActionBarEdit.mjs +0 -25
- package/dist/primitives/actionBar/ActionBarEdit.mjs.map +0 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs +0 -41
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs.map +0 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs +0 -39
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs.map +0 -1
- package/dist/primitives/actionBar/ActionBarReload.mjs +0 -31
- package/dist/primitives/actionBar/ActionBarReload.mjs.map +0 -1
- package/dist/primitives/actionBar/ActionBarRoot.mjs +0 -31
- package/dist/primitives/actionBar/ActionBarRoot.mjs.map +0 -1
- package/dist/primitives/actionBar/ActionBarSpeak.mjs +0 -27
- package/dist/primitives/actionBar/ActionBarSpeak.mjs.map +0 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs +0 -48
- package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs.map +0 -1
- package/dist/primitives/actionBar/index.mjs +0 -20
- package/dist/primitives/actionBar/index.mjs.map +0 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.mjs +0 -41
- package/dist/primitives/actionBar/useActionBarFloatStatus.mjs.map +0 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.mjs +0 -21
- package/dist/primitives/assistantModal/AssistantModalAnchor.mjs.map +0 -1
- package/dist/primitives/assistantModal/AssistantModalContent.mjs +0 -39
- package/dist/primitives/assistantModal/AssistantModalContent.mjs.map +0 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.mjs +0 -60
- package/dist/primitives/assistantModal/AssistantModalRoot.mjs.map +0 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.mjs +0 -19
- package/dist/primitives/assistantModal/AssistantModalTrigger.mjs.map +0 -1
- package/dist/primitives/assistantModal/index.mjs +0 -12
- package/dist/primitives/assistantModal/index.mjs.map +0 -1
- package/dist/primitives/assistantModal/scope.mjs +0 -7
- package/dist/primitives/assistantModal/scope.mjs.map +0 -1
- package/dist/primitives/attachment/AttachmentName.mjs +0 -14
- package/dist/primitives/attachment/AttachmentName.mjs.map +0 -1
- package/dist/primitives/attachment/AttachmentRemove.mjs +0 -23
- package/dist/primitives/attachment/AttachmentRemove.mjs.map +0 -1
- package/dist/primitives/attachment/AttachmentRoot.mjs +0 -12
- package/dist/primitives/attachment/AttachmentRoot.mjs.map +0 -1
- package/dist/primitives/attachment/AttachmentThumb.mjs +0 -19
- package/dist/primitives/attachment/AttachmentThumb.mjs.map +0 -1
- package/dist/primitives/attachment/index.mjs +0 -12
- package/dist/primitives/attachment/index.mjs.map +0 -1
- package/dist/primitives/branchPicker/BranchPickerCount.mjs +0 -18
- package/dist/primitives/branchPicker/BranchPickerCount.mjs.map +0 -1
- package/dist/primitives/branchPicker/BranchPickerNext.mjs +0 -28
- package/dist/primitives/branchPicker/BranchPickerNext.mjs.map +0 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.mjs +0 -18
- package/dist/primitives/branchPicker/BranchPickerNumber.mjs.map +0 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.mjs +0 -28
- package/dist/primitives/branchPicker/BranchPickerPrevious.mjs.map +0 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.mjs +0 -13
- package/dist/primitives/branchPicker/BranchPickerRoot.mjs.map +0 -1
- package/dist/primitives/branchPicker/index.mjs +0 -14
- package/dist/primitives/branchPicker/index.mjs.map +0 -1
- package/dist/primitives/composer/ComposerAddAttachment.mjs +0 -42
- package/dist/primitives/composer/ComposerAddAttachment.mjs.map +0 -1
- package/dist/primitives/composer/ComposerAttachments.mjs +0 -57
- package/dist/primitives/composer/ComposerAttachments.mjs.map +0 -1
- package/dist/primitives/composer/ComposerCancel.mjs +0 -25
- package/dist/primitives/composer/ComposerCancel.mjs.map +0 -1
- package/dist/primitives/composer/ComposerIf.mjs +0 -23
- package/dist/primitives/composer/ComposerIf.mjs.map +0 -1
- package/dist/primitives/composer/ComposerInput.mjs +0 -115
- package/dist/primitives/composer/ComposerInput.mjs.map +0 -1
- package/dist/primitives/composer/ComposerRoot.mjs +0 -31
- package/dist/primitives/composer/ComposerRoot.mjs.map +0 -1
- package/dist/primitives/composer/ComposerSend.mjs +0 -32
- package/dist/primitives/composer/ComposerSend.mjs.map +0 -1
- package/dist/primitives/composer/index.mjs +0 -18
- package/dist/primitives/composer/index.mjs.map +0 -1
- package/dist/primitives/contentPart/ContentPartImage.mjs +0 -16
- package/dist/primitives/contentPart/ContentPartImage.mjs.map +0 -1
- package/dist/primitives/contentPart/ContentPartInProgress.mjs +0 -13
- package/dist/primitives/contentPart/ContentPartInProgress.mjs.map +0 -1
- package/dist/primitives/contentPart/ContentPartText.mjs +0 -18
- package/dist/primitives/contentPart/ContentPartText.mjs.map +0 -1
- package/dist/primitives/contentPart/index.mjs +0 -10
- package/dist/primitives/contentPart/index.mjs.map +0 -1
- package/dist/primitives/contentPart/useContentPartFile.mjs +0 -18
- package/dist/primitives/contentPart/useContentPartFile.mjs.map +0 -1
- package/dist/primitives/contentPart/useContentPartImage.mjs +0 -18
- package/dist/primitives/contentPart/useContentPartImage.mjs.map +0 -1
- package/dist/primitives/contentPart/useContentPartReasoning.mjs +0 -18
- package/dist/primitives/contentPart/useContentPartReasoning.mjs.map +0 -1
- package/dist/primitives/contentPart/useContentPartSource.mjs +0 -18
- package/dist/primitives/contentPart/useContentPartSource.mjs.map +0 -1
- package/dist/primitives/contentPart/useContentPartText.mjs +0 -18
- package/dist/primitives/contentPart/useContentPartText.mjs.map +0 -1
- package/dist/primitives/index.mjs +0 -36
- package/dist/primitives/index.mjs.map +0 -1
- package/dist/primitives/message/MessageAttachments.mjs +0 -58
- package/dist/primitives/message/MessageAttachments.mjs.map +0 -1
- package/dist/primitives/message/MessageContent.mjs +0 -131
- package/dist/primitives/message/MessageContent.mjs.map +0 -1
- package/dist/primitives/message/MessageIf.mjs +0 -55
- package/dist/primitives/message/MessageIf.mjs.map +0 -1
- package/dist/primitives/message/MessageRoot.mjs +0 -45
- package/dist/primitives/message/MessageRoot.mjs.map +0 -1
- package/dist/primitives/message/index.mjs +0 -12
- package/dist/primitives/message/index.mjs.map +0 -1
- package/dist/primitives/thread/ThreadEmpty.mjs +0 -15
- package/dist/primitives/thread/ThreadEmpty.mjs.map +0 -1
- package/dist/primitives/thread/ThreadIf.mjs +0 -27
- package/dist/primitives/thread/ThreadIf.mjs.map +0 -1
- package/dist/primitives/thread/ThreadMessages.mjs +0 -77
- package/dist/primitives/thread/ThreadMessages.mjs.map +0 -1
- package/dist/primitives/thread/ThreadRoot.mjs +0 -12
- package/dist/primitives/thread/ThreadRoot.mjs.map +0 -1
- package/dist/primitives/thread/ThreadScrollToBottom.mjs +0 -28
- package/dist/primitives/thread/ThreadScrollToBottom.mjs.map +0 -1
- package/dist/primitives/thread/ThreadSuggestion.mjs +0 -34
- package/dist/primitives/thread/ThreadSuggestion.mjs.map +0 -1
- package/dist/primitives/thread/ThreadViewport.mjs +0 -25
- package/dist/primitives/thread/ThreadViewport.mjs.map +0 -1
- package/dist/primitives/thread/index.mjs +0 -18
- package/dist/primitives/thread/index.mjs.map +0 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.mjs +0 -68
- package/dist/primitives/thread/useThreadViewportAutoScroll.mjs.map +0 -1
- package/dist/primitives/threadList/ThreadListItems.mjs +0 -46
- package/dist/primitives/threadList/ThreadListItems.mjs.map +0 -1
- package/dist/primitives/threadList/ThreadListNew.mjs +0 -36
- package/dist/primitives/threadList/ThreadListNew.mjs.map +0 -1
- package/dist/primitives/threadList/ThreadListRoot.mjs +0 -12
- package/dist/primitives/threadList/ThreadListRoot.mjs.map +0 -1
- package/dist/primitives/threadList/index.mjs +0 -10
- package/dist/primitives/threadList/index.mjs.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.mjs +0 -22
- package/dist/primitives/threadListItem/ThreadListItemArchive.mjs.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.mjs +0 -21
- package/dist/primitives/threadListItem/ThreadListItemDelete.mjs.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.mjs +0 -23
- package/dist/primitives/threadListItem/ThreadListItemRoot.mjs.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemTitle.mjs +0 -14
- package/dist/primitives/threadListItem/ThreadListItemTitle.mjs.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.mjs +0 -21
- package/dist/primitives/threadListItem/ThreadListItemTrigger.mjs.map +0 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.mjs +0 -21
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.mjs.map +0 -1
- package/dist/primitives/threadListItem/index.mjs +0 -16
- package/dist/primitives/threadListItem/index.mjs.map +0 -1
- package/dist/runtimes/adapters/RuntimeAdapterProvider.mjs +0 -29
- package/dist/runtimes/adapters/RuntimeAdapterProvider.mjs.map +0 -1
- package/dist/runtimes/adapters/attachment/AttachmentAdapter.mjs +0 -1
- package/dist/runtimes/adapters/attachment/AttachmentAdapter.mjs.map +0 -1
- package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.mjs +0 -79
- package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.mjs.map +0 -1
- package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.mjs +0 -38
- package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.mjs.map +0 -1
- package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.mjs +0 -40
- package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.mjs.map +0 -1
- package/dist/runtimes/adapters/attachment/index.mjs +0 -10
- package/dist/runtimes/adapters/attachment/index.mjs.map +0 -1
- package/dist/runtimes/adapters/feedback/FeedbackAdapter.mjs +0 -1
- package/dist/runtimes/adapters/feedback/FeedbackAdapter.mjs.map +0 -1
- package/dist/runtimes/adapters/feedback/index.mjs +0 -1
- package/dist/runtimes/adapters/feedback/index.mjs.map +0 -1
- package/dist/runtimes/adapters/index.mjs +0 -6
- package/dist/runtimes/adapters/index.mjs.map +0 -1
- package/dist/runtimes/adapters/speech/SpeechAdapterTypes.mjs +0 -1
- package/dist/runtimes/adapters/speech/SpeechAdapterTypes.mjs.map +0 -1
- package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.mjs +0 -43
- package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.mjs.map +0 -1
- package/dist/runtimes/adapters/speech/index.mjs +0 -6
- package/dist/runtimes/adapters/speech/index.mjs.map +0 -1
- package/dist/runtimes/adapters/suggestion/SuggestionAdapter.mjs +0 -1
- package/dist/runtimes/adapters/suggestion/SuggestionAdapter.mjs.map +0 -1
- package/dist/runtimes/adapters/suggestion/index.mjs +0 -1
- package/dist/runtimes/adapters/suggestion/index.mjs.map +0 -1
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.mjs +0 -1
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.mjs.map +0 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs +0 -163
- package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs +0 -48
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.mjs +0 -41
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/core/AssistantRuntimeCore.mjs +0 -1
- package/dist/runtimes/core/AssistantRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs +0 -12
- package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.mjs +0 -141
- package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/core/ComposerRuntimeCore.mjs +0 -1
- package/dist/runtimes/core/ComposerRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.mjs +0 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/core/ThreadRuntimeCore.mjs +0 -1
- package/dist/runtimes/core/ThreadRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/core/index.mjs +0 -1
- package/dist/runtimes/core/index.mjs.map +0 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.mjs +0 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.mjs.map +0 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +0 -25
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs +0 -134
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs +0 -191
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/external-store/ThreadMessageConverter.mjs +0 -16
- package/dist/runtimes/external-store/ThreadMessageConverter.mjs.map +0 -1
- package/dist/runtimes/external-store/ThreadMessageLike.mjs +0 -111
- package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +0 -1
- package/dist/runtimes/external-store/auto-status.mjs +0 -13
- package/dist/runtimes/external-store/auto-status.mjs.map +0 -1
- package/dist/runtimes/external-store/createMessageConverter.mjs +0 -52
- package/dist/runtimes/external-store/createMessageConverter.mjs.map +0 -1
- package/dist/runtimes/external-store/external-message-converter.mjs +0 -238
- package/dist/runtimes/external-store/external-message-converter.mjs.map +0 -1
- package/dist/runtimes/external-store/getExternalStoreMessage.mjs +0 -24
- package/dist/runtimes/external-store/getExternalStoreMessage.mjs.map +0 -1
- package/dist/runtimes/external-store/index.mjs +0 -20
- package/dist/runtimes/external-store/index.mjs.map +0 -1
- package/dist/runtimes/external-store/useExternalStoreRuntime.mjs +0 -23
- package/dist/runtimes/external-store/useExternalStoreRuntime.mjs.map +0 -1
- package/dist/runtimes/index.mjs +0 -11
- package/dist/runtimes/index.mjs.map +0 -1
- package/dist/runtimes/local/ChatModelAdapter.mjs +0 -1
- package/dist/runtimes/local/ChatModelAdapter.mjs.map +0 -1
- package/dist/runtimes/local/LocalRuntimeCore.mjs +0 -24
- package/dist/runtimes/local/LocalRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/local/LocalRuntimeOptions.mjs +0 -25
- package/dist/runtimes/local/LocalRuntimeOptions.mjs.map +0 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs +0 -72
- package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +0 -309
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/local/index.mjs +0 -6
- package/dist/runtimes/local/index.mjs.map +0 -1
- package/dist/runtimes/local/shouldContinue.mjs +0 -13
- package/dist/runtimes/local/shouldContinue.mjs.map +0 -1
- package/dist/runtimes/local/useLocalRuntime.mjs +0 -46
- package/dist/runtimes/local/useLocalRuntime.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/BaseSubscribable.mjs +0 -37
- package/dist/runtimes/remote-thread-list/BaseSubscribable.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.mjs +0 -128
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/OptimisticState.mjs +0 -60
- package/dist/runtimes/remote-thread-list/OptimisticState.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs +0 -128
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs +0 -431
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.mjs +0 -83
- package/dist/runtimes/remote-thread-list/adapter/cloud.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/adapter/in-memory.mjs +0 -30
- package/dist/runtimes/remote-thread-list/adapter/in-memory.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/index.mjs +0 -8
- package/dist/runtimes/remote-thread-list/index.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/types.mjs +0 -1
- package/dist/runtimes/remote-thread-list/types.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +0 -32
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +0 -1
- package/dist/runtimes/utils/MessageRepository.mjs +0 -345
- package/dist/runtimes/utils/MessageRepository.mjs.map +0 -1
- package/dist/tests/MessageRepository.test.d.ts +0 -2
- package/dist/tests/MessageRepository.test.d.ts.map +0 -1
- package/dist/tests/setup.mjs +0 -2974
- package/dist/tests/setup.mjs.map +0 -1
- package/dist/types/AssistantTypes.mjs +0 -1
- package/dist/types/AssistantTypes.mjs.map +0 -1
- package/dist/types/AttachmentTypes.mjs +0 -1
- package/dist/types/AttachmentTypes.mjs.map +0 -1
- package/dist/types/ContentPartComponentTypes.mjs +0 -1
- package/dist/types/ContentPartComponentTypes.mjs.map +0 -1
- package/dist/types/Unsubscribe.mjs +0 -1
- package/dist/types/Unsubscribe.mjs.map +0 -1
- package/dist/types/index.mjs +0 -1
- package/dist/types/index.mjs.map +0 -1
- package/dist/utils/CompositeContextProvider.mjs +0 -34
- package/dist/utils/CompositeContextProvider.mjs.map +0 -1
- package/dist/utils/RequireAtLeastOne.mjs +0 -1
- package/dist/utils/RequireAtLeastOne.mjs.map +0 -1
- package/dist/utils/combined/createCombinedStore.mjs +0 -22
- package/dist/utils/combined/createCombinedStore.mjs.map +0 -1
- package/dist/utils/combined/useCombinedStore.mjs +0 -15
- package/dist/utils/combined/useCombinedStore.mjs.map +0 -1
- package/dist/utils/createActionButton.mjs +0 -37
- package/dist/utils/createActionButton.mjs.map +0 -1
- package/dist/utils/getThreadMessageText.mjs +0 -11
- package/dist/utils/getThreadMessageText.mjs.map +0 -1
- package/dist/utils/hooks/useManagedRef.mjs +0 -21
- package/dist/utils/hooks/useManagedRef.mjs.map +0 -1
- package/dist/utils/hooks/useOnResizeContent.mjs +0 -34
- package/dist/utils/hooks/useOnResizeContent.mjs.map +0 -1
- package/dist/utils/hooks/useOnScrollToBottom.mjs +0 -17
- package/dist/utils/hooks/useOnScrollToBottom.mjs.map +0 -1
- package/dist/utils/idUtils.mjs +0 -15
- package/dist/utils/idUtils.mjs.map +0 -1
- package/dist/utils/json/is-json.mjs +0 -35
- package/dist/utils/json/is-json.mjs.map +0 -1
- package/dist/utils/json/json-value.mjs +0 -1
- package/dist/utils/json/json-value.mjs.map +0 -1
- package/dist/utils/smooth/SmoothContext.mjs +0 -53
- package/dist/utils/smooth/SmoothContext.mjs.map +0 -1
- package/dist/utils/smooth/index.mjs +0 -11
- package/dist/utils/smooth/index.mjs.map +0 -1
- package/dist/utils/smooth/useSmooth.mjs +0 -114
- package/dist/utils/smooth/useSmooth.mjs.map +0 -1
- package/dist/utils/useToolArgsFieldStatus.mjs +0 -20
- package/dist/utils/useToolArgsFieldStatus.mjs.map +0 -1
@@ -1,41 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
return to;
|
17
|
-
};
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
-
|
20
|
-
// src/api/MessageRuntime.ts
|
21
|
-
var MessageRuntime_exports = {};
|
22
|
-
__export(MessageRuntime_exports, {
|
23
|
-
MessageRuntimeImpl: () => MessageRuntimeImpl,
|
24
|
-
toContentPartStatus: () => toContentPartStatus
|
25
|
-
});
|
26
|
-
module.exports = __toCommonJS(MessageRuntime_exports);
|
27
|
-
var import_getExternalStoreMessage = require("../runtimes/external-store/getExternalStoreMessage.js");
|
28
|
-
var import_getThreadMessageText = require("../utils/getThreadMessageText.js");
|
29
|
-
var import_AttachmentRuntime = require("./AttachmentRuntime.js");
|
30
|
-
var import_ComposerRuntime = require("./ComposerRuntime.js");
|
31
|
-
var import_ContentPartRuntime = require("./ContentPartRuntime.js");
|
32
|
-
var import_NestedSubscriptionSubject = require("./subscribable/NestedSubscriptionSubject.js");
|
33
|
-
var import_SKIP_UPDATE = require("./subscribable/SKIP_UPDATE.js");
|
34
|
-
var import_ShallowMemoizeSubject = require("./subscribable/ShallowMemoizeSubject.js");
|
35
|
-
var COMPLETE_STATUS = Object.freeze({
|
1
|
+
import { symbolInnerMessage } from "../runtimes/external-store/getExternalStoreMessage";
|
2
|
+
import { getThreadMessageText } from "../utils/getThreadMessageText";
|
3
|
+
import {
|
4
|
+
MessageAttachmentRuntimeImpl
|
5
|
+
} from "./AttachmentRuntime";
|
6
|
+
import {
|
7
|
+
EditComposerRuntimeImpl
|
8
|
+
} from "./ComposerRuntime";
|
9
|
+
import {
|
10
|
+
ContentPartRuntimeImpl
|
11
|
+
} from "./ContentPartRuntime";
|
12
|
+
import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject";
|
13
|
+
import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE";
|
14
|
+
import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject";
|
15
|
+
const COMPLETE_STATUS = Object.freeze({
|
36
16
|
type: "complete"
|
37
17
|
});
|
38
|
-
|
18
|
+
const toContentPartStatus = (message, partIndex, part) => {
|
39
19
|
if (message.role !== "assistant") return COMPLETE_STATUS;
|
40
20
|
if (part.type === "tool-call") {
|
41
21
|
if (!part.result) {
|
@@ -48,24 +28,24 @@ var toContentPartStatus = (message, partIndex, part) => {
|
|
48
28
|
if (message.status.type === "requires-action") return COMPLETE_STATUS;
|
49
29
|
return isLastPart ? message.status : COMPLETE_STATUS;
|
50
30
|
};
|
51
|
-
|
31
|
+
const getContentPartState = (message, partIndex) => {
|
52
32
|
const part = message.content[partIndex];
|
53
33
|
if (!part) {
|
54
|
-
return
|
34
|
+
return SKIP_UPDATE;
|
55
35
|
}
|
56
36
|
const status = toContentPartStatus(message, partIndex, part);
|
57
37
|
return Object.freeze({
|
58
38
|
...part,
|
59
|
-
...{ [
|
39
|
+
...{ [symbolInnerMessage]: part[symbolInnerMessage] },
|
60
40
|
status
|
61
41
|
});
|
62
42
|
};
|
63
|
-
|
43
|
+
class MessageRuntimeImpl {
|
64
44
|
constructor(_core, _threadBinding) {
|
65
45
|
this._core = _core;
|
66
46
|
this._threadBinding = _threadBinding;
|
67
|
-
this.composer = new
|
68
|
-
new
|
47
|
+
this.composer = new EditComposerRuntimeImpl(
|
48
|
+
new NestedSubscriptionSubject({
|
69
49
|
path: {
|
70
50
|
...this.path,
|
71
51
|
ref: this.path.ref + `${this.path.ref}.composer`,
|
@@ -156,15 +136,15 @@ var MessageRuntimeImpl = class {
|
|
156
136
|
this._threadBinding.getState().switchToBranch(targetBranch);
|
157
137
|
}
|
158
138
|
unstable_getCopyText() {
|
159
|
-
return
|
139
|
+
return getThreadMessageText(this.getState());
|
160
140
|
}
|
161
141
|
subscribe(callback) {
|
162
142
|
return this._core.subscribe(callback);
|
163
143
|
}
|
164
144
|
getContentPartByIndex(idx) {
|
165
145
|
if (idx < 0) throw new Error("Content part index must be >= 0");
|
166
|
-
return new
|
167
|
-
new
|
146
|
+
return new ContentPartRuntimeImpl(
|
147
|
+
new ShallowMemoizeSubject({
|
168
148
|
path: {
|
169
149
|
...this.path,
|
170
150
|
ref: this.path.ref + `${this.path.ref}.content[${idx}]`,
|
@@ -180,8 +160,8 @@ var MessageRuntimeImpl = class {
|
|
180
160
|
);
|
181
161
|
}
|
182
162
|
getContentPartByToolCallId(toolCallId) {
|
183
|
-
return new
|
184
|
-
new
|
163
|
+
return new ContentPartRuntimeImpl(
|
164
|
+
new ShallowMemoizeSubject({
|
185
165
|
path: {
|
186
166
|
...this.path,
|
187
167
|
ref: this.path.ref + `${this.path.ref}.content[toolCallId=${JSON.stringify(toolCallId)}]`,
|
@@ -192,7 +172,7 @@ var MessageRuntimeImpl = class {
|
|
192
172
|
const idx = state.content.findIndex(
|
193
173
|
(part) => part.type === "tool-call" && part.toolCallId === toolCallId
|
194
174
|
);
|
195
|
-
if (idx === -1) return
|
175
|
+
if (idx === -1) return SKIP_UPDATE;
|
196
176
|
return getContentPartState(state, idx);
|
197
177
|
},
|
198
178
|
subscribe: (callback) => this._core.subscribe(callback)
|
@@ -202,8 +182,8 @@ var MessageRuntimeImpl = class {
|
|
202
182
|
);
|
203
183
|
}
|
204
184
|
getAttachmentByIndex(idx) {
|
205
|
-
return new
|
206
|
-
new
|
185
|
+
return new MessageAttachmentRuntimeImpl(
|
186
|
+
new ShallowMemoizeSubject({
|
207
187
|
path: {
|
208
188
|
...this.path,
|
209
189
|
ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,
|
@@ -213,7 +193,7 @@ var MessageRuntimeImpl = class {
|
|
213
193
|
getState: () => {
|
214
194
|
const attachments = this.getState().attachments;
|
215
195
|
const attachment = attachments?.[idx];
|
216
|
-
if (!attachment) return
|
196
|
+
if (!attachment) return SKIP_UPDATE;
|
217
197
|
return {
|
218
198
|
...attachment,
|
219
199
|
source: "message"
|
@@ -223,10 +203,9 @@ var MessageRuntimeImpl = class {
|
|
223
203
|
})
|
224
204
|
);
|
225
205
|
}
|
226
|
-
}
|
227
|
-
|
228
|
-
0 && (module.exports = {
|
206
|
+
}
|
207
|
+
export {
|
229
208
|
MessageRuntimeImpl,
|
230
209
|
toContentPartStatus
|
231
|
-
}
|
210
|
+
};
|
232
211
|
//# sourceMappingURL=MessageRuntime.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/api/MessageRuntime.ts"],"sourcesContent":["import {\n SpeechState,\n SubmittedFeedback,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { symbolInnerMessage } from \"../runtimes/external-store/getExternalStoreMessage\";\nimport {\n ThreadMessage,\n ThreadAssistantContentPart,\n ThreadUserContentPart,\n Unsubscribe,\n} from \"../types\";\nimport {\n ContentPartStatus,\n RunConfig,\n ToolCallContentPartStatus,\n} from \"../types/AssistantTypes\";\nimport { getThreadMessageText } from \"../utils/getThreadMessageText\";\nimport {\n AttachmentRuntime,\n AttachmentState,\n MessageAttachmentRuntimeImpl,\n} from \"./AttachmentRuntime\";\nimport {\n EditComposerRuntime,\n EditComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport {\n ContentPartRuntime,\n ContentPartRuntimeImpl,\n ContentPartState,\n} from \"./ContentPartRuntime\";\nimport { MessageRuntimePath } from \"./RuntimePathTypes\";\nimport { ThreadRuntimeCoreBinding } from \"./ThreadRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\n\nconst COMPLETE_STATUS: ContentPartStatus = Object.freeze({\n type: \"complete\",\n});\n\nexport const toContentPartStatus = (\n message: ThreadMessage,\n partIndex: number,\n part: ThreadUserContentPart | ThreadAssistantContentPart,\n): ToolCallContentPartStatus => {\n if (message.role !== \"assistant\") return COMPLETE_STATUS;\n\n if (part.type === \"tool-call\") {\n if (!part.result) {\n return message.status as ToolCallContentPartStatus;\n } else {\n return COMPLETE_STATUS;\n }\n }\n\n const isLastPart = partIndex === Math.max(0, message.content.length - 1);\n if (message.status.type === \"requires-action\") return COMPLETE_STATUS;\n return isLastPart ? (message.status as ContentPartStatus) : COMPLETE_STATUS;\n};\n\nconst getContentPartState = (\n message: MessageState,\n partIndex: number,\n): ContentPartState | SKIP_UPDATE => {\n const part = message.content[partIndex];\n if (!part) {\n return SKIP_UPDATE;\n }\n\n // if the content part is the same, don't update\n const status = toContentPartStatus(message, partIndex, part);\n return Object.freeze({\n ...part,\n ...{ [symbolInnerMessage]: (part as any)[symbolInnerMessage] },\n status,\n });\n};\n\nexport type MessageState = ThreadMessage & {\n readonly parentId: string | null;\n readonly isLast: boolean;\n\n readonly branchNumber: number;\n readonly branchCount: number;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n readonly submittedFeedback: SubmittedFeedback | undefined;\n};\n\nexport type MessageStateBinding = SubscribableWithState<\n MessageState,\n MessageRuntimePath\n>;\n\ntype ReloadConfig = {\n runConfig?: RunConfig;\n};\n\nexport type MessageRuntime = {\n readonly path: MessageRuntimePath;\n\n readonly composer: EditComposerRuntime;\n\n getState(): MessageState;\n reload(config?: ReloadConfig): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speak(): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking(): void;\n submitFeedback({ type }: { type: \"positive\" | \"negative\" }): void;\n switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }): void;\n unstable_getCopyText(): string;\n\n subscribe(callback: () => void): Unsubscribe;\n\n getContentPartByIndex(idx: number): ContentPartRuntime;\n getContentPartByToolCallId(toolCallId: string): ContentPartRuntime;\n\n getAttachmentByIndex(idx: number): AttachmentRuntime & { source: \"message\" };\n};\n\nexport class MessageRuntimeImpl implements MessageRuntime {\n public get path() {\n return this._core.path;\n }\n\n constructor(\n private _core: MessageStateBinding,\n private _threadBinding: ThreadRuntimeCoreBinding,\n ) {\n this.composer = new EditComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"edit\",\n },\n getState: this._getEditComposerRuntimeCore,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n () => this._threadBinding.getState().beginEdit(this._core.getState().id),\n );\n }\n\n protected __internal_bindMethods() {\n this.reload = this.reload.bind(this);\n this.getState = this.getState.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.getContentPartByIndex = this.getContentPartByIndex.bind(this);\n this.getContentPartByToolCallId =\n this.getContentPartByToolCallId.bind(this);\n this.getAttachmentByIndex = this.getAttachmentByIndex.bind(this);\n this.unstable_getCopyText = this.unstable_getCopyText.bind(this);\n this.speak = this.speak.bind(this);\n this.stopSpeaking = this.stopSpeaking.bind(this);\n this.submitFeedback = this.submitFeedback.bind(this);\n this.switchToBranch = this.switchToBranch.bind(this);\n }\n\n public readonly composer;\n\n private _getEditComposerRuntimeCore = () => {\n return this._threadBinding\n .getState()\n .getEditComposer(this._core.getState().id);\n };\n\n public getState() {\n return this._core.getState();\n }\n\n public reload(reloadConfig: ReloadConfig = {}) {\n const editComposerRuntimeCore = this._getEditComposerRuntimeCore();\n const composerRuntimeCore =\n editComposerRuntimeCore ?? this._threadBinding.getState().composer;\n const composer = editComposerRuntimeCore ?? composerRuntimeCore;\n\n const { runConfig = composer.runConfig } = reloadConfig;\n const state = this._core.getState();\n if (state.role !== \"assistant\")\n throw new Error(\"Can only reload assistant messages\");\n\n this._threadBinding.getState().startRun({\n parentId: state.parentId,\n sourceId: state.id,\n runConfig,\n });\n }\n\n public speak() {\n const state = this._core.getState();\n return this._threadBinding.getState().speak(state.id);\n }\n\n public stopSpeaking() {\n const state = this._core.getState();\n const thread = this._threadBinding.getState();\n if (thread.speech?.messageId === state.id) {\n this._threadBinding.getState().stopSpeaking();\n } else {\n throw new Error(\"Message is not being spoken\");\n }\n }\n\n public submitFeedback({ type }: { type: \"positive\" | \"negative\" }) {\n const state = this._core.getState();\n this._threadBinding.getState().submitFeedback({\n messageId: state.id,\n type,\n });\n }\n\n public switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }) {\n const state = this._core.getState();\n if (branchId && position) {\n throw new Error(\"May not specify both branchId and position\");\n } else if (!branchId && !position) {\n throw new Error(\"Must specify either branchId or position\");\n }\n\n const thread = this._threadBinding.getState();\n const branches = thread.getBranches(state.id);\n let targetBranch = branchId;\n if (position === \"previous\") {\n targetBranch = branches[state.branchNumber - 2];\n } else if (position === \"next\") {\n targetBranch = branches[state.branchNumber];\n }\n if (!targetBranch) throw new Error(\"Branch not found\");\n\n this._threadBinding.getState().switchToBranch(targetBranch);\n }\n\n public unstable_getCopyText() {\n return getThreadMessageText(this.getState());\n }\n\n public subscribe(callback: () => void) {\n return this._core.subscribe(callback);\n }\n\n public getContentPartByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Content part index must be >= 0\");\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.content[${idx}]`,\n contentPartSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n return getContentPartState(this.getState(), idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getContentPartByToolCallId(toolCallId: string) {\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.content[toolCallId=${JSON.stringify(toolCallId)}]`,\n contentPartSelector: { type: \"toolCallId\", toolCallId },\n },\n getState: () => {\n const state = this._core.getState();\n const idx = state.content.findIndex(\n (part) =>\n part.type === \"tool-call\" && part.toolCallId === toolCallId,\n );\n if (idx === -1) return SKIP_UPDATE;\n return getContentPartState(state, idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getAttachmentByIndex(idx: number) {\n return new MessageAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n attachmentSource: \"message\",\n attachmentSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments?.[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n source: \"message\",\n } satisfies AttachmentState & { source: \"message\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n );\n }\n}\n"],"mappings":"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","names":[]}
|
1
|
+
{"version":3,"sources":["../../src/api/MessageRuntime.ts"],"sourcesContent":["import {\n SpeechState,\n SubmittedFeedback,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { symbolInnerMessage } from \"../runtimes/external-store/getExternalStoreMessage\";\nimport {\n ThreadMessage,\n ThreadAssistantContentPart,\n ThreadUserContentPart,\n Unsubscribe,\n} from \"../types\";\nimport {\n ContentPartStatus,\n RunConfig,\n ToolCallContentPartStatus,\n} from \"../types/AssistantTypes\";\nimport { getThreadMessageText } from \"../utils/getThreadMessageText\";\nimport {\n AttachmentRuntime,\n AttachmentState,\n MessageAttachmentRuntimeImpl,\n} from \"./AttachmentRuntime\";\nimport {\n EditComposerRuntime,\n EditComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport {\n ContentPartRuntime,\n ContentPartRuntimeImpl,\n ContentPartState,\n} from \"./ContentPartRuntime\";\nimport { MessageRuntimePath } from \"./RuntimePathTypes\";\nimport { ThreadRuntimeCoreBinding } from \"./ThreadRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\n\nconst COMPLETE_STATUS: ContentPartStatus = Object.freeze({\n type: \"complete\",\n});\n\nexport const toContentPartStatus = (\n message: ThreadMessage,\n partIndex: number,\n part: ThreadUserContentPart | ThreadAssistantContentPart,\n): ToolCallContentPartStatus => {\n if (message.role !== \"assistant\") return COMPLETE_STATUS;\n\n if (part.type === \"tool-call\") {\n if (!part.result) {\n return message.status as ToolCallContentPartStatus;\n } else {\n return COMPLETE_STATUS;\n }\n }\n\n const isLastPart = partIndex === Math.max(0, message.content.length - 1);\n if (message.status.type === \"requires-action\") return COMPLETE_STATUS;\n return isLastPart ? (message.status as ContentPartStatus) : COMPLETE_STATUS;\n};\n\nconst getContentPartState = (\n message: MessageState,\n partIndex: number,\n): ContentPartState | SKIP_UPDATE => {\n const part = message.content[partIndex];\n if (!part) {\n return SKIP_UPDATE;\n }\n\n // if the content part is the same, don't update\n const status = toContentPartStatus(message, partIndex, part);\n return Object.freeze({\n ...part,\n ...{ [symbolInnerMessage]: (part as any)[symbolInnerMessage] },\n status,\n });\n};\n\nexport type MessageState = ThreadMessage & {\n readonly parentId: string | null;\n readonly isLast: boolean;\n\n readonly branchNumber: number;\n readonly branchCount: number;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n readonly submittedFeedback: SubmittedFeedback | undefined;\n};\n\nexport type MessageStateBinding = SubscribableWithState<\n MessageState,\n MessageRuntimePath\n>;\n\ntype ReloadConfig = {\n runConfig?: RunConfig;\n};\n\nexport type MessageRuntime = {\n readonly path: MessageRuntimePath;\n\n readonly composer: EditComposerRuntime;\n\n getState(): MessageState;\n reload(config?: ReloadConfig): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speak(): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking(): void;\n submitFeedback({ type }: { type: \"positive\" | \"negative\" }): void;\n switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }): void;\n unstable_getCopyText(): string;\n\n subscribe(callback: () => void): Unsubscribe;\n\n getContentPartByIndex(idx: number): ContentPartRuntime;\n getContentPartByToolCallId(toolCallId: string): ContentPartRuntime;\n\n getAttachmentByIndex(idx: number): AttachmentRuntime & { source: \"message\" };\n};\n\nexport class MessageRuntimeImpl implements MessageRuntime {\n public get path() {\n return this._core.path;\n }\n\n constructor(\n private _core: MessageStateBinding,\n private _threadBinding: ThreadRuntimeCoreBinding,\n ) {\n this.composer = new EditComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"edit\",\n },\n getState: this._getEditComposerRuntimeCore,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n () => this._threadBinding.getState().beginEdit(this._core.getState().id),\n );\n }\n\n protected __internal_bindMethods() {\n this.reload = this.reload.bind(this);\n this.getState = this.getState.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.getContentPartByIndex = this.getContentPartByIndex.bind(this);\n this.getContentPartByToolCallId =\n this.getContentPartByToolCallId.bind(this);\n this.getAttachmentByIndex = this.getAttachmentByIndex.bind(this);\n this.unstable_getCopyText = this.unstable_getCopyText.bind(this);\n this.speak = this.speak.bind(this);\n this.stopSpeaking = this.stopSpeaking.bind(this);\n this.submitFeedback = this.submitFeedback.bind(this);\n this.switchToBranch = this.switchToBranch.bind(this);\n }\n\n public readonly composer;\n\n private _getEditComposerRuntimeCore = () => {\n return this._threadBinding\n .getState()\n .getEditComposer(this._core.getState().id);\n };\n\n public getState() {\n return this._core.getState();\n }\n\n public reload(reloadConfig: ReloadConfig = {}) {\n const editComposerRuntimeCore = this._getEditComposerRuntimeCore();\n const composerRuntimeCore =\n editComposerRuntimeCore ?? this._threadBinding.getState().composer;\n const composer = editComposerRuntimeCore ?? composerRuntimeCore;\n\n const { runConfig = composer.runConfig } = reloadConfig;\n const state = this._core.getState();\n if (state.role !== \"assistant\")\n throw new Error(\"Can only reload assistant messages\");\n\n this._threadBinding.getState().startRun({\n parentId: state.parentId,\n sourceId: state.id,\n runConfig,\n });\n }\n\n public speak() {\n const state = this._core.getState();\n return this._threadBinding.getState().speak(state.id);\n }\n\n public stopSpeaking() {\n const state = this._core.getState();\n const thread = this._threadBinding.getState();\n if (thread.speech?.messageId === state.id) {\n this._threadBinding.getState().stopSpeaking();\n } else {\n throw new Error(\"Message is not being spoken\");\n }\n }\n\n public submitFeedback({ type }: { type: \"positive\" | \"negative\" }) {\n const state = this._core.getState();\n this._threadBinding.getState().submitFeedback({\n messageId: state.id,\n type,\n });\n }\n\n public switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }) {\n const state = this._core.getState();\n if (branchId && position) {\n throw new Error(\"May not specify both branchId and position\");\n } else if (!branchId && !position) {\n throw new Error(\"Must specify either branchId or position\");\n }\n\n const thread = this._threadBinding.getState();\n const branches = thread.getBranches(state.id);\n let targetBranch = branchId;\n if (position === \"previous\") {\n targetBranch = branches[state.branchNumber - 2];\n } else if (position === \"next\") {\n targetBranch = branches[state.branchNumber];\n }\n if (!targetBranch) throw new Error(\"Branch not found\");\n\n this._threadBinding.getState().switchToBranch(targetBranch);\n }\n\n public unstable_getCopyText() {\n return getThreadMessageText(this.getState());\n }\n\n public subscribe(callback: () => void) {\n return this._core.subscribe(callback);\n }\n\n public getContentPartByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Content part index must be >= 0\");\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.content[${idx}]`,\n contentPartSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n return getContentPartState(this.getState(), idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getContentPartByToolCallId(toolCallId: string) {\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.content[toolCallId=${JSON.stringify(toolCallId)}]`,\n contentPartSelector: { type: \"toolCallId\", toolCallId },\n },\n getState: () => {\n const state = this._core.getState();\n const idx = state.content.findIndex(\n (part) =>\n part.type === \"tool-call\" && part.toolCallId === toolCallId,\n );\n if (idx === -1) return SKIP_UPDATE;\n return getContentPartState(state, idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getAttachmentByIndex(idx: number) {\n return new MessageAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n attachmentSource: \"message\",\n attachmentSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments?.[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n source: \"message\",\n } satisfies AttachmentState & { source: \"message\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n );\n }\n}\n"],"mappings":"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","names":[]}
|
@@ -1,19 +1 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __defProp = Object.defineProperty;
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
-
var __copyProps = (to, from, except, desc) => {
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
8
|
-
for (let key of __getOwnPropNames(from))
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
11
|
-
}
|
12
|
-
return to;
|
13
|
-
};
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
15
|
-
|
16
|
-
// src/api/RuntimePathTypes.ts
|
17
|
-
var RuntimePathTypes_exports = {};
|
18
|
-
module.exports = __toCommonJS(RuntimePathTypes_exports);
|
19
1
|
//# sourceMappingURL=RuntimePathTypes.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":[
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
@@ -1,29 +1,4 @@
|
|
1
|
-
|
2
|
-
var __defProp = Object.defineProperty;
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
-
var __export = (target, all) => {
|
7
|
-
for (var name in all)
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
-
};
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
-
for (let key of __getOwnPropNames(from))
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
-
}
|
16
|
-
return to;
|
17
|
-
};
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
-
|
20
|
-
// src/api/ThreadListItemRuntime.ts
|
21
|
-
var ThreadListItemRuntime_exports = {};
|
22
|
-
__export(ThreadListItemRuntime_exports, {
|
23
|
-
ThreadListItemRuntimeImpl: () => ThreadListItemRuntimeImpl
|
24
|
-
});
|
25
|
-
module.exports = __toCommonJS(ThreadListItemRuntime_exports);
|
26
|
-
var ThreadListItemRuntimeImpl = class {
|
1
|
+
class ThreadListItemRuntimeImpl {
|
27
2
|
constructor(_core, _threadListBinding) {
|
28
3
|
this._core = _core;
|
29
4
|
this._threadListBinding = _threadListBinding;
|
@@ -88,9 +63,8 @@ var ThreadListItemRuntimeImpl = class {
|
|
88
63
|
subscribe(callback) {
|
89
64
|
return this._core.subscribe(callback);
|
90
65
|
}
|
91
|
-
}
|
92
|
-
|
93
|
-
0 && (module.exports = {
|
66
|
+
}
|
67
|
+
export {
|
94
68
|
ThreadListItemRuntimeImpl
|
95
|
-
}
|
69
|
+
};
|
96
70
|
//# sourceMappingURL=ThreadListItemRuntime.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/api/ThreadListItemRuntime.ts"],"sourcesContent":["import { Unsubscribe } from \"../types\";\nimport { ThreadListItemRuntimePath } from \"./RuntimePathTypes\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { ThreadListRuntimeCoreBinding } from \"./ThreadListRuntime\";\n\nexport type ThreadListItemEventType = \"switched-to\" | \"switched-away\";\n\nexport type ThreadListItemState = {\n readonly isMain: boolean;\n\n readonly id: string;\n readonly remoteId: string | undefined;\n readonly externalId: string | undefined;\n\n /**\n * @deprecated This field was renamed to `id`. This field will be removed in 0.8.0.\n */\n readonly threadId: string;\n\n readonly status: \"archived\" | \"regular\" | \"new\" | \"deleted\";\n readonly title?: string | undefined;\n};\n\nexport type ThreadListItemRuntime = {\n readonly path: ThreadListItemRuntimePath;\n getState(): ThreadListItemState;\n\n initialize(): Promise<{ remoteId: string; externalId: string | undefined }>;\n generateTitle(): Promise<void>;\n\n switchTo(): Promise<void>;\n rename(newTitle: string): Promise<void>;\n archive(): Promise<void>;\n unarchive(): Promise<void>;\n delete(): Promise<void>;\n\n subscribe(callback: () => void): Unsubscribe;\n\n unstable_on(\n event: ThreadListItemEventType,\n callback: () => void,\n ): Unsubscribe;\n};\n\nexport type ThreadListItemStateBinding = SubscribableWithState<\n ThreadListItemState,\n ThreadListItemRuntimePath\n>;\n\nexport class ThreadListItemRuntimeImpl implements ThreadListItemRuntime {\n public get path() {\n return this._core.path;\n }\n\n constructor(\n private _core: ThreadListItemStateBinding,\n private _threadListBinding: ThreadListRuntimeCoreBinding,\n ) {}\n\n protected __internal_bindMethods() {\n this.switchTo = this.switchTo.bind(this);\n this.rename = this.rename.bind(this);\n this.archive = this.archive.bind(this);\n this.unarchive = this.unarchive.bind(this);\n this.delete = this.delete.bind(this);\n this.initialize = this.initialize.bind(this);\n this.generateTitle = this.generateTitle.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.unstable_on = this.unstable_on.bind(this);\n this.getState = this.getState.bind(this);\n }\n\n public getState(): ThreadListItemState {\n return this._core.getState();\n }\n\n public switchTo(): Promise<void> {\n const state = this._core.getState();\n return this._threadListBinding.switchToThread(state.id);\n }\n\n public rename(newTitle: string): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.rename(state.id, newTitle);\n }\n\n public archive(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.archive(state.id);\n }\n\n public unarchive(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.unarchive(state.id);\n }\n\n public delete(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.delete(state.id);\n }\n\n public initialize(): Promise<{\n remoteId: string;\n externalId: string | undefined;\n }> {\n const state = this._core.getState();\n return this._threadListBinding.initialize(state.id);\n }\n\n public generateTitle(): Promise<void> {\n const state = this._core.getState();\n return this._threadListBinding.generateTitle(state.id);\n }\n\n public unstable_on(event: ThreadListItemEventType, callback: () => void) {\n let prevIsMain = this._core.getState().isMain;\n return this.subscribe(() => {\n const newIsMain = this._core.getState().isMain;\n if (prevIsMain === newIsMain) return;\n prevIsMain = newIsMain;\n\n if (event === \"switched-to\" && !newIsMain) return;\n if (event === \"switched-away\" && newIsMain) return;\n callback();\n });\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n}\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../src/api/ThreadListItemRuntime.ts"],"sourcesContent":["import { Unsubscribe } from \"../types\";\nimport { ThreadListItemRuntimePath } from \"./RuntimePathTypes\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { ThreadListRuntimeCoreBinding } from \"./ThreadListRuntime\";\n\nexport type ThreadListItemEventType = \"switched-to\" | \"switched-away\";\n\nexport type ThreadListItemState = {\n readonly isMain: boolean;\n\n readonly id: string;\n readonly remoteId: string | undefined;\n readonly externalId: string | undefined;\n\n /**\n * @deprecated This field was renamed to `id`. This field will be removed in 0.8.0.\n */\n readonly threadId: string;\n\n readonly status: \"archived\" | \"regular\" | \"new\" | \"deleted\";\n readonly title?: string | undefined;\n};\n\nexport type ThreadListItemRuntime = {\n readonly path: ThreadListItemRuntimePath;\n getState(): ThreadListItemState;\n\n initialize(): Promise<{ remoteId: string; externalId: string | undefined }>;\n generateTitle(): Promise<void>;\n\n switchTo(): Promise<void>;\n rename(newTitle: string): Promise<void>;\n archive(): Promise<void>;\n unarchive(): Promise<void>;\n delete(): Promise<void>;\n\n subscribe(callback: () => void): Unsubscribe;\n\n unstable_on(\n event: ThreadListItemEventType,\n callback: () => void,\n ): Unsubscribe;\n};\n\nexport type ThreadListItemStateBinding = SubscribableWithState<\n ThreadListItemState,\n ThreadListItemRuntimePath\n>;\n\nexport class ThreadListItemRuntimeImpl implements ThreadListItemRuntime {\n public get path() {\n return this._core.path;\n }\n\n constructor(\n private _core: ThreadListItemStateBinding,\n private _threadListBinding: ThreadListRuntimeCoreBinding,\n ) {}\n\n protected __internal_bindMethods() {\n this.switchTo = this.switchTo.bind(this);\n this.rename = this.rename.bind(this);\n this.archive = this.archive.bind(this);\n this.unarchive = this.unarchive.bind(this);\n this.delete = this.delete.bind(this);\n this.initialize = this.initialize.bind(this);\n this.generateTitle = this.generateTitle.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.unstable_on = this.unstable_on.bind(this);\n this.getState = this.getState.bind(this);\n }\n\n public getState(): ThreadListItemState {\n return this._core.getState();\n }\n\n public switchTo(): Promise<void> {\n const state = this._core.getState();\n return this._threadListBinding.switchToThread(state.id);\n }\n\n public rename(newTitle: string): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.rename(state.id, newTitle);\n }\n\n public archive(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.archive(state.id);\n }\n\n public unarchive(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.unarchive(state.id);\n }\n\n public delete(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.delete(state.id);\n }\n\n public initialize(): Promise<{\n remoteId: string;\n externalId: string | undefined;\n }> {\n const state = this._core.getState();\n return this._threadListBinding.initialize(state.id);\n }\n\n public generateTitle(): Promise<void> {\n const state = this._core.getState();\n return this._threadListBinding.generateTitle(state.id);\n }\n\n public unstable_on(event: ThreadListItemEventType, callback: () => void) {\n let prevIsMain = this._core.getState().isMain;\n return this.subscribe(() => {\n const newIsMain = this._core.getState().isMain;\n if (prevIsMain === newIsMain) return;\n prevIsMain = newIsMain;\n\n if (event === \"switched-to\" && !newIsMain) return;\n if (event === \"switched-away\" && newIsMain) return;\n callback();\n });\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n}\n"],"mappings":"AAiDO,MAAM,0BAA2D;AAAA,EAKtE,YACU,OACA,oBACR;AAFQ;AACA;AAAA,EACP;AAAA,EAPH,IAAW,OAAO;AAChB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAOU,yBAAyB;AACjC,SAAK,WAAW,KAAK,SAAS,KAAK,IAAI;AACvC,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,UAAU,KAAK,QAAQ,KAAK,IAAI;AACrC,SAAK,YAAY,KAAK,UAAU,KAAK,IAAI;AACzC,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAC3C,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,YAAY,KAAK,UAAU,KAAK,IAAI;AACzC,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,WAAW,KAAK,SAAS,KAAK,IAAI;AAAA,EACzC;AAAA,EAEO,WAAgC;AACrC,WAAO,KAAK,MAAM,SAAS;AAAA,EAC7B;AAAA,EAEO,WAA0B;AAC/B,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,WAAO,KAAK,mBAAmB,eAAe,MAAM,EAAE;AAAA,EACxD;AAAA,EAEO,OAAO,UAAiC;AAC7C,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,OAAO,MAAM,IAAI,QAAQ;AAAA,EAC1D;AAAA,EAEO,UAAyB;AAC9B,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,QAAQ,MAAM,EAAE;AAAA,EACjD;AAAA,EAEO,YAA2B;AAChC,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,UAAU,MAAM,EAAE;AAAA,EACnD;AAAA,EAEO,SAAwB;AAC7B,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,OAAO,MAAM,EAAE;AAAA,EAChD;AAAA,EAEO,aAGJ;AACD,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,WAAO,KAAK,mBAAmB,WAAW,MAAM,EAAE;AAAA,EACpD;AAAA,EAEO,gBAA+B;AACpC,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,WAAO,KAAK,mBAAmB,cAAc,MAAM,EAAE;AAAA,EACvD;AAAA,EAEO,YAAY,OAAgC,UAAsB;AACvE,QAAI,aAAa,KAAK,MAAM,SAAS,EAAE;AACvC,WAAO,KAAK,UAAU,MAAM;AAC1B,YAAM,YAAY,KAAK,MAAM,SAAS,EAAE;AACxC,UAAI,eAAe,UAAW;AAC9B,mBAAa;AAEb,UAAI,UAAU,iBAAiB,CAAC,UAAW;AAC3C,UAAI,UAAU,mBAAmB,UAAW;AAC5C,eAAS;AAAA,IACX,CAAC;AAAA,EACH;AAAA,EAEO,UAAU,UAAmC;AAClD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AACF;","names":[]}
|
@@ -1,35 +1,14 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
};
|
10
|
-
|
11
|
-
|
12
|
-
for (let key of __getOwnPropNames(from))
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
-
}
|
16
|
-
return to;
|
17
|
-
};
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
-
|
20
|
-
// src/api/ThreadListRuntime.ts
|
21
|
-
var ThreadListRuntime_exports = {};
|
22
|
-
__export(ThreadListRuntime_exports, {
|
23
|
-
ThreadListRuntimeImpl: () => ThreadListRuntimeImpl
|
24
|
-
});
|
25
|
-
module.exports = __toCommonJS(ThreadListRuntime_exports);
|
26
|
-
var import_LazyMemoizeSubject = require("./subscribable/LazyMemoizeSubject.js");
|
27
|
-
var import_ThreadListItemRuntime = require("./ThreadListItemRuntime.js");
|
28
|
-
var import_SKIP_UPDATE = require("./subscribable/SKIP_UPDATE.js");
|
29
|
-
var import_ShallowMemoizeSubject = require("./subscribable/ShallowMemoizeSubject.js");
|
30
|
-
var import_ThreadRuntime = require("./ThreadRuntime.js");
|
31
|
-
var import_NestedSubscriptionSubject = require("./subscribable/NestedSubscriptionSubject.js");
|
32
|
-
var getThreadListState = (threadList) => {
|
1
|
+
import { LazyMemoizeSubject } from "./subscribable/LazyMemoizeSubject";
|
2
|
+
import {
|
3
|
+
ThreadListItemRuntimeImpl
|
4
|
+
} from "./ThreadListItemRuntime";
|
5
|
+
import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE";
|
6
|
+
import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject";
|
7
|
+
import {
|
8
|
+
ThreadRuntimeImpl
|
9
|
+
} from "./ThreadRuntime";
|
10
|
+
import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject";
|
11
|
+
const getThreadListState = (threadList) => {
|
33
12
|
return {
|
34
13
|
mainThreadId: threadList.mainThreadId,
|
35
14
|
newThread: threadList.newThreadId,
|
@@ -37,10 +16,10 @@ var getThreadListState = (threadList) => {
|
|
37
16
|
archivedThreads: threadList.archivedThreadIds
|
38
17
|
};
|
39
18
|
};
|
40
|
-
|
41
|
-
if (threadId === void 0) return
|
19
|
+
const getThreadListItemState = (threadList, threadId) => {
|
20
|
+
if (threadId === void 0) return SKIP_UPDATE;
|
42
21
|
const threadData = threadList.getItemById(threadId);
|
43
|
-
if (!threadData) return
|
22
|
+
if (!threadData) return SKIP_UPDATE;
|
44
23
|
return {
|
45
24
|
id: threadData.threadId,
|
46
25
|
threadId: threadData.threadId,
|
@@ -52,18 +31,18 @@ var getThreadListItemState = (threadList, threadId) => {
|
|
52
31
|
isMain: threadData.threadId === threadList.mainThreadId
|
53
32
|
};
|
54
33
|
};
|
55
|
-
|
56
|
-
constructor(_core, _runtimeFactory =
|
34
|
+
class ThreadListRuntimeImpl {
|
35
|
+
constructor(_core, _runtimeFactory = ThreadRuntimeImpl) {
|
57
36
|
this._core = _core;
|
58
37
|
this._runtimeFactory = _runtimeFactory;
|
59
|
-
const stateBinding = new
|
38
|
+
const stateBinding = new LazyMemoizeSubject({
|
60
39
|
path: {},
|
61
40
|
getState: () => getThreadListState(_core),
|
62
41
|
subscribe: (callback) => _core.subscribe(callback)
|
63
42
|
});
|
64
43
|
this._getState = stateBinding.getState.bind(stateBinding);
|
65
|
-
this._mainThreadListItemRuntime = new
|
66
|
-
new
|
44
|
+
this._mainThreadListItemRuntime = new ThreadListItemRuntimeImpl(
|
45
|
+
new ShallowMemoizeSubject({
|
67
46
|
path: {
|
68
47
|
ref: `threadItems[main]`,
|
69
48
|
threadSelector: { type: "main" }
|
@@ -76,7 +55,7 @@ var ThreadListRuntimeImpl = class {
|
|
76
55
|
this._core
|
77
56
|
);
|
78
57
|
this.main = new _runtimeFactory(
|
79
|
-
new
|
58
|
+
new NestedSubscriptionSubject({
|
80
59
|
path: {
|
81
60
|
ref: "threads.main",
|
82
61
|
threadSelector: { type: "main" }
|
@@ -118,7 +97,7 @@ var ThreadListRuntimeImpl = class {
|
|
118
97
|
}
|
119
98
|
getById(threadId) {
|
120
99
|
return new this._runtimeFactory(
|
121
|
-
new
|
100
|
+
new NestedSubscriptionSubject({
|
122
101
|
path: {
|
123
102
|
ref: "threads[threadId=" + JSON.stringify(threadId) + "]",
|
124
103
|
threadSelector: { type: "threadId", threadId }
|
@@ -131,8 +110,8 @@ var ThreadListRuntimeImpl = class {
|
|
131
110
|
);
|
132
111
|
}
|
133
112
|
getItemByIndex(idx) {
|
134
|
-
return new
|
135
|
-
new
|
113
|
+
return new ThreadListItemRuntimeImpl(
|
114
|
+
new ShallowMemoizeSubject({
|
136
115
|
path: {
|
137
116
|
ref: `threadItems[${idx}]`,
|
138
117
|
threadSelector: { type: "index", index: idx }
|
@@ -146,8 +125,8 @@ var ThreadListRuntimeImpl = class {
|
|
146
125
|
);
|
147
126
|
}
|
148
127
|
getArchivedItemByIndex(idx) {
|
149
|
-
return new
|
150
|
-
new
|
128
|
+
return new ThreadListItemRuntimeImpl(
|
129
|
+
new ShallowMemoizeSubject({
|
151
130
|
path: {
|
152
131
|
ref: `archivedThreadItems[${idx}]`,
|
153
132
|
threadSelector: { type: "archiveIndex", index: idx }
|
@@ -164,8 +143,8 @@ var ThreadListRuntimeImpl = class {
|
|
164
143
|
);
|
165
144
|
}
|
166
145
|
getItemById(threadId) {
|
167
|
-
return new
|
168
|
-
new
|
146
|
+
return new ThreadListItemRuntimeImpl(
|
147
|
+
new ShallowMemoizeSubject({
|
169
148
|
path: {
|
170
149
|
ref: `threadItems[threadId=${threadId}]`,
|
171
150
|
threadSelector: { type: "threadId", threadId }
|
@@ -178,9 +157,8 @@ var ThreadListRuntimeImpl = class {
|
|
178
157
|
this._core
|
179
158
|
);
|
180
159
|
}
|
181
|
-
}
|
182
|
-
|
183
|
-
0 && (module.exports = {
|
160
|
+
}
|
161
|
+
export {
|
184
162
|
ThreadListRuntimeImpl
|
185
|
-
}
|
163
|
+
};
|
186
164
|
//# sourceMappingURL=ThreadListRuntime.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/api/ThreadListRuntime.ts"],"sourcesContent":["import { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { ThreadListRuntimeCore } from \"../runtimes/core/ThreadListRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport {\n ThreadListItemRuntime,\n ThreadListItemRuntimeImpl,\n ThreadListItemState,\n} from \"./ThreadListItemRuntime\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport {\n ThreadListItemRuntimeBinding,\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\n\nexport type ThreadListState = {\n readonly mainThreadId: string;\n readonly newThread: string | undefined;\n readonly threads: readonly string[];\n readonly archivedThreads: readonly string[];\n};\n\nexport type ThreadListRuntime = {\n getState(): ThreadListState;\n\n subscribe(callback: () => void): Unsubscribe;\n\n readonly main: ThreadRuntime;\n getById(threadId: string): ThreadRuntime;\n\n readonly mainItem: ThreadListItemRuntime;\n getItemById(threadId: string): ThreadListItemRuntime;\n getItemByIndex(idx: number): ThreadListItemRuntime;\n getArchivedItemByIndex(idx: number): ThreadListItemRuntime;\n\n switchToThread(threadId: string): Promise<void>;\n switchToNewThread(): Promise<void>;\n};\n\nconst getThreadListState = (\n threadList: ThreadListRuntimeCore,\n): ThreadListState => {\n return {\n mainThreadId: threadList.mainThreadId,\n newThread: threadList.newThreadId,\n threads: threadList.threadIds,\n archivedThreads: threadList.archivedThreadIds,\n };\n};\n\nconst getThreadListItemState = (\n threadList: ThreadListRuntimeCore,\n threadId: string | undefined,\n): ThreadListItemState | SKIP_UPDATE => {\n if (threadId === undefined) return SKIP_UPDATE;\n\n const threadData = threadList.getItemById(threadId);\n if (!threadData) return SKIP_UPDATE;\n return {\n id: threadData.threadId,\n threadId: threadData.threadId, // TODO remove in 0.8.0\n remoteId: threadData.remoteId,\n externalId: threadData.externalId,\n title: threadData.title,\n status: threadData.status,\n isMain: threadData.threadId === threadList.mainThreadId,\n };\n};\n\nexport type ThreadListRuntimeCoreBinding = ThreadListRuntimeCore;\n\nexport class ThreadListRuntimeImpl implements ThreadListRuntime {\n private _getState;\n constructor(\n private _core: ThreadListRuntimeCoreBinding,\n private _runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: {},\n getState: () => getThreadListState(_core),\n subscribe: (callback) => _core.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n\n this._mainThreadListItemRuntime = new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[main]`,\n threadSelector: { type: \"main\" },\n },\n getState: () => {\n return getThreadListItemState(this._core, this._core.mainThreadId);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n\n this.main = new _runtimeFactory(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads.main\",\n threadSelector: { type: \"main\" },\n },\n getState: () => _core.getMainThreadRuntimeCore(),\n subscribe: (callback) => _core.subscribe(callback),\n }),\n this._mainThreadListItemRuntime, // TODO capture \"main\" threadListItem from context around useLocalRuntime / useExternalStoreRuntime\n );\n }\n\n protected __internal_bindMethods() {\n this.switchToThread = this.switchToThread.bind(this);\n this.switchToNewThread = this.switchToNewThread.bind(this);\n this.getState = this.getState.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.getById = this.getById.bind(this);\n this.getItemById = this.getItemById.bind(this);\n this.getItemByIndex = this.getItemByIndex.bind(this);\n this.getArchivedItemByIndex = this.getArchivedItemByIndex.bind(this);\n }\n\n public switchToThread(threadId: string): Promise<void> {\n return this._core.switchToThread(threadId);\n }\n\n public switchToNewThread(): Promise<void> {\n return this._core.switchToNewThread();\n }\n\n public getState(): ThreadListState {\n return this._getState();\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n\n private _mainThreadListItemRuntime;\n\n public readonly main: ThreadRuntime;\n\n public get mainItem() {\n return this._mainThreadListItemRuntime;\n }\n\n public getById(threadId: string) {\n return new this._runtimeFactory(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads[threadId=\" + JSON.stringify(threadId) + \"]\",\n threadSelector: { type: \"threadId\", threadId },\n },\n getState: () => this._core.getThreadRuntimeCore(threadId),\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this.mainItem, // TODO capture \"main\" threadListItem from context around useLocalRuntime / useExternalStoreRuntime\n );\n }\n\n public getItemByIndex(idx: number) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[${idx}]`,\n threadSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n return getThreadListItemState(this._core, this._core.threadIds[idx]);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n\n public getArchivedItemByIndex(idx: number) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `archivedThreadItems[${idx}]`,\n threadSelector: { type: \"archiveIndex\", index: idx },\n },\n getState: () => {\n return getThreadListItemState(\n this._core,\n this._core.archivedThreadIds[idx],\n );\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n\n public getItemById(threadId: string) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[threadId=${threadId}]`,\n threadSelector: { type: \"threadId\", threadId },\n },\n getState: () => {\n return getThreadListItemState(this._core, threadId);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n"],"mappings":"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","names":[]}
|
1
|
+
{"version":3,"sources":["../../src/api/ThreadListRuntime.ts"],"sourcesContent":["import { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { ThreadListRuntimeCore } from \"../runtimes/core/ThreadListRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport {\n ThreadListItemRuntime,\n ThreadListItemRuntimeImpl,\n ThreadListItemState,\n} from \"./ThreadListItemRuntime\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport {\n ThreadListItemRuntimeBinding,\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\n\nexport type ThreadListState = {\n readonly mainThreadId: string;\n readonly newThread: string | undefined;\n readonly threads: readonly string[];\n readonly archivedThreads: readonly string[];\n};\n\nexport type ThreadListRuntime = {\n getState(): ThreadListState;\n\n subscribe(callback: () => void): Unsubscribe;\n\n readonly main: ThreadRuntime;\n getById(threadId: string): ThreadRuntime;\n\n readonly mainItem: ThreadListItemRuntime;\n getItemById(threadId: string): ThreadListItemRuntime;\n getItemByIndex(idx: number): ThreadListItemRuntime;\n getArchivedItemByIndex(idx: number): ThreadListItemRuntime;\n\n switchToThread(threadId: string): Promise<void>;\n switchToNewThread(): Promise<void>;\n};\n\nconst getThreadListState = (\n threadList: ThreadListRuntimeCore,\n): ThreadListState => {\n return {\n mainThreadId: threadList.mainThreadId,\n newThread: threadList.newThreadId,\n threads: threadList.threadIds,\n archivedThreads: threadList.archivedThreadIds,\n };\n};\n\nconst getThreadListItemState = (\n threadList: ThreadListRuntimeCore,\n threadId: string | undefined,\n): ThreadListItemState | SKIP_UPDATE => {\n if (threadId === undefined) return SKIP_UPDATE;\n\n const threadData = threadList.getItemById(threadId);\n if (!threadData) return SKIP_UPDATE;\n return {\n id: threadData.threadId,\n threadId: threadData.threadId, // TODO remove in 0.8.0\n remoteId: threadData.remoteId,\n externalId: threadData.externalId,\n title: threadData.title,\n status: threadData.status,\n isMain: threadData.threadId === threadList.mainThreadId,\n };\n};\n\nexport type ThreadListRuntimeCoreBinding = ThreadListRuntimeCore;\n\nexport class ThreadListRuntimeImpl implements ThreadListRuntime {\n private _getState;\n constructor(\n private _core: ThreadListRuntimeCoreBinding,\n private _runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: {},\n getState: () => getThreadListState(_core),\n subscribe: (callback) => _core.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n\n this._mainThreadListItemRuntime = new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[main]`,\n threadSelector: { type: \"main\" },\n },\n getState: () => {\n return getThreadListItemState(this._core, this._core.mainThreadId);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n\n this.main = new _runtimeFactory(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads.main\",\n threadSelector: { type: \"main\" },\n },\n getState: () => _core.getMainThreadRuntimeCore(),\n subscribe: (callback) => _core.subscribe(callback),\n }),\n this._mainThreadListItemRuntime, // TODO capture \"main\" threadListItem from context around useLocalRuntime / useExternalStoreRuntime\n );\n }\n\n protected __internal_bindMethods() {\n this.switchToThread = this.switchToThread.bind(this);\n this.switchToNewThread = this.switchToNewThread.bind(this);\n this.getState = this.getState.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.getById = this.getById.bind(this);\n this.getItemById = this.getItemById.bind(this);\n this.getItemByIndex = this.getItemByIndex.bind(this);\n this.getArchivedItemByIndex = this.getArchivedItemByIndex.bind(this);\n }\n\n public switchToThread(threadId: string): Promise<void> {\n return this._core.switchToThread(threadId);\n }\n\n public switchToNewThread(): Promise<void> {\n return this._core.switchToNewThread();\n }\n\n public getState(): ThreadListState {\n return this._getState();\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n\n private _mainThreadListItemRuntime;\n\n public readonly main: ThreadRuntime;\n\n public get mainItem() {\n return this._mainThreadListItemRuntime;\n }\n\n public getById(threadId: string) {\n return new this._runtimeFactory(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads[threadId=\" + JSON.stringify(threadId) + \"]\",\n threadSelector: { type: \"threadId\", threadId },\n },\n getState: () => this._core.getThreadRuntimeCore(threadId),\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this.mainItem, // TODO capture \"main\" threadListItem from context around useLocalRuntime / useExternalStoreRuntime\n );\n }\n\n public getItemByIndex(idx: number) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[${idx}]`,\n threadSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n return getThreadListItemState(this._core, this._core.threadIds[idx]);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n\n public getArchivedItemByIndex(idx: number) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `archivedThreadItems[${idx}]`,\n threadSelector: { type: \"archiveIndex\", index: idx },\n },\n getState: () => {\n return getThreadListItemState(\n this._core,\n this._core.archivedThreadIds[idx],\n );\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n\n public getItemById(threadId: string) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[threadId=${threadId}]`,\n threadSelector: { type: \"threadId\", threadId },\n },\n getState: () => {\n return getThreadListItemState(this._core, threadId);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n"],"mappings":"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","names":[]}
|