@assistant-ui/core 0.3.17 → 0.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/attachment.d.ts.map +1 -1
- package/dist/adapters/attachment.js +5 -4
- package/dist/adapters/attachment.js.map +1 -1
- package/dist/adapters/speech.d.ts.map +1 -1
- package/dist/adapters/speech.js +13 -3
- package/dist/adapters/speech.js.map +1 -1
- package/dist/adapters/thread-history.d.ts +4 -0
- package/dist/adapters/thread-history.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +4 -3
- package/dist/internal.js +3 -2
- package/dist/model-context/frame/host.d.ts.map +1 -1
- package/dist/model-context/frame/host.js +35 -14
- package/dist/model-context/frame/host.js.map +1 -1
- package/dist/model-context/frame/provider.d.ts +2 -0
- package/dist/model-context/frame/provider.d.ts.map +1 -1
- package/dist/model-context/frame/provider.js +30 -7
- package/dist/model-context/frame/provider.js.map +1 -1
- package/dist/model-context/interactable-composer-metadata.d.ts.map +1 -1
- package/dist/model-context/interactable-composer-metadata.js +27 -18
- package/dist/model-context/interactable-composer-metadata.js.map +1 -1
- package/dist/model-context/registry.d.ts.map +1 -1
- package/dist/model-context/registry.js +3 -5
- package/dist/model-context/registry.js.map +1 -1
- package/dist/model-context/types.d.ts.map +1 -1
- package/dist/model-context/types.js +5 -4
- package/dist/model-context/types.js.map +1 -1
- package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts.map +1 -1
- package/dist/react/adapters/LocalStorageThreadListAdapter.js +45 -7
- package/dist/react/adapters/LocalStorageThreadListAdapter.js.map +1 -1
- package/dist/react/client/DataRenderers.d.ts.map +1 -1
- package/dist/react/client/DataRenderers.js +20 -15
- package/dist/react/client/DataRenderers.js.map +1 -1
- package/dist/react/client/InMemoryThreadList.d.ts.map +1 -1
- package/dist/react/client/InMemoryThreadList.js +62 -56
- package/dist/react/client/InMemoryThreadList.js.map +1 -1
- package/dist/react/client/Interactables.d.ts.map +1 -1
- package/dist/react/client/Interactables.js +35 -32
- package/dist/react/client/Interactables.js.map +1 -1
- package/dist/react/client/RemoteThreadList.d.ts +1 -0
- package/dist/react/client/RemoteThreadList.d.ts.map +1 -1
- package/dist/react/client/RemoteThreadList.js +154 -143
- package/dist/react/client/RemoteThreadList.js.map +1 -1
- package/dist/react/client/Tools.d.ts.map +1 -1
- package/dist/react/client/Tools.js +18 -16
- package/dist/react/client/Tools.js.map +1 -1
- package/dist/react/client/interactable-model-context.d.ts.map +1 -1
- package/dist/react/client/interactable-model-context.js +3 -2
- package/dist/react/client/interactable-model-context.js.map +1 -1
- package/dist/react/index.d.ts +2 -2
- package/dist/react/index.js +2 -2
- package/dist/react/interactables-legacy/Interactables.js +242 -121
- package/dist/react/interactables-legacy/Interactables.js.map +1 -1
- package/dist/react/interactables-legacy/useAssistantInteractable.d.ts.map +1 -1
- package/dist/react/interactables-legacy/useAssistantInteractable.js +3 -0
- package/dist/react/interactables-legacy/useAssistantInteractable.js.map +1 -1
- package/dist/react/interactables-shared/useInteractablePersistenceQueue.d.ts.map +1 -1
- package/dist/react/interactables-shared/useInteractablePersistenceQueue.js +11 -9
- package/dist/react/interactables-shared/useInteractablePersistenceQueue.js.map +1 -1
- package/dist/react/model-context/makeAssistantTool.d.ts +2 -2
- package/dist/react/model-context/makeAssistantTool.js +1 -1
- package/dist/react/model-context/makeAssistantTool.js.map +1 -1
- package/dist/react/model-context/useAssistantTool.d.ts +2 -2
- package/dist/react/model-context/useAssistantTool.js +1 -1
- package/dist/react/model-context/useAssistantTool.js.map +1 -1
- package/dist/react/model-context/useInteractable.d.ts.map +1 -1
- package/dist/react/model-context/useInteractable.js +4 -1
- package/dist/react/model-context/useInteractable.js.map +1 -1
- package/dist/react/model-context/useInteractableVersions.js +1 -1
- package/dist/react/model-context/useToolArgsStatus.d.ts.map +1 -1
- package/dist/react/model-context/useToolArgsStatus.js +2 -1
- package/dist/react/model-context/useToolArgsStatus.js.map +1 -1
- package/dist/react/primitives/message/MessageGroupedParts.d.ts +11 -2
- package/dist/react/primitives/message/MessageGroupedParts.d.ts.map +1 -1
- package/dist/react/primitives/message/MessageGroupedParts.js +3 -2
- package/dist/react/primitives/message/MessageGroupedParts.js.map +1 -1
- package/dist/react/primitives/part/PartMessages.d.ts +1 -0
- package/dist/react/primitives/part/PartMessages.d.ts.map +1 -1
- package/dist/react/primitives/part/PartMessages.js +1 -0
- package/dist/react/primitives/part/PartMessages.js.map +1 -1
- package/dist/react/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/react/primitives/thread/ThreadMessages.js +6 -5
- package/dist/react/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +16 -8
- package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +5 -1
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js +105 -104
- package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/react/runtimes/RemoteThreadResource.d.ts +1 -0
- package/dist/react/runtimes/RemoteThreadResource.d.ts.map +1 -1
- package/dist/react/runtimes/RemoteThreadResource.js +13 -11
- package/dist/react/runtimes/RemoteThreadResource.js.map +1 -1
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts +5 -24
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +354 -226
- package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts +1 -0
- package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js +22 -2
- package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js.map +1 -1
- package/dist/react/runtimes/cloud/auiV0.d.ts +40 -15
- package/dist/react/runtimes/cloud/auiV0.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/auiV0.js +62 -15
- package/dist/react/runtimes/cloud/auiV0.js.map +1 -1
- package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts +2 -1
- package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts.map +1 -1
- package/dist/react/runtimes/cloud/createCloudThreadListAdapter.js +6 -1
- package/dist/react/runtimes/cloud/createCloudThreadListAdapter.js.map +1 -1
- package/dist/react/runtimes/cloud/sdkIdentity.d.ts +6 -0
- package/dist/react/runtimes/cloud/sdkIdentity.d.ts.map +1 -0
- package/dist/react/runtimes/cloud/sdkIdentity.js +9 -0
- package/dist/react/runtimes/cloud/sdkIdentity.js.map +1 -0
- package/dist/react/runtimes/external-message-converter.d.ts +12 -2
- package/dist/react/runtimes/external-message-converter.d.ts.map +1 -1
- package/dist/react/runtimes/external-message-converter.js +26 -61
- package/dist/react/runtimes/external-message-converter.js.map +1 -1
- package/dist/react/runtimes/useExternalStoreRuntime.js +75 -46
- package/dist/react/runtimes/useExternalStoreRuntime.js.map +1 -1
- package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -1
- package/dist/react/runtimes/useRemoteThreadListRuntime.js +64 -24
- package/dist/react/runtimes/useRemoteThreadListRuntime.js.map +1 -1
- package/dist/react/utils/groupParts.d.ts +6 -1
- package/dist/react/utils/groupParts.d.ts.map +1 -1
- package/dist/react/utils/groupParts.js +6 -0
- package/dist/react/utils/groupParts.js.map +1 -1
- package/dist/react/utils/useJSONEqual.d.ts +3 -1
- package/dist/react/utils/useJSONEqual.d.ts.map +1 -1
- package/dist/react/utils/useJSONEqual.js +6 -1
- package/dist/react/utils/useJSONEqual.js.map +1 -1
- package/dist/react/utils/useJSONSchemaDependency.d.ts +7 -0
- package/dist/react/utils/useJSONSchemaDependency.d.ts.map +1 -0
- package/dist/react/utils/useJSONSchemaDependency.js +20 -0
- package/dist/react/utils/useJSONSchemaDependency.js.map +1 -0
- package/dist/runtime/api/thread-list-item-runtime.d.ts +7 -3
- package/dist/runtime/api/thread-list-item-runtime.d.ts.map +1 -1
- package/dist/runtime/api/thread-list-item-runtime.js +2 -2
- package/dist/runtime/api/thread-list-item-runtime.js.map +1 -1
- package/dist/runtime/api/thread-list-runtime.d.ts +3 -0
- package/dist/runtime/api/thread-list-runtime.d.ts.map +1 -1
- package/dist/runtime/api/thread-list-runtime.js +18 -14
- package/dist/runtime/api/thread-list-runtime.js.map +1 -1
- package/dist/runtime/api/thread-runtime.d.ts +4 -0
- package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
- package/dist/runtime/api/thread-runtime.js +3 -6
- package/dist/runtime/api/thread-runtime.js.map +1 -1
- package/dist/runtime/base/base-composer-runtime-core.d.ts +1 -0
- package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-composer-runtime-core.js +62 -22
- package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
- package/dist/runtime/base/base-thread-runtime-core.d.ts +2 -0
- package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-thread-runtime-core.js +161 -69
- package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
- package/dist/runtime/interfaces/composer-runtime-core.d.ts +12 -5
- package/dist/runtime/interfaces/composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/interfaces/thread-list-runtime-core.d.ts +4 -1
- package/dist/runtime/interfaces/thread-list-runtime-core.d.ts.map +1 -1
- package/dist/runtime/interfaces/thread-runtime-core.d.ts +6 -0
- package/dist/runtime/interfaces/thread-runtime-core.d.ts.map +1 -1
- package/dist/runtime/queue/message-queue.d.ts +5 -0
- package/dist/runtime/queue/message-queue.d.ts.map +1 -1
- package/dist/runtime/queue/message-queue.js +61 -6
- package/dist/runtime/queue/message-queue.js.map +1 -1
- package/dist/runtime/utils/auto-status.d.ts +6 -2
- package/dist/runtime/utils/auto-status.d.ts.map +1 -1
- package/dist/runtime/utils/auto-status.js +12 -4
- package/dist/runtime/utils/auto-status.js.map +1 -1
- package/dist/runtime/utils/external-message-conversion.d.ts +16 -4
- package/dist/runtime/utils/external-message-conversion.d.ts.map +1 -1
- package/dist/runtime/utils/external-message-conversion.js +49 -13
- package/dist/runtime/utils/external-message-conversion.js.map +1 -1
- package/dist/runtime/utils/message-repository.d.ts +1 -0
- package/dist/runtime/utils/message-repository.d.ts.map +1 -1
- package/dist/runtime/utils/message-repository.js +18 -9
- package/dist/runtime/utils/message-repository.js.map +1 -1
- package/dist/runtime/utils/thread-message-like.d.ts +2 -1
- package/dist/runtime/utils/thread-message-like.d.ts.map +1 -1
- package/dist/runtime/utils/thread-message-like.js +5 -3
- package/dist/runtime/utils/thread-message-like.js.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js +21 -27
- package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-runtime-core.js +8 -1
- package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
- package/dist/runtimes/internal.d.ts +3 -3
- package/dist/runtimes/internal.js +2 -2
- package/dist/runtimes/local/local-thread-runtime-core.d.ts +1 -1
- package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/local/local-thread-runtime-core.js +4 -1
- package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
- package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts +18 -1
- package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/remote-thread-state.js +130 -42
- package/dist/runtimes/remote-thread-list/remote-thread-state.js.map +1 -1
- package/dist/runtimes/remote-thread-list/title-generation.d.ts +49 -0
- package/dist/runtimes/remote-thread-list/title-generation.d.ts.map +1 -0
- package/dist/runtimes/remote-thread-list/title-generation.js +197 -0
- package/dist/runtimes/remote-thread-list/title-generation.js.map +1 -0
- package/dist/runtimes/remote-thread-list/title.d.ts +3 -1
- package/dist/runtimes/remote-thread-list/title.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/title.js +9 -1
- package/dist/runtimes/remote-thread-list/title.js.map +1 -1
- package/dist/runtimes/remote-thread-list/types.d.ts +10 -0
- package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
- package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts.map +1 -1
- package/dist/runtimes/tool-invocations/ToolInvocationTracker.js +2 -1
- package/dist/runtimes/tool-invocations/ToolInvocationTracker.js.map +1 -1
- package/dist/store/clients/external-thread.d.ts.map +1 -1
- package/dist/store/clients/external-thread.js +260 -203
- package/dist/store/clients/external-thread.js.map +1 -1
- package/dist/store/clients/model-context-client.d.ts.map +1 -1
- package/dist/store/clients/model-context-client.js +2 -1
- package/dist/store/clients/model-context-client.js.map +1 -1
- package/dist/store/clients/single-thread-list.d.ts.map +1 -1
- package/dist/store/clients/single-thread-list.js +1 -0
- package/dist/store/clients/single-thread-list.js.map +1 -1
- package/dist/store/clients/suggestions.d.ts.map +1 -1
- package/dist/store/clients/suggestions.js +5 -4
- package/dist/store/clients/suggestions.js.map +1 -1
- package/dist/store/clients/thread-tasks.d.ts +13 -0
- package/dist/store/clients/thread-tasks.d.ts.map +1 -0
- package/dist/store/clients/thread-tasks.js +69 -0
- package/dist/store/clients/thread-tasks.js.map +1 -0
- package/dist/store/index.d.ts +3 -2
- package/dist/store/index.js +3 -3
- package/dist/store/primitive-predicates.d.ts.map +1 -1
- package/dist/store/primitive-predicates.js +4 -4
- package/dist/store/primitive-predicates.js.map +1 -1
- package/dist/store/runtime-clients/composer-runtime-client.d.ts +1 -0
- package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/composer-runtime-client.js +97 -61
- package/dist/store/runtime-clients/composer-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/message-runtime-client.d.ts +1 -0
- package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/message-runtime-client.js +221 -144
- package/dist/store/runtime-clients/message-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-list-item-runtime-client.js +1 -1
- package/dist/store/runtime-clients/thread-list-item-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-list-runtime-client.js +54 -52
- package/dist/store/runtime-clients/thread-list-runtime-client.js.map +1 -1
- package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
- package/dist/store/runtime-clients/thread-runtime-client.js +246 -126
- package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
- package/dist/store/scope-registration.d.ts +2 -0
- package/dist/store/scope-registration.d.ts.map +1 -1
- package/dist/store/scopes/composer.d.ts +10 -2
- package/dist/store/scopes/composer.d.ts.map +1 -1
- package/dist/store/scopes/message.d.ts +30 -1
- package/dist/store/scopes/message.d.ts.map +1 -1
- package/dist/store/scopes/task.d.ts +36 -0
- package/dist/store/scopes/task.d.ts.map +1 -0
- package/dist/store/scopes/task.js +0 -0
- package/dist/store/scopes/thread-list-item.d.ts +2 -2
- package/dist/store/scopes/thread-list-item.d.ts.map +1 -1
- package/dist/store/scopes/thread.d.ts +28 -0
- package/dist/store/scopes/thread.d.ts.map +1 -1
- package/dist/store/scopes/threads.d.ts +1 -0
- package/dist/store/scopes/threads.d.ts.map +1 -1
- package/dist/subscribable/subscribable.d.ts +2 -1
- package/dist/subscribable/subscribable.d.ts.map +1 -1
- package/dist/subscribable/subscribable.js +23 -15
- package/dist/subscribable/subscribable.js.map +1 -1
- package/dist/types/attachment.d.ts +2 -1
- package/dist/types/attachment.d.ts.map +1 -1
- package/dist/types/attachment.js +2 -1
- package/dist/types/attachment.js.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/message.d.ts +8 -1
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js.map +1 -1
- package/dist/utils/abortable-iterable.d.ts +19 -0
- package/dist/utils/abortable-iterable.d.ts.map +1 -0
- package/dist/utils/abortable-iterable.js +88 -0
- package/dist/utils/abortable-iterable.js.map +1 -0
- package/dist/utils/composite-context-provider.d.ts.map +1 -1
- package/dist/utils/composite-context-provider.js +20 -2
- package/dist/utils/composite-context-provider.js.map +1 -1
- package/dist/utils/getGroupStatus.d.ts +18 -2
- package/dist/utils/getGroupStatus.d.ts.map +1 -1
- package/dist/utils/getGroupStatus.js +32 -7
- package/dist/utils/getGroupStatus.js.map +1 -1
- package/dist/utils/record.d.ts +11 -0
- package/dist/utils/record.d.ts.map +1 -0
- package/dist/utils/record.js +12 -0
- package/dist/utils/record.js.map +1 -0
- package/dist/utils/wire-media.d.ts.map +1 -1
- package/dist/utils/wire-media.js +2 -2
- package/dist/utils/wire-media.js.map +1 -1
- package/package.json +11 -11
- package/src/adapters/attachment.test.ts +50 -1
- package/src/adapters/attachment.ts +7 -4
- package/src/adapters/speech.test.ts +236 -0
- package/src/adapters/speech.ts +17 -10
- package/src/adapters/thread-history.ts +3 -0
- package/src/index.ts +2 -0
- package/src/internal.ts +4 -0
- package/src/model-context/frame/host.test.ts +137 -1
- package/src/model-context/frame/host.ts +49 -16
- package/src/model-context/frame/provider.test.ts +71 -0
- package/src/model-context/frame/provider.ts +37 -7
- package/src/model-context/interactable-composer-metadata.test.ts +58 -0
- package/src/model-context/interactable-composer-metadata.ts +19 -13
- package/src/model-context/registry.test.ts +12 -0
- package/src/model-context/registry.ts +3 -2
- package/src/model-context/types.test.ts +25 -0
- package/src/model-context/types.ts +9 -4
- package/src/react/RuntimeAdapter.test.ts +34 -0
- package/src/react/adapters/LocalStorageThreadListAdapter.test.ts +244 -0
- package/src/react/adapters/LocalStorageThreadListAdapter.tsx +104 -7
- package/src/react/client/DataRenderers.test.tsx +45 -0
- package/src/react/client/DataRenderers.ts +13 -9
- package/src/react/client/InMemoryThreadList.ts +1 -0
- package/src/react/client/Interactables.test.ts +72 -1
- package/src/react/client/Interactables.ts +22 -14
- package/src/react/client/RemoteThreadList.background.test.ts +148 -6
- package/src/react/client/RemoteThreadList.concurrent.test.tsx +42 -1
- package/src/react/client/RemoteThreadList.test.ts +386 -4
- package/src/react/client/RemoteThreadList.ts +181 -112
- package/src/react/client/Tools.ts +22 -11
- package/src/react/client/interactable-model-context.test.ts +44 -0
- package/src/react/client/interactable-model-context.ts +3 -2
- package/src/react/index.ts +5 -1
- package/src/react/interactables-legacy/Interactables.ts +16 -16
- package/src/react/interactables-legacy/useAssistantInteractable.test.tsx +132 -0
- package/src/react/interactables-legacy/useAssistantInteractable.ts +10 -1
- package/src/react/interactables-shared/useInteractablePersistenceQueue.ts +9 -10
- package/src/react/model-context/makeAssistantTool.ts +2 -2
- package/src/react/model-context/useAssistantTool.ts +2 -2
- package/src/react/model-context/useInteractable.test.tsx +177 -0
- package/src/react/model-context/useInteractable.ts +3 -0
- package/src/react/model-context/useToolArgsStatus.test.tsx +30 -0
- package/src/react/model-context/useToolArgsStatus.ts +2 -1
- package/src/react/primitive-hooks/useActionBarCopy.test.ts +0 -1
- package/src/react/primitive-hooks/useSuggestionTrigger.test.ts +0 -1
- package/src/react/primitives/message/MessageGroupedParts.test.tsx +96 -0
- package/src/react/primitives/message/MessageGroupedParts.tsx +15 -4
- package/src/react/primitives/part/PartMessages.test.tsx +104 -1
- package/src/react/primitives/part/PartMessages.tsx +1 -0
- package/src/react/primitives/thread/ThreadMessages.test.tsx +142 -0
- package/src/react/primitives/thread/ThreadMessages.tsx +8 -5
- package/src/react/providers/ReadonlyThreadProvider.test.tsx +56 -0
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.destroy.test.tsx +172 -0
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.running.test.tsx +33 -0
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.test.tsx +7 -1
- package/src/react/runtimes/RemoteThreadListHookInstanceManager.tsx +28 -5
- package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.load-error.test.ts +132 -0
- package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.switch-delete.test.ts +105 -0
- package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +143 -112
- package/src/react/runtimes/RemoteThreadResource.test.ts +9 -0
- package/src/react/runtimes/RemoteThreadResource.ts +19 -12
- package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.ts +20 -14
- package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.tsx +703 -6
- package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.ts +492 -402
- package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.test.ts +77 -0
- package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.ts +27 -1
- package/src/react/runtimes/cloud/auiV0.ts +160 -25
- package/src/react/runtimes/cloud/createCloudThreadListAdapter.test.ts +36 -0
- package/src/react/runtimes/cloud/createCloudThreadListAdapter.ts +8 -1
- package/src/react/runtimes/cloud/sdkIdentity.ts +9 -0
- package/src/react/runtimes/cloud/useCloudThreadListAdapter.test.tsx +18 -4
- package/src/react/runtimes/external-message-converter.test.ts +136 -1
- package/src/react/runtimes/external-message-converter.ts +39 -93
- package/src/react/runtimes/useExternalStoreRuntime.lifecycle.test.tsx +41 -0
- package/src/react/runtimes/useExternalStoreRuntime.ts +10 -4
- package/src/react/runtimes/useLocalRuntime.test.tsx +20 -0
- package/src/react/runtimes/useRemoteThreadListRuntime.load-error.test.tsx +108 -0
- package/src/react/runtimes/useRemoteThreadListRuntime.ts +34 -1
- package/src/react/utils/groupParts.ts +12 -1
- package/src/react/utils/useJSONEqual.ts +9 -0
- package/src/react/utils/useJSONSchemaDependency.ts +22 -0
- package/src/runtime/api/message-runtime.test.ts +75 -0
- package/src/runtime/api/thread-list-item-runtime.ts +10 -3
- package/src/runtime/api/thread-list-runtime.ts +21 -11
- package/src/runtime/api/thread-runtime.test.ts +136 -0
- package/src/runtime/api/thread-runtime.ts +10 -5
- package/src/runtime/base/base-composer-runtime-core.ts +105 -24
- package/src/runtime/base/base-thread-runtime-core.test.ts +1063 -2
- package/src/runtime/base/base-thread-runtime-core.ts +228 -87
- package/src/runtime/interfaces/composer-runtime-core.ts +10 -5
- package/src/runtime/interfaces/thread-list-runtime-core.ts +5 -1
- package/src/runtime/interfaces/thread-runtime-core.ts +6 -0
- package/src/runtime/queue/message-queue.ts +68 -6
- package/src/runtime/utils/auto-status.test.ts +112 -1
- package/src/runtime/utils/auto-status.ts +31 -5
- package/src/runtime/utils/external-message-conversion.test.ts +202 -0
- package/src/runtime/utils/external-message-conversion.ts +123 -32
- package/src/runtime/utils/message-repository.test.ts +49 -0
- package/src/runtime/utils/message-repository.ts +32 -20
- package/src/runtime/utils/thread-message-like.test.ts +52 -0
- package/src/runtime/utils/thread-message-like.ts +5 -1
- package/src/runtimes/external-store/external-store-thread-list-runtime-core.ts +18 -13
- package/src/runtimes/external-store/external-store-thread-runtime-core.ts +31 -1
- package/src/runtimes/internal.ts +1 -0
- package/src/runtimes/local/local-thread-runtime-core.test.ts +21 -0
- package/src/runtimes/local/local-thread-runtime-core.ts +11 -1
- package/src/runtimes/remote-thread-list/remote-thread-state.test.ts +128 -2
- package/src/runtimes/remote-thread-list/remote-thread-state.ts +182 -42
- package/src/runtimes/remote-thread-list/title-generation.test.ts +602 -0
- package/src/runtimes/remote-thread-list/title-generation.ts +329 -0
- package/src/runtimes/remote-thread-list/title.test.ts +62 -0
- package/src/runtimes/remote-thread-list/title.ts +13 -0
- package/src/runtimes/remote-thread-list/types.ts +10 -0
- package/src/runtimes/tool-invocations/EDGE_CASES.md +2 -6
- package/src/runtimes/tool-invocations/ToolInvocationTracker.test.ts +133 -0
- package/src/runtimes/tool-invocations/ToolInvocationTracker.ts +10 -6
- package/src/store/clients/external-thread.ts +67 -4
- package/src/store/clients/model-context-client.ts +5 -1
- package/src/store/clients/single-thread-list.ts +1 -0
- package/src/store/clients/suggestions.test.ts +40 -0
- package/src/store/clients/suggestions.ts +13 -10
- package/src/store/clients/thread-tasks.test.ts +274 -0
- package/src/store/clients/thread-tasks.ts +138 -0
- package/src/store/index.ts +8 -0
- package/src/store/primitive-predicates.test.ts +48 -5
- package/src/store/primitive-predicates.ts +7 -2
- package/src/store/runtime-clients/composer-runtime-client.ts +42 -9
- package/src/store/runtime-clients/message-runtime-client.ts +54 -6
- package/src/store/runtime-clients/thread-list-item-runtime-client.ts +4 -2
- package/src/store/runtime-clients/thread-list-runtime-client.ts +1 -0
- package/src/store/runtime-clients/thread-runtime-client.ts +89 -11
- package/src/store/scope-registration.ts +2 -0
- package/src/store/scopes/composer.ts +16 -4
- package/src/store/scopes/message.ts +14 -0
- package/src/store/scopes/task.ts +34 -0
- package/src/store/scopes/thread-list-item.ts +5 -2
- package/src/store/scopes/thread.ts +20 -0
- package/src/store/scopes/threads.ts +1 -0
- package/src/store/thread-tasks.test.tsx +209 -0
- package/src/subscribable/subscribable.test.ts +156 -1
- package/src/subscribable/subscribable.ts +25 -15
- package/src/tests/MessageRepository.test.ts +117 -5
- package/src/tests/OptimisticState-list-race.test.ts +1 -0
- package/src/tests/RemoteThreadListThreadListRuntimeCore-initialize-adapter-change.test.ts +38 -0
- package/src/tests/RemoteThreadListThreadListRuntimeCore-load-race.test.ts +47 -0
- package/src/tests/RemoteThreadListThreadListRuntimeCore-title-race.test.ts +89 -0
- package/src/tests/attachment-adapters.test.ts +14 -0
- package/src/tests/auiV0Encode.test.ts +300 -0
- package/src/tests/base-composer-runtime-core-send.test.ts +51 -0
- package/src/tests/base-composer-runtime-core.test.ts +353 -2
- package/src/tests/external-store-thread-list-runtime-core.test.ts +83 -0
- package/src/tests/external-store-thread-runtime-core-adapter.test.ts +178 -18
- package/src/tests/external-thread-attachments.test.tsx +208 -0
- package/src/tests/external-thread-parity.test.tsx +57 -0
- package/src/tests/groupParts.test.ts +71 -0
- package/src/tests/message-queue.test.ts +253 -0
- package/src/tests/remote-thread-list-isLoading.test.ts +1 -0
- package/src/tests/remote-thread-list-reactive-threadId.test.ts +51 -0
- package/src/tests/thread-list-runtime-getLoadThreadsPromise.test.ts +1 -0
- package/src/tests/thread-switch-events.test.tsx +78 -0
- package/src/tests/tools-scope-migration.test.tsx +28 -0
- package/src/tests/useRemoteThreadListRuntime-controlled.test.tsx +43 -0
- package/src/types/attachment.ts +4 -0
- package/src/types/index.ts +1 -0
- package/src/types/message.ts +8 -0
- package/src/utils/abortable-iterable.test.ts +328 -0
- package/src/utils/abortable-iterable.ts +104 -0
- package/src/utils/composite-context-provider.test.ts +25 -0
- package/src/utils/composite-context-provider.ts +23 -2
- package/src/utils/getGroupStatus.test.ts +70 -4
- package/src/utils/getGroupStatus.ts +35 -12
- package/src/utils/record.test.ts +48 -0
- package/src/utils/record.ts +11 -0
- package/src/utils/wire-media.test.ts +10 -0
- package/src/utils/wire-media.ts +6 -2
|
@@ -3,9 +3,9 @@ import { AttachmentRuntimeClient } from "./attachment-runtime-client.js";
|
|
|
3
3
|
import { MessagePartClient } from "./message-part-runtime-client.js";
|
|
4
4
|
import { ComposerClient } from "./composer-runtime-client.js";
|
|
5
5
|
import { liveRef } from "./liveRef.js";
|
|
6
|
-
import { useClientLookup, useClientResource } from "@assistant-ui/store/client";
|
|
6
|
+
import { useAssistantEmit, useClientLookup, useClientResource } from "@assistant-ui/store/client";
|
|
7
7
|
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
8
|
-
import { useState } from "@assistant-ui/tap/react-shim";
|
|
8
|
+
import { useEffect, useRef, useState } from "@assistant-ui/tap/react-shim";
|
|
9
9
|
import { resource, useResource, withKey } from "@assistant-ui/tap";
|
|
10
10
|
//#region src/store/runtime-clients/message-runtime-client.ts
|
|
11
11
|
const useMessageAttachmentClientByIndex = (t0) => {
|
|
@@ -49,9 +49,10 @@ const useMessagePartByIndex = (t0) => {
|
|
|
49
49
|
};
|
|
50
50
|
const MessagePartByIndex = resource(useMessagePartByIndex);
|
|
51
51
|
const useMessageClient = (t0) => {
|
|
52
|
-
const $ = c(
|
|
53
|
-
const { runtime, threadIdRef } = t0;
|
|
52
|
+
const $ = c(74);
|
|
53
|
+
const { runtime, threadIdRef, threadId } = t0;
|
|
54
54
|
const runtimeState = useSubscribable(runtime);
|
|
55
|
+
const emit = useAssistantEmit();
|
|
55
56
|
const [isCopiedState, setIsCopied] = useState(false);
|
|
56
57
|
const [isHoveringState, setIsHovering] = useState(false);
|
|
57
58
|
let t1;
|
|
@@ -61,178 +62,254 @@ const useMessageClient = (t0) => {
|
|
|
61
62
|
$[1] = t1;
|
|
62
63
|
} else t1 = $[1];
|
|
63
64
|
const messageIdRef = t1;
|
|
65
|
+
const previousStatus = useRef(runtimeState.status);
|
|
64
66
|
let t2;
|
|
65
|
-
if ($[2] !==
|
|
66
|
-
t2 =
|
|
67
|
+
if ($[2] !== emit || $[3] !== runtime || $[4] !== threadId) {
|
|
68
|
+
t2 = (event) => {
|
|
69
|
+
emit(event, {
|
|
70
|
+
threadId,
|
|
71
|
+
messageId: runtime.getState().id
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
$[2] = emit;
|
|
75
|
+
$[3] = runtime;
|
|
76
|
+
$[4] = threadId;
|
|
77
|
+
$[5] = t2;
|
|
78
|
+
} else t2 = $[5];
|
|
79
|
+
const emitMessageEvent = t2;
|
|
80
|
+
let t3;
|
|
81
|
+
let t4;
|
|
82
|
+
if ($[6] !== emit || $[7] !== runtimeState.id || $[8] !== runtimeState.status || $[9] !== threadId) {
|
|
83
|
+
t3 = () => {
|
|
84
|
+
const status = runtimeState.status;
|
|
85
|
+
const previous = previousStatus.current;
|
|
86
|
+
previousStatus.current = status;
|
|
87
|
+
if (status?.type === "incomplete" && status.reason === "error" && (previous?.type !== "incomplete" || previous.reason !== "error")) emit("message.error", {
|
|
88
|
+
threadId,
|
|
89
|
+
messageId: runtimeState.id,
|
|
90
|
+
reason: "error"
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
t4 = [
|
|
94
|
+
runtimeState.status,
|
|
95
|
+
runtimeState.id,
|
|
96
|
+
emit,
|
|
97
|
+
threadId
|
|
98
|
+
];
|
|
99
|
+
$[6] = emit;
|
|
100
|
+
$[7] = runtimeState.id;
|
|
101
|
+
$[8] = runtimeState.status;
|
|
102
|
+
$[9] = threadId;
|
|
103
|
+
$[10] = t3;
|
|
104
|
+
$[11] = t4;
|
|
105
|
+
} else {
|
|
106
|
+
t3 = $[10];
|
|
107
|
+
t4 = $[11];
|
|
108
|
+
}
|
|
109
|
+
useEffect(t3, t4);
|
|
110
|
+
let t5;
|
|
111
|
+
if ($[12] !== messageIdRef || $[13] !== runtime.composer || $[14] !== threadIdRef) {
|
|
112
|
+
t5 = ComposerClient({
|
|
67
113
|
runtime: runtime.composer,
|
|
68
114
|
threadIdRef,
|
|
69
115
|
messageIdRef
|
|
70
116
|
});
|
|
71
|
-
$[
|
|
72
|
-
$[
|
|
73
|
-
$[
|
|
74
|
-
$[
|
|
75
|
-
} else
|
|
76
|
-
const composer = useClientResource(
|
|
77
|
-
let
|
|
78
|
-
if ($[
|
|
79
|
-
let
|
|
80
|
-
if ($[
|
|
81
|
-
|
|
117
|
+
$[12] = messageIdRef;
|
|
118
|
+
$[13] = runtime.composer;
|
|
119
|
+
$[14] = threadIdRef;
|
|
120
|
+
$[15] = t5;
|
|
121
|
+
} else t5 = $[15];
|
|
122
|
+
const composer = useClientResource(t5);
|
|
123
|
+
let t6;
|
|
124
|
+
if ($[16] !== runtime || $[17] !== runtimeState.content) {
|
|
125
|
+
let t7;
|
|
126
|
+
if ($[19] !== runtime) {
|
|
127
|
+
t7 = (part, idx) => withKey("toolCallId" in part && part.toolCallId != null ? `toolCallId-${part.toolCallId}` : `index-${idx}`, MessagePartByIndex({
|
|
82
128
|
runtime,
|
|
83
129
|
index: idx
|
|
84
130
|
}), [runtime, idx]);
|
|
85
|
-
$[
|
|
86
|
-
$[
|
|
87
|
-
} else
|
|
88
|
-
|
|
89
|
-
$[
|
|
90
|
-
$[
|
|
91
|
-
$[
|
|
92
|
-
} else
|
|
93
|
-
const parts = useClientLookup(
|
|
94
|
-
let
|
|
95
|
-
if ($[
|
|
96
|
-
|
|
97
|
-
$[
|
|
98
|
-
$[
|
|
99
|
-
} else
|
|
100
|
-
let
|
|
101
|
-
if ($[
|
|
102
|
-
let
|
|
103
|
-
if ($[
|
|
104
|
-
|
|
131
|
+
$[19] = runtime;
|
|
132
|
+
$[20] = t7;
|
|
133
|
+
} else t7 = $[20];
|
|
134
|
+
t6 = runtimeState.content.map(t7);
|
|
135
|
+
$[16] = runtime;
|
|
136
|
+
$[17] = runtimeState.content;
|
|
137
|
+
$[18] = t6;
|
|
138
|
+
} else t6 = $[18];
|
|
139
|
+
const parts = useClientLookup(t6);
|
|
140
|
+
let t7;
|
|
141
|
+
if ($[21] !== runtimeState.attachments) {
|
|
142
|
+
t7 = runtimeState.attachments ?? [];
|
|
143
|
+
$[21] = runtimeState.attachments;
|
|
144
|
+
$[22] = t7;
|
|
145
|
+
} else t7 = $[22];
|
|
146
|
+
let t8;
|
|
147
|
+
if ($[23] !== runtime || $[24] !== t7) {
|
|
148
|
+
let t9;
|
|
149
|
+
if ($[26] !== runtime) {
|
|
150
|
+
t9 = (attachment, idx_0) => withKey(attachment.id, MessageAttachmentClientByIndex({
|
|
105
151
|
runtime,
|
|
106
152
|
index: idx_0
|
|
107
153
|
}), [runtime, idx_0]);
|
|
108
|
-
$[
|
|
109
|
-
$[
|
|
110
|
-
} else
|
|
111
|
-
|
|
112
|
-
$[
|
|
113
|
-
$[
|
|
114
|
-
$[
|
|
115
|
-
} else
|
|
116
|
-
const attachments = useClientLookup(
|
|
117
|
-
const
|
|
118
|
-
let
|
|
119
|
-
if ($[
|
|
120
|
-
|
|
121
|
-
...
|
|
154
|
+
$[26] = runtime;
|
|
155
|
+
$[27] = t9;
|
|
156
|
+
} else t9 = $[27];
|
|
157
|
+
t8 = t7.map(t9);
|
|
158
|
+
$[23] = runtime;
|
|
159
|
+
$[24] = t7;
|
|
160
|
+
$[25] = t8;
|
|
161
|
+
} else t8 = $[25];
|
|
162
|
+
const attachments = useClientLookup(t8);
|
|
163
|
+
const t9 = runtimeState;
|
|
164
|
+
let t10;
|
|
165
|
+
if ($[28] !== composer.state || $[29] !== isCopiedState || $[30] !== isHoveringState || $[31] !== parts.state || $[32] !== t9) {
|
|
166
|
+
t10 = {
|
|
167
|
+
...t9,
|
|
122
168
|
parts: parts.state,
|
|
123
169
|
composer: composer.state,
|
|
124
170
|
isCopied: isCopiedState,
|
|
125
171
|
isHovering: isHoveringState
|
|
126
172
|
};
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
129
|
-
$[
|
|
130
|
-
$[
|
|
131
|
-
$[
|
|
132
|
-
$[
|
|
133
|
-
} else
|
|
134
|
-
const state =
|
|
135
|
-
let t8;
|
|
136
|
-
if ($[24] !== state) {
|
|
137
|
-
t8 = () => state;
|
|
138
|
-
$[24] = state;
|
|
139
|
-
$[25] = t8;
|
|
140
|
-
} else t8 = $[25];
|
|
141
|
-
let t9;
|
|
142
|
-
if ($[26] !== composer.methods) {
|
|
143
|
-
t9 = () => composer.methods;
|
|
144
|
-
$[26] = composer.methods;
|
|
145
|
-
$[27] = t9;
|
|
146
|
-
} else t9 = $[27];
|
|
147
|
-
let t10;
|
|
173
|
+
$[28] = composer.state;
|
|
174
|
+
$[29] = isCopiedState;
|
|
175
|
+
$[30] = isHoveringState;
|
|
176
|
+
$[31] = parts.state;
|
|
177
|
+
$[32] = t9;
|
|
178
|
+
$[33] = t10;
|
|
179
|
+
} else t10 = $[33];
|
|
180
|
+
const state = t10;
|
|
148
181
|
let t11;
|
|
182
|
+
if ($[34] !== state) {
|
|
183
|
+
t11 = () => state;
|
|
184
|
+
$[34] = state;
|
|
185
|
+
$[35] = t11;
|
|
186
|
+
} else t11 = $[35];
|
|
149
187
|
let t12;
|
|
188
|
+
if ($[36] !== composer.methods) {
|
|
189
|
+
t12 = () => composer.methods;
|
|
190
|
+
$[36] = composer.methods;
|
|
191
|
+
$[37] = t12;
|
|
192
|
+
} else t12 = $[37];
|
|
150
193
|
let t13;
|
|
194
|
+
if ($[38] !== runtime) {
|
|
195
|
+
t13 = () => runtime.delete();
|
|
196
|
+
$[38] = runtime;
|
|
197
|
+
$[39] = t13;
|
|
198
|
+
} else t13 = $[39];
|
|
151
199
|
let t14;
|
|
152
200
|
let t15;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
$[
|
|
163
|
-
$[
|
|
164
|
-
$[
|
|
165
|
-
$[
|
|
166
|
-
$[32] = t13;
|
|
167
|
-
$[33] = t14;
|
|
168
|
-
$[34] = t15;
|
|
169
|
-
$[35] = t16;
|
|
201
|
+
if ($[40] !== emitMessageEvent || $[41] !== runtime) {
|
|
202
|
+
t14 = (config) => {
|
|
203
|
+
emitMessageEvent("message.reload");
|
|
204
|
+
return runtime.reload(config);
|
|
205
|
+
};
|
|
206
|
+
t15 = () => {
|
|
207
|
+
emitMessageEvent("message.speak");
|
|
208
|
+
return runtime.speak();
|
|
209
|
+
};
|
|
210
|
+
$[40] = emitMessageEvent;
|
|
211
|
+
$[41] = runtime;
|
|
212
|
+
$[42] = t14;
|
|
213
|
+
$[43] = t15;
|
|
170
214
|
} else {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
t12 = $[31];
|
|
174
|
-
t13 = $[32];
|
|
175
|
-
t14 = $[33];
|
|
176
|
-
t15 = $[34];
|
|
177
|
-
t16 = $[35];
|
|
215
|
+
t14 = $[42];
|
|
216
|
+
t15 = $[43];
|
|
178
217
|
}
|
|
218
|
+
let t16;
|
|
179
219
|
let t17;
|
|
180
|
-
if ($[
|
|
181
|
-
|
|
220
|
+
if ($[44] !== runtime) {
|
|
221
|
+
t16 = () => runtime.stopSpeaking();
|
|
222
|
+
t17 = (feedback) => runtime.submitFeedback(feedback);
|
|
223
|
+
$[44] = runtime;
|
|
224
|
+
$[45] = t16;
|
|
225
|
+
$[46] = t17;
|
|
226
|
+
} else {
|
|
227
|
+
t16 = $[45];
|
|
228
|
+
t17 = $[46];
|
|
229
|
+
}
|
|
230
|
+
let t18;
|
|
231
|
+
if ($[47] !== emitMessageEvent || $[48] !== runtime) {
|
|
232
|
+
t18 = (options) => {
|
|
233
|
+
emitMessageEvent("message.branchSwitched");
|
|
234
|
+
return runtime.switchToBranch(options);
|
|
235
|
+
};
|
|
236
|
+
$[47] = emitMessageEvent;
|
|
237
|
+
$[48] = runtime;
|
|
238
|
+
$[49] = t18;
|
|
239
|
+
} else t18 = $[49];
|
|
240
|
+
let t19;
|
|
241
|
+
if ($[50] !== runtime) {
|
|
242
|
+
t19 = () => runtime.unstable_getCopyText();
|
|
243
|
+
$[50] = runtime;
|
|
244
|
+
$[51] = t19;
|
|
245
|
+
} else t19 = $[51];
|
|
246
|
+
let t20;
|
|
247
|
+
if ($[52] !== parts) {
|
|
248
|
+
t20 = (selector) => {
|
|
182
249
|
if ("index" in selector) return parts.get({ index: selector.index });
|
|
183
250
|
else return parts.get({ key: `toolCallId-${selector.toolCallId}` });
|
|
184
251
|
};
|
|
185
|
-
$[
|
|
186
|
-
$[
|
|
187
|
-
} else
|
|
188
|
-
let
|
|
189
|
-
if ($[
|
|
190
|
-
|
|
252
|
+
$[52] = parts;
|
|
253
|
+
$[53] = t20;
|
|
254
|
+
} else t20 = $[53];
|
|
255
|
+
let t21;
|
|
256
|
+
if ($[54] !== attachments) {
|
|
257
|
+
t21 = (selector_0) => {
|
|
191
258
|
if ("id" in selector_0) return attachments.get({ key: selector_0.id });
|
|
192
259
|
else return attachments.get(selector_0);
|
|
193
260
|
};
|
|
194
|
-
$[
|
|
195
|
-
$[
|
|
196
|
-
} else
|
|
197
|
-
let
|
|
198
|
-
if ($[
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
261
|
+
$[54] = attachments;
|
|
262
|
+
$[55] = t21;
|
|
263
|
+
} else t21 = $[55];
|
|
264
|
+
let t22;
|
|
265
|
+
if ($[56] !== emitMessageEvent) {
|
|
266
|
+
t22 = (value) => {
|
|
267
|
+
if (value) emitMessageEvent("message.copied");
|
|
268
|
+
setIsCopied(value);
|
|
269
|
+
};
|
|
270
|
+
$[56] = emitMessageEvent;
|
|
271
|
+
$[57] = t22;
|
|
272
|
+
} else t22 = $[57];
|
|
273
|
+
let t23;
|
|
274
|
+
if ($[58] !== runtime) {
|
|
275
|
+
t23 = () => runtime;
|
|
276
|
+
$[58] = runtime;
|
|
277
|
+
$[59] = t23;
|
|
278
|
+
} else t23 = $[59];
|
|
279
|
+
let t24;
|
|
280
|
+
if ($[60] !== t11 || $[61] !== t12 || $[62] !== t13 || $[63] !== t14 || $[64] !== t15 || $[65] !== t16 || $[66] !== t17 || $[67] !== t18 || $[68] !== t19 || $[69] !== t20 || $[70] !== t21 || $[71] !== t22 || $[72] !== t23) {
|
|
281
|
+
t24 = {
|
|
282
|
+
getState: t11,
|
|
283
|
+
composer: t12,
|
|
284
|
+
delete: t13,
|
|
285
|
+
reload: t14,
|
|
286
|
+
speak: t15,
|
|
287
|
+
stopSpeaking: t16,
|
|
288
|
+
submitFeedback: t17,
|
|
289
|
+
switchToBranch: t18,
|
|
290
|
+
getCopyText: t19,
|
|
291
|
+
part: t20,
|
|
292
|
+
attachment: t21,
|
|
293
|
+
setIsCopied: t22,
|
|
218
294
|
setIsHovering,
|
|
219
|
-
__internal_getRuntime:
|
|
295
|
+
__internal_getRuntime: t23
|
|
220
296
|
};
|
|
221
|
-
$[
|
|
222
|
-
$[
|
|
223
|
-
$[
|
|
224
|
-
$[
|
|
225
|
-
$[
|
|
226
|
-
$[
|
|
227
|
-
$[
|
|
228
|
-
$[
|
|
229
|
-
$[
|
|
230
|
-
$[
|
|
231
|
-
$[
|
|
232
|
-
$[
|
|
233
|
-
$[
|
|
234
|
-
|
|
235
|
-
|
|
297
|
+
$[60] = t11;
|
|
298
|
+
$[61] = t12;
|
|
299
|
+
$[62] = t13;
|
|
300
|
+
$[63] = t14;
|
|
301
|
+
$[64] = t15;
|
|
302
|
+
$[65] = t16;
|
|
303
|
+
$[66] = t17;
|
|
304
|
+
$[67] = t18;
|
|
305
|
+
$[68] = t19;
|
|
306
|
+
$[69] = t20;
|
|
307
|
+
$[70] = t21;
|
|
308
|
+
$[71] = t22;
|
|
309
|
+
$[72] = t23;
|
|
310
|
+
$[73] = t24;
|
|
311
|
+
} else t24 = $[73];
|
|
312
|
+
return t24;
|
|
236
313
|
};
|
|
237
314
|
const MessageClient = resource(useMessageClient);
|
|
238
315
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-runtime-client.js","names":["useMemo","useState","useResource","withKey","resource","ClientOutput","useClientLookup","useClientResource","MessageRuntime","useSubscribable","liveRef","ComposerClient","MessagePartClient","MessageState","AttachmentRuntimeClient","useMessageAttachmentClientByIndex","t0","$","_c","runtime","index","t1","getAttachmentByIndex","attachmentRuntime","t2","MessageAttachmentClientByIndex","useMessagePartByIndex","getMessagePartByIndex","partRuntime","MessagePartByIndex","useMessageClient","threadIdRef","runtimeState","isCopiedState","setIsCopied","isHoveringState","setIsHovering","getState","id","messageIdRef","composer","t3","content","t4","part","idx","toolCallId","map","parts","attachments","t5","t6","attachment","idx_0","t7","state","isCopied","isHovering","t8","t9","methods","t10","t11","t12","t13","t14","t15","t16","delete","config","reload","speak","stopSpeaking","feedback","submitFeedback","options","switchToBranch","unstable_getCopyText","t17","selector","get","key","t18","selector_0","t19","t20","getCopyText","__internal_getRuntime","MessageClient"],"sources":["../../../src/store/runtime-clients/message-runtime-client.ts"],"sourcesContent":["import { useMemo, useState } from \"react\";\nimport { useResource, withKey, resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport { useClientLookup, useClientResource } from \"@assistant-ui/store/client\";\nimport type { MessageRuntime } from \"../../runtime/api/message-runtime\";\nimport { useSubscribable } from \"./useSubscribable\";\nimport { liveRef } from \"./liveRef\";\nimport { ComposerClient } from \"./composer-runtime-client\";\nimport { MessagePartClient } from \"./message-part-runtime-client\";\nimport type { MessageState } from \"../scopes/message\";\nimport { AttachmentRuntimeClient } from \"./attachment-runtime-client\";\n\nconst useMessageAttachmentClientByIndex = ({\n runtime,\n index,\n}: {\n runtime: MessageRuntime;\n index: number;\n}) => {\n const attachmentRuntime = useMemo(\n () => runtime.getAttachmentByIndex(index),\n [runtime, index],\n );\n return useResource(AttachmentRuntimeClient({ runtime: attachmentRuntime }));\n};\n\nconst MessageAttachmentClientByIndex = resource(\n useMessageAttachmentClientByIndex,\n);\n\nconst useMessagePartByIndex = ({\n runtime,\n index,\n}: {\n runtime: MessageRuntime;\n index: number;\n}) => {\n const partRuntime = useMemo(\n () => runtime.getMessagePartByIndex(index),\n [runtime, index],\n );\n return useResource(MessagePartClient({ runtime: partRuntime }));\n};\n\nconst MessagePartByIndex = resource(useMessagePartByIndex);\n\nconst useMessageClient = ({\n runtime,\n threadIdRef,\n}: {\n runtime: MessageRuntime;\n threadIdRef: { current: string };\n}): ClientOutput<\"message\"> => {\n const runtimeState = useSubscribable(runtime);\n\n const [isCopiedState, setIsCopied] = useState(false);\n const [isHoveringState, setIsHovering] = useState(false);\n\n const messageIdRef = useMemo(\n () => liveRef(() => runtime.getState().id),\n [runtime],\n );\n\n const composer = useClientResource(\n ComposerClient({\n runtime: runtime.composer,\n threadIdRef,\n messageIdRef,\n }),\n );\n const parts = useClientLookup(\n runtimeState.content.map((part, idx) =>\n withKey(\n \"toolCallId\" in part && part.toolCallId != null\n ? `toolCallId-${part.toolCallId}`\n : `index-${idx}`,\n MessagePartByIndex({ runtime, index: idx }),\n [runtime, idx],\n ),\n ),\n );\n\n const attachments = useClientLookup(\n (runtimeState.attachments ?? []).map((attachment, idx) =>\n withKey(\n attachment.id,\n MessageAttachmentClientByIndex({ runtime, index: idx }),\n [runtime, idx],\n ),\n ),\n );\n\n const state = useMemo<MessageState>(() => {\n return {\n ...(runtimeState as MessageState),\n\n parts: parts.state,\n composer: composer.state,\n\n isCopied: isCopiedState,\n isHovering: isHoveringState,\n };\n }, [\n runtimeState,\n parts.state,\n composer.state,\n isCopiedState,\n isHoveringState,\n ]);\n\n return {\n getState: () => state,\n\n composer: () => composer.methods,\n\n delete: () => runtime.delete(),\n reload: (config) => runtime.reload(config),\n speak: () => runtime.speak(),\n stopSpeaking: () => runtime.stopSpeaking(),\n submitFeedback: (feedback) => runtime.submitFeedback(feedback),\n switchToBranch: (options) => runtime.switchToBranch(options),\n getCopyText: () => runtime.unstable_getCopyText(),\n part: (selector) => {\n if (\"index\" in selector) {\n return parts.get({ index: selector.index });\n } else {\n return parts.get({ key: `toolCallId-${selector.toolCallId}` });\n }\n },\n\n attachment: (selector) => {\n if (\"id\" in selector) {\n return attachments.get({ key: selector.id });\n } else {\n return attachments.get(selector);\n }\n },\n\n setIsCopied,\n setIsHovering,\n\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const MessageClient = resource(useMessageClient);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message-runtime-client.js","names":["useEffect","useMemo","useRef","useState","useResource","withKey","resource","ClientOutput","useAssistantEmit","useClientLookup","useClientResource","MessageRuntime","useSubscribable","liveRef","ComposerClient","MessagePartClient","MessageState","AttachmentRuntimeClient","useMessageAttachmentClientByIndex","t0","$","_c","runtime","index","t1","getAttachmentByIndex","attachmentRuntime","t2","MessageAttachmentClientByIndex","useMessagePartByIndex","getMessagePartByIndex","partRuntime","MessagePartByIndex","useMessageClient","threadIdRef","threadId","runtimeState","emit","isCopiedState","setIsCopied","isHoveringState","setIsHovering","getState","id","messageIdRef","previousStatus","status","event","messageId","emitMessageEvent","t3","t4","previous","current","type","reason","t5","composer","t6","content","t7","part","idx","toolCallId","map","parts","attachments","t8","t9","attachment","idx_0","t10","state","isCopied","isHovering","t11","t12","methods","t13","delete","t14","t15","config","reload","speak","t16","t17","stopSpeaking","feedback","submitFeedback","t18","options","switchToBranch","t19","unstable_getCopyText","t20","selector","get","key","t21","selector_0","t22","value","t23","t24","getCopyText","__internal_getRuntime","MessageClient"],"sources":["../../../src/store/runtime-clients/message-runtime-client.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useResource, withKey, resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport {\n useAssistantEmit,\n useClientLookup,\n useClientResource,\n} from \"@assistant-ui/store/client\";\nimport type { MessageRuntime } from \"../../runtime/api/message-runtime\";\nimport { useSubscribable } from \"./useSubscribable\";\nimport { liveRef } from \"./liveRef\";\nimport { ComposerClient } from \"./composer-runtime-client\";\nimport { MessagePartClient } from \"./message-part-runtime-client\";\nimport type { MessageState } from \"../scopes/message\";\nimport { AttachmentRuntimeClient } from \"./attachment-runtime-client\";\n\nconst useMessageAttachmentClientByIndex = ({\n runtime,\n index,\n}: {\n runtime: MessageRuntime;\n index: number;\n}) => {\n const attachmentRuntime = useMemo(\n () => runtime.getAttachmentByIndex(index),\n [runtime, index],\n );\n return useResource(AttachmentRuntimeClient({ runtime: attachmentRuntime }));\n};\n\nconst MessageAttachmentClientByIndex = resource(\n useMessageAttachmentClientByIndex,\n);\n\nconst useMessagePartByIndex = ({\n runtime,\n index,\n}: {\n runtime: MessageRuntime;\n index: number;\n}) => {\n const partRuntime = useMemo(\n () => runtime.getMessagePartByIndex(index),\n [runtime, index],\n );\n return useResource(MessagePartClient({ runtime: partRuntime }));\n};\n\nconst MessagePartByIndex = resource(useMessagePartByIndex);\n\nconst useMessageClient = ({\n runtime,\n threadIdRef,\n threadId,\n}: {\n runtime: MessageRuntime;\n threadIdRef: { current: string };\n threadId: string;\n}): ClientOutput<\"message\"> => {\n const runtimeState = useSubscribable(runtime);\n const emit = useAssistantEmit();\n\n const [isCopiedState, setIsCopied] = useState(false);\n const [isHoveringState, setIsHovering] = useState(false);\n\n const messageIdRef = useMemo(\n () => liveRef(() => runtime.getState().id),\n [runtime],\n );\n const previousStatus = useRef(runtimeState.status);\n const emitMessageEvent = (\n event:\n | \"message.reload\"\n | \"message.speak\"\n | \"message.branchSwitched\"\n | \"message.copied\",\n ) => {\n emit(event, { threadId, messageId: runtime.getState().id });\n };\n\n useEffect(() => {\n const status = runtimeState.status;\n const previous = previousStatus.current;\n previousStatus.current = status;\n if (\n status?.type === \"incomplete\" &&\n status.reason === \"error\" &&\n (previous?.type !== \"incomplete\" || previous.reason !== \"error\")\n ) {\n emit(\"message.error\", {\n threadId,\n messageId: runtimeState.id,\n reason: \"error\",\n });\n }\n }, [runtimeState.status, runtimeState.id, emit, threadId]);\n\n const composer = useClientResource(\n ComposerClient({\n runtime: runtime.composer,\n threadIdRef,\n messageIdRef,\n }),\n );\n const parts = useClientLookup(\n runtimeState.content.map((part, idx) =>\n withKey(\n \"toolCallId\" in part && part.toolCallId != null\n ? `toolCallId-${part.toolCallId}`\n : `index-${idx}`,\n MessagePartByIndex({ runtime, index: idx }),\n [runtime, idx],\n ),\n ),\n );\n\n const attachments = useClientLookup(\n (runtimeState.attachments ?? []).map((attachment, idx) =>\n withKey(\n attachment.id,\n MessageAttachmentClientByIndex({ runtime, index: idx }),\n [runtime, idx],\n ),\n ),\n );\n\n const state = useMemo<MessageState>(() => {\n return {\n ...(runtimeState as MessageState),\n\n parts: parts.state,\n composer: composer.state,\n\n isCopied: isCopiedState,\n isHovering: isHoveringState,\n };\n }, [\n runtimeState,\n parts.state,\n composer.state,\n isCopiedState,\n isHoveringState,\n ]);\n\n return {\n getState: () => state,\n\n composer: () => composer.methods,\n\n delete: () => runtime.delete(),\n reload: (config) => {\n emitMessageEvent(\"message.reload\");\n return runtime.reload(config);\n },\n speak: () => {\n emitMessageEvent(\"message.speak\");\n return runtime.speak();\n },\n stopSpeaking: () => runtime.stopSpeaking(),\n submitFeedback: (feedback) => runtime.submitFeedback(feedback),\n switchToBranch: (options) => {\n emitMessageEvent(\"message.branchSwitched\");\n return runtime.switchToBranch(options);\n },\n getCopyText: () => runtime.unstable_getCopyText(),\n part: (selector) => {\n if (\"index\" in selector) {\n return parts.get({ index: selector.index });\n } else {\n return parts.get({ key: `toolCallId-${selector.toolCallId}` });\n }\n },\n\n attachment: (selector) => {\n if (\"id\" in selector) {\n return attachments.get({ key: selector.id });\n } else {\n return attachments.get(selector);\n }\n },\n\n setIsCopied: (value) => {\n if (value) {\n emitMessageEvent(\"message.copied\");\n }\n setIsCopied(value);\n },\n setIsHovering,\n\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const MessageClient = resource(useMessageClient);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-list-item-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-list-item-runtime-client.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"thread-list-item-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-list-item-runtime-client.ts"],"mappings":";;;cAgEa,kDAAoB,SAAA;EApDtB,SAAA;EAIa"}
|
|
@@ -90,7 +90,7 @@ const useThreadListItemClient = (t0) => {
|
|
|
90
90
|
t10 = () => handleThreadListAction("archive", () => runtime.archive());
|
|
91
91
|
t11 = () => handleThreadListAction("unarchive", () => runtime.unarchive());
|
|
92
92
|
t12 = () => handleThreadListAction("delete", () => runtime.delete());
|
|
93
|
-
t13 = () => handleThreadListAction("generate title", () => runtime.generateTitle());
|
|
93
|
+
t13 = (options_0) => handleThreadListAction("generate title", () => runtime.generateTitle(options_0));
|
|
94
94
|
$[13] = runtime;
|
|
95
95
|
$[14] = t10;
|
|
96
96
|
$[15] = t11;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-list-item-runtime-client.js","names":["useEffect","useMemo","useRef","resource","ClientOutput","useAssistantEmit","ThreadListItemRuntime","useSubscribable","handleThreadListAction","useThreadListItemClient","t0","$","_c","runtime","mainThreadIsRunning","t1","undefined","runtimeState","t2","bb0","isRunning","isMain","t3","state","emit","id","threadId","selectionRef","t4","t5","previous","current","t6","t10","t11","t12","t13","t7","t8","t9","options","switchTo","newTitle","rename","custom","updateCustom","archive","unarchive","delete","generateTitle","t14","t15","detach","initialize","getState","__internal_getRuntime","ThreadListItemClient"],"sources":["../../../src/store/runtime-clients/thread-list-item-runtime-client.ts"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\nimport { resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport { useAssistantEmit } from \"@assistant-ui/store/client\";\nimport type { ThreadListItemRuntime } from \"../../runtime/api/thread-list-item-runtime\";\nimport { useSubscribable } from \"./useSubscribable\";\nimport { handleThreadListAction } from \"./handle-thread-list-action\";\n\nconst useThreadListItemClient = ({\n runtime,\n mainThreadIsRunning = false,\n}: {\n runtime: ThreadListItemRuntime;\n // A thread list that cannot report per-thread run state still leaves the open\n // thread observable, and the thread client tracks that reactively. Omitted\n // where the runtime state is already authoritative for every thread.\n mainThreadIsRunning?: boolean | undefined;\n}): ClientOutput<\"threadListItem\"> => {\n const runtimeState = useSubscribable(runtime);\n const state = useMemo(() => {\n const isRunning =\n runtimeState.isRunning || (runtimeState.isMain && mainThreadIsRunning);\n if (isRunning === runtimeState.isRunning) return runtimeState;\n return { ...runtimeState, isRunning };\n }, [runtimeState, mainThreadIsRunning]);\n const emit = useAssistantEmit();\n\n // Emitted after the flush that rebinds the derived scopes; the runtime's own\n // synchronous notification would be delivered against the pre-switch binding.\n const { isMain, id: threadId } = runtimeState;\n const selectionRef = useRef({ isMain, threadId });\n useEffect(() => {\n const previous = selectionRef.current;\n if (previous.isMain === isMain && previous.threadId === threadId) return;\n selectionRef.current = { isMain, threadId };\n emit(isMain ? \"threadListItem.switchedTo\" : \"threadListItem.switchedAway\", {\n threadId,\n });\n }, [isMain, threadId, emit]);\n\n return {\n getState: () => state,\n switchTo: (options) =>\n handleThreadListAction(\"switch\", () => runtime.switchTo(options)),\n rename: (newTitle) =>\n handleThreadListAction(\"rename\", () => runtime.rename(newTitle)),\n updateCustom: (custom) =>\n handleThreadListAction(\"update custom metadata\", () =>\n runtime.updateCustom(custom),\n ),\n archive: () => handleThreadListAction(\"archive\", () => runtime.archive()),\n unarchive: () =>\n handleThreadListAction(\"unarchive\", () => runtime.unarchive()),\n delete: () => handleThreadListAction(\"delete\", () => runtime.delete()),\n generateTitle: () =>\n handleThreadListAction(\"generate title\", ()
|
|
1
|
+
{"version":3,"file":"thread-list-item-runtime-client.js","names":["useEffect","useMemo","useRef","resource","ClientOutput","useAssistantEmit","ThreadListItemRuntime","useSubscribable","handleThreadListAction","useThreadListItemClient","t0","$","_c","runtime","mainThreadIsRunning","t1","undefined","runtimeState","t2","bb0","isRunning","isMain","t3","state","emit","id","threadId","selectionRef","t4","t5","previous","current","t6","t10","t11","t12","t13","t7","t8","t9","options","switchTo","newTitle","rename","custom","updateCustom","archive","unarchive","delete","options_0","generateTitle","t14","t15","detach","initialize","getState","__internal_getRuntime","ThreadListItemClient"],"sources":["../../../src/store/runtime-clients/thread-list-item-runtime-client.ts"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\nimport { resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport { useAssistantEmit } from \"@assistant-ui/store/client\";\nimport type { ThreadListItemRuntime } from \"../../runtime/api/thread-list-item-runtime\";\nimport { useSubscribable } from \"./useSubscribable\";\nimport { handleThreadListAction } from \"./handle-thread-list-action\";\n\nconst useThreadListItemClient = ({\n runtime,\n mainThreadIsRunning = false,\n}: {\n runtime: ThreadListItemRuntime;\n // A thread list that cannot report per-thread run state still leaves the open\n // thread observable, and the thread client tracks that reactively. Omitted\n // where the runtime state is already authoritative for every thread.\n mainThreadIsRunning?: boolean | undefined;\n}): ClientOutput<\"threadListItem\"> => {\n const runtimeState = useSubscribable(runtime);\n const state = useMemo(() => {\n const isRunning =\n runtimeState.isRunning || (runtimeState.isMain && mainThreadIsRunning);\n if (isRunning === runtimeState.isRunning) return runtimeState;\n return { ...runtimeState, isRunning };\n }, [runtimeState, mainThreadIsRunning]);\n const emit = useAssistantEmit();\n\n // Emitted after the flush that rebinds the derived scopes; the runtime's own\n // synchronous notification would be delivered against the pre-switch binding.\n const { isMain, id: threadId } = runtimeState;\n const selectionRef = useRef({ isMain, threadId });\n useEffect(() => {\n const previous = selectionRef.current;\n if (previous.isMain === isMain && previous.threadId === threadId) return;\n selectionRef.current = { isMain, threadId };\n emit(isMain ? \"threadListItem.switchedTo\" : \"threadListItem.switchedAway\", {\n threadId,\n });\n }, [isMain, threadId, emit]);\n\n return {\n getState: () => state,\n switchTo: (options) =>\n handleThreadListAction(\"switch\", () => runtime.switchTo(options)),\n rename: (newTitle) =>\n handleThreadListAction(\"rename\", () => runtime.rename(newTitle)),\n updateCustom: (custom) =>\n handleThreadListAction(\"update custom metadata\", () =>\n runtime.updateCustom(custom),\n ),\n archive: () => handleThreadListAction(\"archive\", () => runtime.archive()),\n unarchive: () =>\n handleThreadListAction(\"unarchive\", () => runtime.unarchive()),\n delete: () => handleThreadListAction(\"delete\", () => runtime.delete()),\n generateTitle: (options) =>\n handleThreadListAction(\"generate title\", () =>\n runtime.generateTitle(options),\n ),\n initialize: runtime.initialize,\n detach: runtime.detach,\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const ThreadListItemClient = resource(useThreadListItemClient);\n"],"mappings":";;;;;;;AAQA,MAAMS,2BAA0BC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,SAAAC,qBAAAC,OAAAL;CAE/B,MAAAI,sBAAAC,OAAAC,KAAAA,IAAA,QAAAD;CAQA,MAAAE,eAAqBV,gBAAgBM,OAAO;CAAE,IAAAK;CAAAC,KAAA;EAE5C,MAAAC,YACEH,aAAYG,aAAeH,aAAYI,UAAZP;EAC7B,IAAIM,cAAcH,aAAYG,WAAU;GAAEF,KAAOD;GAAP,MAAAE;EAAoB;EAAA,IAAAG;EAAA,IAAAX,EAAA,OAAAS,aAAAT,EAAA,OAAAM,cAAA;GACvDK,KAAA;IAAA,GAAKL;IAAYG;GAAY;GAACT,EAAA,KAAAS;GAAAT,EAAA,KAAAM;GAAAN,EAAA,KAAAW;EAAA,OAAAA,KAAAX,EAAA;EAArCO,KAAOI;CAA+B;CAJxC,MAAAC,QAAcL;CAMd,MAAAM,OAAanB,iBAAiB;CAI9B,MAAA,EAAAgB,QAAAI,IAAAC,aAAiCT;CAAa,IAAAK;CAAA,IAAAX,EAAA,OAAAU,UAAAV,EAAA,OAAAe,UAAA;EAClBJ,KAAA;GAAAD;GAAAK;EAAmB;EAACf,EAAA,KAAAU;EAAAV,EAAA,KAAAe;EAAAf,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAhD,MAAAgB,eAAqBzB,OAAOoB,EAAoB;CAAE,IAAAM;CAAA,IAAAC;CAAA,IAAAlB,EAAA,OAAAa,QAAAb,EAAA,OAAAU,UAAAV,EAAA,OAAAe,UAAA;EACxCE,WAAA;GACR,MAAAE,WAAiBH,aAAYI;GAC7B,IAAID,SAAQT,WAAYA,UAAUS,SAAQJ,aAAcA,UAAQ;GAChEC,aAAYI,UAAW;IAAAV;IAAAK;GAAmB;GAC1CF,KAAKH,SAAA,8BAAA,+BAAsE,EAAAK,SAE3E,CAAC;EAAC;EACDG,KAAA;GAACR;GAAQK;GAAUF;EAAI;EAACb,EAAA,KAAAa;EAAAb,EAAA,KAAAU;EAAAV,EAAA,KAAAe;EAAAf,EAAA,KAAAiB;EAAAjB,EAAA,MAAAkB;CAAA,OAAA;EAAAD,KAAAjB,EAAA;EAAAkB,KAAAlB,EAAA;CAAA;CAP3BX,UAAU4B,IAOPC,EAAwB;CAAC,IAAAG;CAAA,IAAArB,EAAA,QAAAY,OAAA;EAGhBS,WAAMT;EAAKZ,EAAA,MAAAY;EAAAZ,EAAA,MAAAqB;CAAA,OAAAA,KAAArB,EAAA;CAAA,IAAAsB;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAA5B,EAAA,QAAAE,SAAA;EACXwB,MAAAG,YACRhC,uBAAuB,gBAAgBK,QAAO4B,SAAUD,OAAO,CAAC;EAC1DF,MAAAI,aACNlC,uBAAuB,gBAAgBK,QAAO8B,OAAQD,QAAQ,CAAC;EACnDH,MAAAK,WACZpC,uBAAuB,gCACrBK,QAAOgC,aAAcD,MAAM,CAC7B;EACOX,YAAMzB,uBAAuB,iBAAiBK,QAAOiC,QAAS,CAAC;EAC7DZ,YACT1B,uBAAuB,mBAAmBK,QAAOkC,UAAW,CAAC;EACvDZ,YAAM3B,uBAAuB,gBAAgBK,QAAOmC,OAAQ,CAAC;EACtDZ,OAAAa,cACbzC,uBAAuB,wBACrBK,QAAOqC,cAAeV,SAAO,CAC/B;EAAC7B,EAAA,MAAAE;EAAAF,EAAA,MAAAsB;EAAAtB,EAAA,MAAAuB;EAAAvB,EAAA,MAAAwB;EAAAxB,EAAA,MAAAyB;EAAAzB,EAAA,MAAA0B;EAAA1B,EAAA,MAAA2B;EAAA3B,EAAA,MAAA4B;CAAA,OAAA;EAAAN,MAAAtB,EAAA;EAAAuB,MAAAvB,EAAA;EAAAwB,MAAAxB,EAAA;EAAAyB,MAAAzB,EAAA;EAAA0B,KAAA1B,EAAA;EAAA2B,KAAA3B,EAAA;EAAA4B,KAAA5B,EAAA;CAAA;CAAA,IAAAwC;CAAA,IAAAxC,EAAA,QAAAE,SAAA;EAGoBsC,YAAMtC;EAAOF,EAAA,MAAAE;EAAAF,EAAA,MAAAwC;CAAA,OAAAA,MAAAxC,EAAA;CAAA,IAAAyC;CAAA,IAAAzC,EAAA,QAAAE,QAAAwC,UAAA1C,EAAA,QAAAE,QAAAyC,cAAA3C,EAAA,QAAAsB,OAAAtB,EAAA,QAAAuB,OAAAvB,EAAA,QAAAwB,OAAAxB,EAAA,QAAAyB,OAAAzB,EAAA,QAAAwC,OAAAxC,EAAA,QAAAqB,MAAArB,EAAA,QAAA0B,MAAA1B,EAAA,QAAA2B,MAAA3B,EAAA,QAAA4B,IAAA;EApB/Ba,MAAA;GAAAG,UACKvB;GAAWS,UACXJ;GACyDM,QAC3DL;GAC0DO,cACpDN;GAGXO,SACMb;GAAgEc,WAC9Db;GACqDc,QACxDb;GAA8De,eACvDd;GAGZkB,YACSzC,QAAOyC;GAAWD,QACtBxC,QAAOwC;GAAOG,uBACCL;EACzB;EAACxC,EAAA,MAAAE,QAAAwC;EAAA1C,EAAA,MAAAE,QAAAyC;EAAA3C,EAAA,MAAAsB;EAAAtB,EAAA,MAAAuB;EAAAvB,EAAA,MAAAwB;EAAAxB,EAAA,MAAAyB;EAAAzB,EAAA,MAAAwC;EAAAxC,EAAA,MAAAqB;EAAArB,EAAA,MAAA0B;EAAA1B,EAAA,MAAA2B;EAAA3B,EAAA,MAAA4B;EAAA5B,EAAA,MAAAyC;CAAA,OAAAA,MAAAzC,EAAA;CAAA,OArBMyC;AAqBN;AAGH,MAAaK,uBAAuBtD,SAASM,uBAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-list-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-list-runtime-client.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"thread-list-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-list-runtime-client.ts"],"mappings":";;;;cA+Ha,8CAAgB,SAAA;EAnFlB,SAAA;EACoB,6BAAA"}
|