@assistant-ui/react 0.7.43 → 0.7.44
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/api/AssistantRuntime.d.ts +11 -3
- package/dist/api/AssistantRuntime.d.ts.map +1 -1
- package/dist/api/AssistantRuntime.js +8 -17
- package/dist/api/AssistantRuntime.js.map +1 -1
- package/dist/api/AssistantRuntime.mjs +8 -17
- package/dist/api/AssistantRuntime.mjs.map +1 -1
- package/dist/api/RuntimePathTypes.d.ts +4 -1
- package/dist/api/RuntimePathTypes.d.ts.map +1 -1
- package/dist/api/RuntimePathTypes.js.map +1 -1
- package/dist/api/ThreadListItemRuntime.d.ts +8 -0
- package/dist/api/ThreadListItemRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListItemRuntime.js +4 -0
- package/dist/api/ThreadListItemRuntime.js.map +1 -1
- package/dist/api/ThreadListItemRuntime.mjs +4 -0
- package/dist/api/ThreadListItemRuntime.mjs.map +1 -1
- package/dist/api/ThreadListRuntime.d.ts +11 -1
- package/dist/api/ThreadListRuntime.d.ts.map +1 -1
- package/dist/api/ThreadListRuntime.js +37 -1
- package/dist/api/ThreadListRuntime.js.map +1 -1
- package/dist/api/ThreadListRuntime.mjs +39 -1
- package/dist/api/ThreadListRuntime.mjs.map +1 -1
- package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts +15 -0
- package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts.map +1 -0
- package/dist/runtimes/adapters/RuntimeAdapterProvider.js +45 -0
- package/dist/runtimes/adapters/RuntimeAdapterProvider.js.map +1 -0
- package/dist/runtimes/adapters/RuntimeAdapterProvider.mjs +19 -0
- package/dist/runtimes/adapters/RuntimeAdapterProvider.mjs.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/AttachmentAdapter.d.ts +1 -1
- package/dist/runtimes/adapters/attachment/AttachmentAdapter.d.ts.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/AttachmentAdapter.js +1 -1
- package/dist/runtimes/adapters/attachment/AttachmentAdapter.js.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/CompositeAttachmentAdapter.d.ts +2 -2
- package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.d.ts.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/CompositeAttachmentAdapter.js +1 -1
- package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.js.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/CompositeAttachmentAdapter.mjs +1 -1
- package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.mjs.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/SimpleImageAttachmentAdapter.d.ts +1 -1
- package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.d.ts.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/SimpleImageAttachmentAdapter.js +1 -1
- package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.js.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/SimpleImageAttachmentAdapter.mjs +1 -1
- package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.mjs.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/SimpleTextAttachmentAdapter.d.ts +1 -1
- package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.d.ts.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/SimpleTextAttachmentAdapter.js +1 -1
- package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.js.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/SimpleTextAttachmentAdapter.mjs +1 -1
- package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.mjs.map +1 -0
- package/dist/runtimes/adapters/attachment/index.d.ts.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/index.js +1 -1
- package/dist/runtimes/adapters/attachment/index.js.map +1 -0
- package/dist/runtimes/{attachment → adapters/attachment}/index.mjs +1 -1
- package/dist/runtimes/adapters/attachment/index.mjs.map +1 -0
- package/dist/runtimes/{feedback → adapters/feedback}/FeedbackAdapter.d.ts +1 -1
- package/dist/runtimes/adapters/feedback/FeedbackAdapter.d.ts.map +1 -0
- package/dist/runtimes/{feedback → adapters/feedback}/FeedbackAdapter.js +1 -1
- package/dist/runtimes/adapters/feedback/FeedbackAdapter.js.map +1 -0
- package/dist/runtimes/adapters/feedback/index.d.ts.map +1 -0
- package/dist/runtimes/{feedback → adapters/feedback}/index.js +1 -1
- package/dist/runtimes/adapters/feedback/index.js.map +1 -0
- package/dist/runtimes/adapters/index.d.ts +4 -0
- package/dist/runtimes/adapters/index.d.ts.map +1 -0
- package/dist/runtimes/adapters/index.js +29 -0
- package/dist/runtimes/adapters/index.js.map +1 -0
- package/dist/runtimes/adapters/index.mjs +5 -0
- package/dist/runtimes/adapters/index.mjs.map +1 -0
- package/dist/runtimes/{speech → adapters/speech}/SpeechAdapterTypes.d.ts +1 -1
- package/dist/runtimes/adapters/speech/SpeechAdapterTypes.d.ts.map +1 -0
- package/dist/runtimes/{speech → adapters/speech}/SpeechAdapterTypes.js +1 -1
- package/dist/runtimes/adapters/speech/SpeechAdapterTypes.js.map +1 -0
- package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.d.ts.map +1 -0
- package/dist/runtimes/{speech → adapters/speech}/WebSpeechSynthesisAdapter.js +1 -1
- package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.js.map +1 -0
- package/dist/runtimes/{speech → adapters/speech}/WebSpeechSynthesisAdapter.mjs +1 -1
- package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.mjs.map +1 -0
- package/dist/runtimes/adapters/speech/index.d.ts.map +1 -0
- package/dist/runtimes/{speech → adapters/speech}/index.js +1 -1
- package/dist/runtimes/adapters/speech/index.js.map +1 -0
- package/dist/runtimes/{speech → adapters/speech}/index.mjs +1 -1
- package/dist/runtimes/adapters/speech/index.mjs.map +1 -0
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.d.ts +6 -0
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.d.ts.map +1 -0
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.js +19 -0
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.js.map +1 -0
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.mjs +1 -0
- package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.mjs.map +1 -0
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts +1 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.d.ts +1 -1
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/core/AssistantRuntimeCore.d.ts +1 -1
- package/dist/runtimes/core/AssistantRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/AssistantRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +3 -3
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +5 -0
- package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts +2 -2
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/ThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +3 -3
- package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +4 -4
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +4 -4
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +2 -0
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +6 -0
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs +6 -0
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +7 -0
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs +7 -0
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/index.d.ts +1 -3
- package/dist/runtimes/index.d.ts.map +1 -1
- package/dist/runtimes/index.js +3 -7
- package/dist/runtimes/index.js.map +1 -1
- package/dist/runtimes/index.mjs +1 -3
- package/dist/runtimes/index.mjs.map +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.d.ts +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.js +5 -5
- package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.mjs +5 -5
- package/dist/runtimes/local/LocalRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.d.ts +6 -3
- package/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.mjs.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +2 -0
- package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +8 -0
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs +8 -0
- package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +1 -0
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +7 -3
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +7 -3
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/local/useLocalRuntime.js +1 -1
- package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
- package/dist/runtimes/local/useLocalRuntime.mjs +1 -1
- package/dist/runtimes/local/useLocalRuntime.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +32 -2
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +11 -5
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs +11 -5
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.d.ts +3 -2
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.js +9 -4
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.js.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.mjs +9 -4
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.d.ts +6 -3
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.js +13 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.js.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.mjs +13 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/index.d.ts +0 -1
- package/dist/runtimes/remote-thread-list/cloud/index.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/index.js +0 -3
- package/dist/runtimes/remote-thread-list/cloud/index.js.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/index.mjs +0 -2
- package/dist/runtimes/remote-thread-list/cloud/index.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.js +26 -49
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.js.map +1 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.mjs +27 -56
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/types.d.ts +2 -2
- package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/types.js.map +1 -1
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +5 -5
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +5 -5
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +1 -1
- package/dist/runtimes/utils/MessageRepository.d.ts +4 -0
- package/dist/runtimes/utils/MessageRepository.d.ts.map +1 -1
- package/dist/runtimes/utils/MessageRepository.js.map +1 -1
- package/dist/runtimes/utils/MessageRepository.mjs.map +1 -1
- package/package.json +1 -1
- package/src/api/AssistantRuntime.ts +19 -18
- package/src/api/RuntimePathTypes.ts +6 -1
- package/src/api/ThreadListItemRuntime.ts +9 -0
- package/src/api/ThreadListRuntime.ts +56 -1
- package/src/runtimes/adapters/RuntimeAdapterProvider.tsx +31 -0
- package/src/runtimes/{attachment → adapters/attachment}/AttachmentAdapter.ts +1 -1
- package/src/runtimes/{attachment → adapters/attachment}/CompositeAttachmentAdapter.ts +1 -1
- package/src/runtimes/{attachment → adapters/attachment}/SimpleImageAttachmentAdapter.ts +1 -1
- package/src/runtimes/{attachment → adapters/attachment}/SimpleTextAttachmentAdapter.ts +1 -1
- package/src/runtimes/{feedback → adapters/feedback}/FeedbackAdapter.ts +1 -1
- package/src/runtimes/adapters/index.ts +3 -0
- package/src/runtimes/{speech → adapters/speech}/SpeechAdapterTypes.ts +1 -1
- package/src/runtimes/adapters/thread-history/ThreadHistoryAdapter.ts +9 -0
- package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +1 -1
- package/src/runtimes/composer/DefaultEditComposerRuntimeCore.tsx +1 -1
- package/src/runtimes/composer/DefaultThreadComposerRuntimeCore.tsx +1 -1
- package/src/runtimes/core/AssistantRuntimeCore.tsx +1 -1
- package/src/runtimes/core/BaseAssistantRuntimeCore.tsx +1 -1
- package/src/runtimes/core/BaseThreadRuntimeCore.tsx +3 -3
- package/src/runtimes/core/ThreadListRuntimeCore.tsx +6 -0
- package/src/runtimes/core/ThreadRuntimeCore.tsx +2 -1
- package/src/runtimes/external-store/ExternalStoreAdapter.tsx +3 -3
- package/src/runtimes/external-store/ExternalStoreRuntimeCore.tsx +4 -4
- package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +8 -0
- package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +8 -0
- package/src/runtimes/index.ts +1 -3
- package/src/runtimes/local/LocalRuntimeCore.tsx +5 -5
- package/src/runtimes/local/LocalRuntimeOptions.tsx +5 -3
- package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +10 -0
- package/src/runtimes/local/LocalThreadRuntimeCore.tsx +7 -3
- package/src/runtimes/local/useLocalRuntime.tsx +1 -1
- package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +14 -12
- package/src/runtimes/remote-thread-list/cloud/AssistantCloudAPI.tsx +13 -5
- package/src/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.tsx +24 -4
- package/src/runtimes/remote-thread-list/cloud/index.ts +0 -1
- package/src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx +36 -60
- package/src/runtimes/remote-thread-list/types.tsx +2 -5
- package/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx +5 -5
- package/src/runtimes/utils/MessageRepository.tsx +5 -0
- package/dist/runtimes/attachment/AttachmentAdapter.d.ts.map +0 -1
- package/dist/runtimes/attachment/AttachmentAdapter.js.map +0 -1
- package/dist/runtimes/attachment/CompositeAttachmentAdapter.d.ts.map +0 -1
- package/dist/runtimes/attachment/CompositeAttachmentAdapter.js.map +0 -1
- package/dist/runtimes/attachment/CompositeAttachmentAdapter.mjs.map +0 -1
- package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.d.ts.map +0 -1
- package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.js.map +0 -1
- package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.mjs.map +0 -1
- package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.d.ts.map +0 -1
- package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.js.map +0 -1
- package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.mjs.map +0 -1
- package/dist/runtimes/attachment/index.d.ts.map +0 -1
- package/dist/runtimes/attachment/index.js.map +0 -1
- package/dist/runtimes/attachment/index.mjs.map +0 -1
- package/dist/runtimes/feedback/FeedbackAdapter.d.ts.map +0 -1
- package/dist/runtimes/feedback/FeedbackAdapter.js.map +0 -1
- package/dist/runtimes/feedback/index.d.ts.map +0 -1
- package/dist/runtimes/feedback/index.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.d.ts +0 -22
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.js +0 -85
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.mjs +0 -60
- package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.mjs.map +0 -1
- package/dist/runtimes/speech/SpeechAdapterTypes.d.ts.map +0 -1
- package/dist/runtimes/speech/SpeechAdapterTypes.js.map +0 -1
- package/dist/runtimes/speech/WebSpeechSynthesisAdapter.d.ts.map +0 -1
- package/dist/runtimes/speech/WebSpeechSynthesisAdapter.js.map +0 -1
- package/dist/runtimes/speech/WebSpeechSynthesisAdapter.mjs.map +0 -1
- package/dist/runtimes/speech/index.d.ts.map +0 -1
- package/dist/runtimes/speech/index.js.map +0 -1
- package/dist/runtimes/speech/index.mjs.map +0 -1
- package/src/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.tsx +0 -89
- /package/dist/runtimes/{attachment → adapters/attachment}/AttachmentAdapter.mjs +0 -0
- /package/dist/runtimes/{attachment → adapters/attachment}/AttachmentAdapter.mjs.map +0 -0
- /package/dist/runtimes/{attachment → adapters/attachment}/index.d.ts +0 -0
- /package/dist/runtimes/{feedback → adapters/feedback}/FeedbackAdapter.mjs +0 -0
- /package/dist/runtimes/{feedback → adapters/feedback}/FeedbackAdapter.mjs.map +0 -0
- /package/dist/runtimes/{feedback → adapters/feedback}/index.d.ts +0 -0
- /package/dist/runtimes/{feedback → adapters/feedback}/index.mjs +0 -0
- /package/dist/runtimes/{feedback → adapters/feedback}/index.mjs.map +0 -0
- /package/dist/runtimes/{speech → adapters/speech}/SpeechAdapterTypes.mjs +0 -0
- /package/dist/runtimes/{speech → adapters/speech}/SpeechAdapterTypes.mjs.map +0 -0
- /package/dist/runtimes/{speech → adapters/speech}/WebSpeechSynthesisAdapter.d.ts +0 -0
- /package/dist/runtimes/{speech → adapters/speech}/index.d.ts +0 -0
- /package/src/runtimes/{attachment → adapters/attachment}/index.ts +0 -0
- /package/src/runtimes/{feedback → adapters/feedback}/index.ts +0 -0
- /package/src/runtimes/{speech → adapters/speech}/WebSpeechSynthesisAdapter.ts +0 -0
- /package/src/runtimes/{speech → adapters/speech}/index.ts +0 -0
@@ -5,21 +5,28 @@ import { Unsubscribe } from "../types";
|
|
5
5
|
import { ThreadListRuntime, ThreadListRuntimeImpl } from "./ThreadListRuntime";
|
6
6
|
export type AssistantRuntime = {
|
7
7
|
/**
|
8
|
-
* The
|
8
|
+
* The threads in this assistant.
|
9
|
+
*/
|
10
|
+
readonly threads: ThreadListRuntime;
|
11
|
+
/**
|
12
|
+
* The currently selected main thread. Equivalent to `threads.main`.
|
9
13
|
*/
|
10
14
|
readonly thread: ThreadRuntime;
|
11
15
|
/**
|
12
|
-
*
|
16
|
+
* @deprecated This field was renamed to `threads.main`.
|
13
17
|
*/
|
14
18
|
readonly threadList: ThreadListRuntime;
|
15
19
|
/**
|
16
20
|
* Switch to a new thread.
|
21
|
+
*
|
22
|
+
* @deprecated This field was moved to `threads.switchToNewThread`.
|
17
23
|
*/
|
18
24
|
switchToNewThread(): void;
|
19
25
|
/**
|
20
26
|
* Switch to a thread.
|
21
27
|
*
|
22
28
|
* @param threadId The thread ID to switch to.
|
29
|
+
* @deprecated This field was moved to `threads.switchToThread`.
|
23
30
|
*/
|
24
31
|
switchToThread(threadId: string): void;
|
25
32
|
/**
|
@@ -31,7 +38,8 @@ export type AssistantRuntime = {
|
|
31
38
|
};
|
32
39
|
export declare class AssistantRuntimeImpl implements AssistantRuntime {
|
33
40
|
private readonly _core;
|
34
|
-
readonly
|
41
|
+
readonly threads: ThreadListRuntimeImpl;
|
42
|
+
get threadList(): ThreadListRuntimeImpl;
|
35
43
|
readonly _thread: ThreadRuntime;
|
36
44
|
protected constructor(_core: AssistantRuntimeCore, runtimeFactory?: new (binding: ThreadRuntimeCoreBinding, threadListItemBinding: ThreadListItemRuntimeBinding) => ThreadRuntime);
|
37
45
|
get thread(): ThreadRuntime;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AssistantRuntime.d.ts","sourceRoot":"","sources":["../../src/api/AssistantRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;
|
1
|
+
{"version":3,"file":"AssistantRuntime.d.ts","sourceRoot":"","sources":["../../src/api/AssistantRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,wBAAwB,EAEzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAEvC;;;;OAIG;IACH,iBAAiB,IAAI,IAAI,CAAC;IAE1B;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvC;;;;OAIG;IACH,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,WAAW,CAAC;CACzE,CAAC;AAEF,qBAAa,oBAAqB,YAAW,gBAAgB;IASzD,OAAO,CAAC,QAAQ,CAAC,KAAK;IARxB,SAAgB,OAAO,wBAAC;IACxB,IAAW,UAAU,0BAEpB;IAED,SAAgB,OAAO,EAAE,aAAa,CAAC;IAEvC,SAAS,aACU,KAAK,EAAE,oBAAoB,EAC5C,cAAc,GAAE,KACd,OAAO,EAAE,wBAAwB,EACjC,qBAAqB,EAAE,4BAA4B,KAChD,aAAiC;IAMxC,IAAW,MAAM,kBAEhB;IAEM,iBAAiB;IAIjB,cAAc,CAAC,QAAQ,EAAE,MAAM;IAI/B,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB;WAIlD,MAAM,CAClB,KAAK,EAAE,oBAAoB,EAC3B,cAAc,GAAE,KACd,OAAO,EAAE,wBAAwB,EACjC,qBAAqB,EAAE,4BAA4B,KAChD,aAAiC,GACrC,gBAAgB;CAGpB"}
|
@@ -23,36 +23,27 @@ __export(AssistantRuntime_exports, {
|
|
23
23
|
AssistantRuntimeImpl: () => AssistantRuntimeImpl
|
24
24
|
});
|
25
25
|
module.exports = __toCommonJS(AssistantRuntime_exports);
|
26
|
-
var import_NestedSubscriptionSubject = require("./subscribable/NestedSubscriptionSubject.js");
|
27
26
|
var import_ThreadRuntime = require("./ThreadRuntime.js");
|
28
27
|
var import_ThreadListRuntime = require("./ThreadListRuntime.js");
|
29
28
|
var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
|
30
29
|
constructor(_core, runtimeFactory = import_ThreadRuntime.ThreadRuntimeImpl) {
|
31
30
|
this._core = _core;
|
32
|
-
this.
|
33
|
-
this._thread =
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
},
|
39
|
-
getState: () => _core.threadList.getMainThreadRuntimeCore(),
|
40
|
-
subscribe: (callback) => _core.threadList.subscribe(callback)
|
41
|
-
}),
|
42
|
-
this.threadList.mainItem
|
43
|
-
// TODO capture "main" threadListItem from context around useLocalRuntime / useExternalStoreRuntime
|
44
|
-
);
|
31
|
+
this.threads = new import_ThreadListRuntime.ThreadListRuntimeImpl(_core.threads, runtimeFactory);
|
32
|
+
this._thread = this.threadList.main;
|
33
|
+
}
|
34
|
+
threads;
|
35
|
+
get threadList() {
|
36
|
+
return this.threads;
|
45
37
|
}
|
46
|
-
threadList;
|
47
38
|
_thread;
|
48
39
|
get thread() {
|
49
40
|
return this._thread;
|
50
41
|
}
|
51
42
|
switchToNewThread() {
|
52
|
-
return this._core.
|
43
|
+
return this._core.threads.switchToNewThread();
|
53
44
|
}
|
54
45
|
switchToThread(threadId) {
|
55
|
-
return this._core.
|
46
|
+
return this._core.threads.switchToThread(threadId);
|
56
47
|
}
|
57
48
|
registerModelConfigProvider(provider) {
|
58
49
|
return this._core.registerModelConfigProvider(provider);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport {
|
1
|
+
{"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport { ModelConfigProvider } from \"../types/ModelConfigTypes\";\nimport {\n ThreadListItemRuntimeBinding,\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadListRuntime, ThreadListRuntimeImpl } from \"./ThreadListRuntime\";\n\nexport type AssistantRuntime = {\n /**\n * The threads in this assistant.\n */\n readonly threads: ThreadListRuntime;\n\n /**\n * The currently selected main thread. Equivalent to `threads.main`.\n */\n readonly thread: ThreadRuntime;\n\n /**\n * @deprecated This field was renamed to `threads.main`.\n */\n readonly threadList: ThreadListRuntime;\n\n /**\n * Switch to a new thread.\n *\n * @deprecated This field was moved to `threads.switchToNewThread`.\n */\n switchToNewThread(): void;\n\n /**\n * Switch to a thread.\n *\n * @param threadId The thread ID to switch to.\n * @deprecated This field was moved to `threads.switchToThread`.\n */\n switchToThread(threadId: string): void;\n\n /**\n * Register a model config provider. Model config providers are configuration such as system message, temperature, etc. that are set in the frontend.\n *\n * @param provider The model config provider to register.\n */\n registerModelConfigProvider(provider: ModelConfigProvider): Unsubscribe;\n};\n\nexport class AssistantRuntimeImpl implements AssistantRuntime {\n public readonly threads;\n public get threadList() {\n return this.threads;\n }\n\n public readonly _thread: ThreadRuntime;\n\n protected constructor(\n private readonly _core: AssistantRuntimeCore,\n runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n this.threads = new ThreadListRuntimeImpl(_core.threads, runtimeFactory);\n this._thread = this.threadList.main;\n }\n\n public get thread() {\n return this._thread;\n }\n\n public switchToNewThread() {\n return this._core.threads.switchToNewThread();\n }\n\n public switchToThread(threadId: string) {\n return this._core.threads.switchToThread(threadId);\n }\n\n public registerModelConfigProvider(provider: ModelConfigProvider) {\n return this._core.registerModelConfigProvider(provider);\n }\n\n public static create(\n _core: AssistantRuntimeCore,\n runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ): AssistantRuntime {\n return new AssistantRuntimeImpl(_core, runtimeFactory);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,2BAKO;AAEP,+BAAyD;AAyClD,IAAM,uBAAN,MAAM,sBAAiD;AAAA,EAQlD,YACS,OACjB,iBAGqB,wCACrB;AALiB;AAMjB,SAAK,UAAU,IAAI,+CAAsB,MAAM,SAAS,cAAc;AACtE,SAAK,UAAU,KAAK,WAAW;AAAA,EACjC;AAAA,EAhBgB;AAAA,EAChB,IAAW,aAAa;AACtB,WAAO,KAAK;AAAA,EACd;AAAA,EAEgB;AAAA,EAahB,IAAW,SAAS;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,oBAAoB;AACzB,WAAO,KAAK,MAAM,QAAQ,kBAAkB;AAAA,EAC9C;AAAA,EAEO,eAAe,UAAkB;AACtC,WAAO,KAAK,MAAM,QAAQ,eAAe,QAAQ;AAAA,EACnD;AAAA,EAEO,4BAA4B,UAA+B;AAChE,WAAO,KAAK,MAAM,4BAA4B,QAAQ;AAAA,EACxD;AAAA,EAEA,OAAc,OACZ,OACA,iBAGqB,wCACH;AAClB,WAAO,IAAI,sBAAqB,OAAO,cAAc;AAAA,EACvD;AACF;","names":[]}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
// src/api/AssistantRuntime.ts
|
2
|
-
import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject.mjs";
|
3
2
|
import {
|
4
3
|
ThreadRuntimeImpl
|
5
4
|
} from "./ThreadRuntime.mjs";
|
@@ -7,30 +6,22 @@ import { ThreadListRuntimeImpl } from "./ThreadListRuntime.mjs";
|
|
7
6
|
var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
|
8
7
|
constructor(_core, runtimeFactory = ThreadRuntimeImpl) {
|
9
8
|
this._core = _core;
|
10
|
-
this.
|
11
|
-
this._thread =
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
},
|
17
|
-
getState: () => _core.threadList.getMainThreadRuntimeCore(),
|
18
|
-
subscribe: (callback) => _core.threadList.subscribe(callback)
|
19
|
-
}),
|
20
|
-
this.threadList.mainItem
|
21
|
-
// TODO capture "main" threadListItem from context around useLocalRuntime / useExternalStoreRuntime
|
22
|
-
);
|
9
|
+
this.threads = new ThreadListRuntimeImpl(_core.threads, runtimeFactory);
|
10
|
+
this._thread = this.threadList.main;
|
11
|
+
}
|
12
|
+
threads;
|
13
|
+
get threadList() {
|
14
|
+
return this.threads;
|
23
15
|
}
|
24
|
-
threadList;
|
25
16
|
_thread;
|
26
17
|
get thread() {
|
27
18
|
return this._thread;
|
28
19
|
}
|
29
20
|
switchToNewThread() {
|
30
|
-
return this._core.
|
21
|
+
return this._core.threads.switchToNewThread();
|
31
22
|
}
|
32
23
|
switchToThread(threadId) {
|
33
|
-
return this._core.
|
24
|
+
return this._core.threads.switchToThread(threadId);
|
34
25
|
}
|
35
26
|
registerModelConfigProvider(provider) {
|
36
27
|
return this._core.registerModelConfigProvider(provider);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport {
|
1
|
+
{"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport { ModelConfigProvider } from \"../types/ModelConfigTypes\";\nimport {\n ThreadListItemRuntimeBinding,\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadListRuntime, ThreadListRuntimeImpl } from \"./ThreadListRuntime\";\n\nexport type AssistantRuntime = {\n /**\n * The threads in this assistant.\n */\n readonly threads: ThreadListRuntime;\n\n /**\n * The currently selected main thread. Equivalent to `threads.main`.\n */\n readonly thread: ThreadRuntime;\n\n /**\n * @deprecated This field was renamed to `threads.main`.\n */\n readonly threadList: ThreadListRuntime;\n\n /**\n * Switch to a new thread.\n *\n * @deprecated This field was moved to `threads.switchToNewThread`.\n */\n switchToNewThread(): void;\n\n /**\n * Switch to a thread.\n *\n * @param threadId The thread ID to switch to.\n * @deprecated This field was moved to `threads.switchToThread`.\n */\n switchToThread(threadId: string): void;\n\n /**\n * Register a model config provider. Model config providers are configuration such as system message, temperature, etc. that are set in the frontend.\n *\n * @param provider The model config provider to register.\n */\n registerModelConfigProvider(provider: ModelConfigProvider): Unsubscribe;\n};\n\nexport class AssistantRuntimeImpl implements AssistantRuntime {\n public readonly threads;\n public get threadList() {\n return this.threads;\n }\n\n public readonly _thread: ThreadRuntime;\n\n protected constructor(\n private readonly _core: AssistantRuntimeCore,\n runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n this.threads = new ThreadListRuntimeImpl(_core.threads, runtimeFactory);\n this._thread = this.threadList.main;\n }\n\n public get thread() {\n return this._thread;\n }\n\n public switchToNewThread() {\n return this._core.threads.switchToNewThread();\n }\n\n public switchToThread(threadId: string) {\n return this._core.threads.switchToThread(threadId);\n }\n\n public registerModelConfigProvider(provider: ModelConfigProvider) {\n return this._core.registerModelConfigProvider(provider);\n }\n\n public static create(\n _core: AssistantRuntimeCore,\n runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ): AssistantRuntime {\n return new AssistantRuntimeImpl(_core, runtimeFactory);\n }\n}\n"],"mappings":";AAEA;AAAA,EAIE;AAAA,OACK;AAEP,SAA4B,6BAA6B;AAyClD,IAAM,uBAAN,MAAM,sBAAiD;AAAA,EAQlD,YACS,OACjB,iBAGqB,mBACrB;AALiB;AAMjB,SAAK,UAAU,IAAI,sBAAsB,MAAM,SAAS,cAAc;AACtE,SAAK,UAAU,KAAK,WAAW;AAAA,EACjC;AAAA,EAhBgB;AAAA,EAChB,IAAW,aAAa;AACtB,WAAO,KAAK;AAAA,EACd;AAAA,EAEgB;AAAA,EAahB,IAAW,SAAS;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,oBAAoB;AACzB,WAAO,KAAK,MAAM,QAAQ,kBAAkB;AAAA,EAC9C;AAAA,EAEO,eAAe,UAAkB;AACtC,WAAO,KAAK,MAAM,QAAQ,eAAe,QAAQ;AAAA,EACnD;AAAA,EAEO,4BAA4B,UAA+B;AAChE,WAAO,KAAK,MAAM,4BAA4B,QAAQ;AAAA,EACxD;AAAA,EAEA,OAAc,OACZ,OACA,iBAGqB,mBACH;AAClB,WAAO,IAAI,sBAAqB,OAAO,cAAc;AAAA,EACvD;AACF;","names":[]}
|
@@ -16,7 +16,10 @@ export type ThreadListItemRuntimePath = {
|
|
16
16
|
export type ThreadRuntimePath = {
|
17
17
|
readonly ref: string;
|
18
18
|
readonly threadSelector: {
|
19
|
-
type: "main";
|
19
|
+
readonly type: "main";
|
20
|
+
} | {
|
21
|
+
readonly type: "threadId";
|
22
|
+
readonly threadId: string;
|
20
23
|
};
|
21
24
|
};
|
22
25
|
export type MessageRuntimePath = ThreadRuntimePath & {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RuntimePathTypes.d.ts","sourceRoot":"","sources":["../../src/api/RuntimePathTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EACnB;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACzB;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAClD;QAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACzD;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,
|
1
|
+
{"version":3,"file":"RuntimePathTypes.d.ts","sourceRoot":"","sources":["../../src/api/RuntimePathTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EACnB;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACzB;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAClD;QAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACzD;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EACnB;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACzB;QACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD,QAAQ,CAAC,eAAe,EACpB;QAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAC1D;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;IACxD,QAAQ,CAAC,mBAAmB,EACxB;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAClD;QAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAChC,CAAC,kBAAkB,GAAG;IACpB,QAAQ,CAAC,gBAAgB,EAAE,SAAS,GAAG,eAAe,CAAC;CACxD,CAAC,GACF,CAAC,iBAAiB,GAAG;IACnB,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;CAC9C,CAAC,CACL,GAAG;IACF,QAAQ,CAAC,kBAAkB,EACvB;QACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,GACD;QACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,GACD;QACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,CAAC,iBAAiB,GAAG;IACnB,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC;CACnC,CAAC,GACF,CAAC,kBAAkB,GAAG;IACpB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/api/RuntimePathTypes.ts"],"sourcesContent":["export type ThreadListItemRuntimePath = {\n readonly ref: string;\n readonly threadSelector:\n | { readonly type: \"main\" }\n | { readonly type: \"index\"; readonly index: number }\n | { readonly type: \"archiveIndex\"; readonly index: number }\n | { readonly type: \"threadId\"; readonly threadId: string };\n};\n\nexport type ThreadRuntimePath = {\n readonly ref: string;\n readonly threadSelector
|
1
|
+
{"version":3,"sources":["../../src/api/RuntimePathTypes.ts"],"sourcesContent":["export type ThreadListItemRuntimePath = {\n readonly ref: string;\n readonly threadSelector:\n | { readonly type: \"main\" }\n | { readonly type: \"index\"; readonly index: number }\n | { readonly type: \"archiveIndex\"; readonly index: number }\n | { readonly type: \"threadId\"; readonly threadId: string };\n};\n\nexport type ThreadRuntimePath = {\n readonly ref: string;\n readonly threadSelector:\n | { readonly type: \"main\" }\n | {\n readonly type: \"threadId\";\n readonly threadId: string;\n };\n};\n\nexport type MessageRuntimePath = ThreadRuntimePath & {\n readonly messageSelector:\n | { readonly type: \"messageId\"; readonly messageId: string }\n | { readonly type: \"index\"; readonly index: number };\n};\n\nexport type ContentPartRuntimePath = MessageRuntimePath & {\n readonly contentPartSelector:\n | { readonly type: \"index\"; readonly index: number }\n | { readonly type: \"toolCallId\"; readonly toolCallId: string };\n};\n\nexport type AttachmentRuntimePath = (\n | (MessageRuntimePath & {\n readonly attachmentSource: \"message\" | \"edit-composer\";\n })\n | (ThreadRuntimePath & {\n readonly attachmentSource: \"thread-composer\";\n })\n) & {\n readonly attachmentSelector:\n | {\n readonly type: \"index\";\n readonly index: number;\n }\n | {\n readonly type: \"index\";\n readonly index: number;\n }\n | {\n readonly type: \"index\";\n readonly index: number;\n };\n};\n\nexport type ComposerRuntimePath =\n | (ThreadRuntimePath & {\n readonly composerSource: \"thread\";\n })\n | (MessageRuntimePath & {\n readonly composerSource: \"edit\";\n });\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
@@ -18,6 +18,10 @@ export type ThreadListItemState = {
|
|
18
18
|
export type ThreadListItemRuntime = {
|
19
19
|
readonly path: ThreadListItemRuntimePath;
|
20
20
|
getState(): ThreadListItemState;
|
21
|
+
initialize(): Promise<{
|
22
|
+
remoteId: string;
|
23
|
+
externalId: string | undefined;
|
24
|
+
}>;
|
21
25
|
switchTo(): Promise<void>;
|
22
26
|
rename(newTitle: string): Promise<void>;
|
23
27
|
archive(): Promise<void>;
|
@@ -38,6 +42,10 @@ export declare class ThreadListItemRuntimeImpl implements ThreadListItemRuntime
|
|
38
42
|
archive(): Promise<void>;
|
39
43
|
unarchive(): Promise<void>;
|
40
44
|
delete(): Promise<void>;
|
45
|
+
initialize(): Promise<{
|
46
|
+
remoteId: string;
|
47
|
+
externalId: string | undefined;
|
48
|
+
}>;
|
41
49
|
unstable_on(event: ThreadListItemEventType, callback: () => void): Unsubscribe;
|
42
50
|
subscribe(callback: () => void): Unsubscribe;
|
43
51
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ThreadListItemRuntime.d.ts","sourceRoot":"","sources":["../../src/api/ThreadListItemRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,eAAe,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,IAAI,mBAAmB,CAAC;IAEhC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;IAE7C,WAAW,CACT,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,MAAM,IAAI,GACnB,WAAW,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,CAC5D,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;AAEF,qBAAa,yBAA0B,YAAW,qBAAqB;IAMnE,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,kBAAkB;IAN5B,IAAW,IAAI,8BAEd;gBAGS,KAAK,EAAE,0BAA0B,EACjC,kBAAkB,EAAE,4BAA4B;IAGnD,QAAQ,IAAI,mBAAmB;IAI/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvB,WAAW,CAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,IAAI;IAahE,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;CAGpD"}
|
1
|
+
{"version":3,"file":"ThreadListItemRuntime.d.ts","sourceRoot":"","sources":["../../src/api/ThreadListItemRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,eAAe,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,IAAI,mBAAmB,CAAC;IAEhC,UAAU,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;IAC5E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;IAE7C,WAAW,CACT,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,MAAM,IAAI,GACnB,WAAW,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,CAC5D,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;AAEF,qBAAa,yBAA0B,YAAW,qBAAqB;IAMnE,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,kBAAkB;IAN5B,IAAW,IAAI,8BAEd;gBAGS,KAAK,EAAE,0BAA0B,EACjC,kBAAkB,EAAE,4BAA4B;IAGnD,QAAQ,IAAI,mBAAmB;IAI/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvB,UAAU,IAAI,OAAO,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,CAAC;IAKK,WAAW,CAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,IAAI;IAahE,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;CAGpD"}
|
@@ -54,6 +54,10 @@ var ThreadListItemRuntimeImpl = class {
|
|
54
54
|
const state = this._core.getState();
|
55
55
|
return this._threadListBinding.delete(state.id);
|
56
56
|
}
|
57
|
+
initialize() {
|
58
|
+
const state = this._core.getState();
|
59
|
+
return this._threadListBinding.initialize(state.id);
|
60
|
+
}
|
57
61
|
unstable_on(event, callback) {
|
58
62
|
let prevIsMain = this._core.getState().isMain;
|
59
63
|
return this.subscribe(() => {
|
@@ -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 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 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 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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
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 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 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 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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA+CO,IAAM,4BAAN,MAAiE;AAAA,EAKtE,YACU,OACA,oBACR;AAFQ;AACA;AAAA,EACP;AAAA,EAPH,IAAW,OAAO;AAChB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAOO,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,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":[]}
|
@@ -30,6 +30,10 @@ var ThreadListItemRuntimeImpl = class {
|
|
30
30
|
const state = this._core.getState();
|
31
31
|
return this._threadListBinding.delete(state.id);
|
32
32
|
}
|
33
|
+
initialize() {
|
34
|
+
const state = this._core.getState();
|
35
|
+
return this._threadListBinding.initialize(state.id);
|
36
|
+
}
|
33
37
|
unstable_on(event, callback) {
|
34
38
|
let prevIsMain = this._core.getState().isMain;
|
35
39
|
return this.subscribe(() => {
|
@@ -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 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 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 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 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 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 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":";AA+CO,IAAM,4BAAN,MAAiE;AAAA,EAKtE,YACU,OACA,oBACR;AAFQ;AACA;AAAA,EACP;AAAA,EAPH,IAAW,OAAO;AAChB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAOO,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,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,6 +1,7 @@
|
|
1
1
|
import { ThreadListRuntimeCore } from "../runtimes/core/ThreadListRuntimeCore";
|
2
2
|
import { Unsubscribe } from "../types";
|
3
3
|
import { ThreadListItemRuntime, ThreadListItemRuntimeImpl } from "./ThreadListItemRuntime";
|
4
|
+
import { ThreadListItemRuntimeBinding, ThreadRuntime, ThreadRuntimeCoreBinding } from "./ThreadRuntime";
|
4
5
|
export type ThreadListState = {
|
5
6
|
readonly mainThreadId: string;
|
6
7
|
readonly newThread: string | undefined;
|
@@ -10,20 +11,29 @@ export type ThreadListState = {
|
|
10
11
|
export type ThreadListRuntime = {
|
11
12
|
getState(): ThreadListState;
|
12
13
|
subscribe(callback: () => void): Unsubscribe;
|
14
|
+
readonly main: ThreadRuntime;
|
15
|
+
getById(threadId: string): ThreadRuntime;
|
13
16
|
readonly mainItem: ThreadListItemRuntime;
|
14
17
|
getItemById(threadId: string): ThreadListItemRuntime;
|
15
18
|
getItemByIndex(idx: number): ThreadListItemRuntime;
|
16
19
|
getArchivedItemByIndex(idx: number): ThreadListItemRuntime;
|
20
|
+
switchToThread(threadId: string): Promise<void>;
|
21
|
+
switchToNewThread(): Promise<void>;
|
17
22
|
};
|
18
23
|
export type ThreadListRuntimeCoreBinding = ThreadListRuntimeCore;
|
19
24
|
export declare class ThreadListRuntimeImpl implements ThreadListRuntime {
|
20
25
|
private _core;
|
26
|
+
private _runtimeFactory;
|
21
27
|
private _getState;
|
22
|
-
constructor(_core: ThreadListRuntimeCoreBinding);
|
28
|
+
constructor(_core: ThreadListRuntimeCoreBinding, _runtimeFactory?: new (binding: ThreadRuntimeCoreBinding, threadListItemBinding: ThreadListItemRuntimeBinding) => ThreadRuntime);
|
29
|
+
switchToThread(threadId: string): Promise<void>;
|
30
|
+
switchToNewThread(): Promise<void>;
|
23
31
|
getState(): ThreadListState;
|
24
32
|
subscribe(callback: () => void): Unsubscribe;
|
25
33
|
private _mainThreadListItemRuntime;
|
34
|
+
readonly main: ThreadRuntime;
|
26
35
|
get mainItem(): ThreadListItemRuntimeImpl;
|
36
|
+
getById(threadId: string): ThreadRuntime;
|
27
37
|
getItemByIndex(idx: number): ThreadListItemRuntimeImpl;
|
28
38
|
getArchivedItemByIndex(idx: number): ThreadListItemRuntimeImpl;
|
29
39
|
getItemById(threadId: string): ThreadListItemRuntimeImpl;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ThreadListRuntime.d.ts","sourceRoot":"","sources":["../../src/api/ThreadListRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EAE1B,MAAM,yBAAyB,CAAC;
|
1
|
+
{"version":3,"file":"ThreadListRuntime.d.ts","sourceRoot":"","sources":["../../src/api/ThreadListRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EAE1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,wBAAwB,EAEzB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,IAAI,eAAe,CAAC;IAE5B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;IAE7C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC;IAEzC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAAC;IACrD,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC;IACnD,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAE3D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAgCF,MAAM,MAAM,4BAA4B,GAAG,qBAAqB,CAAC;AAEjE,qBAAa,qBAAsB,YAAW,iBAAiB;IAG3D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,eAAe;IAHzB,OAAO,CAAC,SAAS,CAAC;gBAER,KAAK,EAAE,4BAA4B,EACnC,eAAe,GAAE,KACvB,OAAO,EAAE,wBAAwB,EACjC,qBAAqB,EAAE,4BAA4B,KAChD,aAAiC;IAqCjC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,QAAQ,IAAI,eAAe;IAI3B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;IAInD,OAAO,CAAC,0BAA0B,CAAC;IAEnC,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC,IAAW,QAAQ,8BAElB;IAEM,OAAO,CAAC,QAAQ,EAAE,MAAM;IAcxB,cAAc,CAAC,GAAG,EAAE,MAAM;IAgB1B,sBAAsB,CAAC,GAAG,EAAE,MAAM;IAmBlC,WAAW,CAAC,QAAQ,EAAE,MAAM;CAepC"}
|
@@ -27,6 +27,8 @@ var import_LazyMemoizeSubject = require("./subscribable/LazyMemoizeSubject.js");
|
|
27
27
|
var import_ThreadListItemRuntime = require("./ThreadListItemRuntime.js");
|
28
28
|
var import_SKIP_UPDATE = require("./subscribable/SKIP_UPDATE.js");
|
29
29
|
var import_ShallowMemoizeSubject = require("./subscribable/ShallowMemoizeSubject.js");
|
30
|
+
var import_ThreadRuntime = require("./ThreadRuntime.js");
|
31
|
+
var import_NestedSubscriptionSubject = require("./subscribable/NestedSubscriptionSubject.js");
|
30
32
|
var getThreadListState = (threadList) => {
|
31
33
|
return {
|
32
34
|
mainThreadId: threadList.mainThreadId,
|
@@ -51,8 +53,9 @@ var getThreadListItemState = (threadList, threadId) => {
|
|
51
53
|
};
|
52
54
|
};
|
53
55
|
var ThreadListRuntimeImpl = class {
|
54
|
-
constructor(_core) {
|
56
|
+
constructor(_core, _runtimeFactory = import_ThreadRuntime.ThreadRuntimeImpl) {
|
55
57
|
this._core = _core;
|
58
|
+
this._runtimeFactory = _runtimeFactory;
|
56
59
|
const stateBinding = new import_LazyMemoizeSubject.LazyMemoizeSubject({
|
57
60
|
path: {},
|
58
61
|
getState: () => getThreadListState(_core),
|
@@ -72,8 +75,26 @@ var ThreadListRuntimeImpl = class {
|
|
72
75
|
}),
|
73
76
|
this._core
|
74
77
|
);
|
78
|
+
this.main = new _runtimeFactory(
|
79
|
+
new import_NestedSubscriptionSubject.NestedSubscriptionSubject({
|
80
|
+
path: {
|
81
|
+
ref: "threads.main",
|
82
|
+
threadSelector: { type: "main" }
|
83
|
+
},
|
84
|
+
getState: () => _core.getMainThreadRuntimeCore(),
|
85
|
+
subscribe: (callback) => _core.subscribe(callback)
|
86
|
+
}),
|
87
|
+
this._mainThreadListItemRuntime
|
88
|
+
// TODO capture "main" threadListItem from context around useLocalRuntime / useExternalStoreRuntime
|
89
|
+
);
|
75
90
|
}
|
76
91
|
_getState;
|
92
|
+
switchToThread(threadId) {
|
93
|
+
return this._core.switchToThread(threadId);
|
94
|
+
}
|
95
|
+
switchToNewThread() {
|
96
|
+
return this._core.switchToNewThread();
|
97
|
+
}
|
77
98
|
getState() {
|
78
99
|
return this._getState();
|
79
100
|
}
|
@@ -81,9 +102,24 @@ var ThreadListRuntimeImpl = class {
|
|
81
102
|
return this._core.subscribe(callback);
|
82
103
|
}
|
83
104
|
_mainThreadListItemRuntime;
|
105
|
+
main;
|
84
106
|
get mainItem() {
|
85
107
|
return this._mainThreadListItemRuntime;
|
86
108
|
}
|
109
|
+
getById(threadId) {
|
110
|
+
return new this._runtimeFactory(
|
111
|
+
new import_NestedSubscriptionSubject.NestedSubscriptionSubject({
|
112
|
+
path: {
|
113
|
+
ref: "threads[threadId=" + JSON.stringify(threadId) + "]",
|
114
|
+
threadSelector: { type: "threadId", threadId }
|
115
|
+
},
|
116
|
+
getState: () => this._core.getThreadRuntimeCore(threadId),
|
117
|
+
subscribe: (callback) => this._core.subscribe(callback)
|
118
|
+
}),
|
119
|
+
this.mainItem
|
120
|
+
// TODO capture "main" threadListItem from context around useLocalRuntime / useExternalStoreRuntime
|
121
|
+
);
|
122
|
+
}
|
87
123
|
getItemByIndex(idx) {
|
88
124
|
return new import_ThreadListItemRuntime.ThreadListItemRuntimeImpl(
|
89
125
|
new import_ShallowMemoizeSubject.ShallowMemoizeSubject({
|
@@ -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\";\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 mainItem: ThreadListItemRuntime;\n getItemById(threadId: string): ThreadListItemRuntime;\n getItemByIndex(idx: number): ThreadListItemRuntime;\n getArchivedItemByIndex(idx: number): ThreadListItemRuntime;\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(private _core: ThreadListRuntimeCoreBinding) {\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\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 get mainItem() {\n return this._mainThreadListItemRuntime;\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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAmC;AAGnC,mCAIO;AACP,yBAA4B;AAC5B,mCAAsC;
|
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 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":[]}
|
@@ -5,6 +5,10 @@ import {
|
|
5
5
|
} from "./ThreadListItemRuntime.mjs";
|
6
6
|
import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE.mjs";
|
7
7
|
import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject.mjs";
|
8
|
+
import {
|
9
|
+
ThreadRuntimeImpl
|
10
|
+
} from "./ThreadRuntime.mjs";
|
11
|
+
import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject.mjs";
|
8
12
|
var getThreadListState = (threadList) => {
|
9
13
|
return {
|
10
14
|
mainThreadId: threadList.mainThreadId,
|
@@ -29,8 +33,9 @@ var getThreadListItemState = (threadList, threadId) => {
|
|
29
33
|
};
|
30
34
|
};
|
31
35
|
var ThreadListRuntimeImpl = class {
|
32
|
-
constructor(_core) {
|
36
|
+
constructor(_core, _runtimeFactory = ThreadRuntimeImpl) {
|
33
37
|
this._core = _core;
|
38
|
+
this._runtimeFactory = _runtimeFactory;
|
34
39
|
const stateBinding = new LazyMemoizeSubject({
|
35
40
|
path: {},
|
36
41
|
getState: () => getThreadListState(_core),
|
@@ -50,8 +55,26 @@ var ThreadListRuntimeImpl = class {
|
|
50
55
|
}),
|
51
56
|
this._core
|
52
57
|
);
|
58
|
+
this.main = new _runtimeFactory(
|
59
|
+
new NestedSubscriptionSubject({
|
60
|
+
path: {
|
61
|
+
ref: "threads.main",
|
62
|
+
threadSelector: { type: "main" }
|
63
|
+
},
|
64
|
+
getState: () => _core.getMainThreadRuntimeCore(),
|
65
|
+
subscribe: (callback) => _core.subscribe(callback)
|
66
|
+
}),
|
67
|
+
this._mainThreadListItemRuntime
|
68
|
+
// TODO capture "main" threadListItem from context around useLocalRuntime / useExternalStoreRuntime
|
69
|
+
);
|
53
70
|
}
|
54
71
|
_getState;
|
72
|
+
switchToThread(threadId) {
|
73
|
+
return this._core.switchToThread(threadId);
|
74
|
+
}
|
75
|
+
switchToNewThread() {
|
76
|
+
return this._core.switchToNewThread();
|
77
|
+
}
|
55
78
|
getState() {
|
56
79
|
return this._getState();
|
57
80
|
}
|
@@ -59,9 +82,24 @@ var ThreadListRuntimeImpl = class {
|
|
59
82
|
return this._core.subscribe(callback);
|
60
83
|
}
|
61
84
|
_mainThreadListItemRuntime;
|
85
|
+
main;
|
62
86
|
get mainItem() {
|
63
87
|
return this._mainThreadListItemRuntime;
|
64
88
|
}
|
89
|
+
getById(threadId) {
|
90
|
+
return new this._runtimeFactory(
|
91
|
+
new NestedSubscriptionSubject({
|
92
|
+
path: {
|
93
|
+
ref: "threads[threadId=" + JSON.stringify(threadId) + "]",
|
94
|
+
threadSelector: { type: "threadId", threadId }
|
95
|
+
},
|
96
|
+
getState: () => this._core.getThreadRuntimeCore(threadId),
|
97
|
+
subscribe: (callback) => this._core.subscribe(callback)
|
98
|
+
}),
|
99
|
+
this.mainItem
|
100
|
+
// TODO capture "main" threadListItem from context around useLocalRuntime / useExternalStoreRuntime
|
101
|
+
);
|
102
|
+
}
|
65
103
|
getItemByIndex(idx) {
|
66
104
|
return new ThreadListItemRuntimeImpl(
|
67
105
|
new ShallowMemoizeSubject({
|
@@ -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\";\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 mainItem: ThreadListItemRuntime;\n getItemById(threadId: string): ThreadListItemRuntime;\n getItemByIndex(idx: number): ThreadListItemRuntime;\n getArchivedItemByIndex(idx: number): ThreadListItemRuntime;\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(private _core: ThreadListRuntimeCoreBinding) {\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\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 get mainItem() {\n return this._mainThreadListItemRuntime;\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":";AAAA,SAAS,0BAA0B;AAGnC;AAAA,EAEE;AAAA,OAEK;AACP,SAAS,mBAAmB;AAC5B,SAAS,6BAA6B;
|
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 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":[]}
|