@assistant-ui/core 0.3.11 → 0.3.13
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/index.d.ts +6 -5
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +6 -5
- package/dist/internal.js +5 -4
- package/dist/react/client/interactable-model-context.d.ts.map +1 -1
- package/dist/react/client/interactable-model-context.js +5 -1
- package/dist/react/client/interactable-model-context.js.map +1 -1
- package/dist/runtime/api/message-runtime.d.ts +2 -3
- package/dist/runtime/api/message-runtime.d.ts.map +1 -1
- package/dist/runtime/api/message-runtime.js +2 -16
- package/dist/runtime/api/message-runtime.js.map +1 -1
- package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
- package/dist/runtime/api/thread-runtime.js +5 -1
- package/dist/runtime/api/thread-runtime.js.map +1 -1
- package/dist/runtime/base/base-composer-runtime-core.d.ts +25 -0
- package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-composer-runtime-core.js +64 -11
- package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
- package/dist/runtime/base/base-thread-runtime-core.d.ts +14 -0
- package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/base-thread-runtime-core.js +31 -0
- package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
- package/dist/runtime/base/default-edit-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/default-edit-composer-runtime-core.js +1 -6
- package/dist/runtime/base/default-edit-composer-runtime-core.js.map +1 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
- package/dist/runtime/base/default-thread-composer-runtime-core.js +1 -4
- package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
- package/dist/runtime/internal.d.ts +4 -4
- package/dist/runtime/internal.js +4 -4
- package/dist/runtime/queue/external-thread-queue-adapter.d.ts +15 -0
- package/dist/runtime/queue/external-thread-queue-adapter.d.ts.map +1 -1
- package/dist/runtime/queue/message-queue.js +23 -10
- package/dist/runtime/queue/message-queue.js.map +1 -1
- package/dist/runtimes/external-store/external-store-adapter.d.ts +7 -0
- package/dist/runtimes/external-store/external-store-adapter.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts +3 -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 +49 -13
- package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
- package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
- package/dist/runtimes/local/local-thread-runtime-core.js +2 -1
- package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
- package/dist/store/clients/external-thread.d.ts +61 -0
- package/dist/store/clients/external-thread.d.ts.map +1 -0
- package/dist/store/clients/external-thread.js +1445 -0
- package/dist/store/clients/external-thread.js.map +1 -0
- package/dist/store/clients/runtime-adapter.d.ts.map +1 -1
- package/dist/store/clients/runtime-adapter.js +5 -2
- package/dist/store/clients/runtime-adapter.js.map +1 -1
- package/dist/store/clients/single-thread-list.d.ts +9 -0
- package/dist/store/clients/single-thread-list.d.ts.map +1 -0
- package/dist/store/clients/single-thread-list.js +175 -0
- package/dist/store/clients/single-thread-list.js.map +1 -0
- package/dist/store/clients/suggestions.d.ts +3 -1
- package/dist/store/clients/suggestions.d.ts.map +1 -1
- package/dist/store/clients/suggestions.js +65 -37
- package/dist/store/clients/suggestions.js.map +1 -1
- package/dist/store/index.d.ts +5 -3
- package/dist/store/index.js +4 -2
- 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 +64 -50
- package/dist/store/runtime-clients/thread-list-item-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 +98 -82
- package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
- package/dist/store/scope-registration.d.ts +2 -2
- package/dist/store/scopes/suggestions.d.ts +6 -1
- package/dist/store/scopes/suggestions.d.ts.map +1 -1
- package/dist/store/scopes/thread.d.ts +17 -0
- package/dist/store/scopes/thread.d.ts.map +1 -1
- package/dist/types/augmentations.d.ts +33 -0
- package/dist/types/augmentations.d.ts.map +1 -0
- package/dist/types/augmentations.js +0 -0
- package/dist/types/error.d.ts +15 -1
- package/dist/types/error.d.ts.map +1 -1
- package/dist/types/error.js +18 -1
- package/dist/types/error.js.map +1 -1
- package/dist/types/message.d.ts +2 -0
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js.map +1 -1
- package/dist/utils/normalizePartStatus.d.ts +3 -2
- package/dist/utils/normalizePartStatus.d.ts.map +1 -1
- package/dist/utils/normalizePartStatus.js +15 -1
- package/dist/utils/normalizePartStatus.js.map +1 -1
- package/package.json +5 -5
- package/src/index.ts +7 -0
- package/src/internal.ts +1 -1
- package/src/react/client/interactable-model-context.ts +6 -1
- package/src/react/runtimes/useExternalStoreRuntime.suggestions.test.tsx +114 -0
- package/src/runtime/api/message-runtime.test.ts +1 -1
- package/src/runtime/api/message-runtime.ts +2 -35
- package/src/runtime/api/thread-runtime.ts +8 -1
- package/src/runtime/base/base-composer-runtime-core.ts +100 -8
- package/src/runtime/base/base-thread-runtime-core.ts +36 -0
- package/src/runtime/base/default-edit-composer-runtime-core.ts +1 -15
- package/src/runtime/base/default-thread-composer-runtime-core.ts +1 -11
- package/src/runtime/queue/external-thread-queue-adapter.ts +17 -0
- package/src/runtime/queue/message-queue.ts +26 -9
- package/src/runtimes/external-store/external-store-adapter.ts +7 -0
- package/src/runtimes/external-store/external-store-thread-runtime-core.ts +100 -26
- package/src/runtimes/local/local-thread-runtime-core.ts +4 -1
- package/src/store/clients/external-thread.ts +1255 -0
- package/src/store/clients/runtime-adapter.ts +5 -2
- package/src/store/clients/single-thread-list.ts +116 -0
- package/src/store/clients/suggestions.ts +39 -13
- package/src/store/index.ts +6 -0
- package/src/store/runtime-clients/thread-list-item-runtime-client.ts +13 -28
- package/src/store/runtime-clients/thread-runtime-client.ts +5 -0
- package/src/store/scopes/suggestions.ts +6 -0
- package/src/store/scopes/thread.ts +17 -0
- package/src/tests/append-interactable-snapshots.test.ts +350 -0
- package/src/tests/base-composer-runtime-core-send.test.ts +126 -0
- package/src/tests/base-composer-runtime-core.test.ts +108 -1
- package/src/tests/default-edit-composer-runtime-core.test.ts +0 -68
- package/src/tests/external-store-thread-runtime-core-adapter.test.ts +300 -0
- package/src/tests/external-thread-attachments.test.tsx +584 -0
- package/src/tests/external-thread-branches.test.tsx +157 -0
- package/src/tests/external-thread-feedback.test.tsx +204 -0
- package/src/tests/external-thread-parity.test.tsx +548 -0
- package/src/tests/external-thread-refetch.test.tsx +117 -0
- package/src/tests/external-thread-speech.test.tsx +328 -0
- package/src/tests/external-thread-suggestions.test.tsx +59 -0
- package/src/tests/message-queue.test.ts +26 -0
- package/src/tests/thread-message-like.test.ts +39 -0
- package/src/tests/thread-switch-events.test.tsx +136 -0
- package/src/types/augmentations.ts +33 -0
- package/src/types/error.ts +24 -0
- package/src/types/message.ts +2 -0
- package/src/utils/normalizePartStatus.ts +27 -0
- package/src/tests/default-thread-composer-runtime-core.test.ts +0 -82
package/dist/store/index.d.ts
CHANGED
|
@@ -6,10 +6,10 @@ import { AttachmentClientSchema, AttachmentMeta, AttachmentMethods, AttachmentSt
|
|
|
6
6
|
import { ComposerClientSchema, ComposerEvents, ComposerMeta, ComposerMethods, ComposerSendOptions, ComposerState } from "./scopes/composer.js";
|
|
7
7
|
import { PartClientSchema, PartMeta, PartMethods, PartState } from "./scopes/part.js";
|
|
8
8
|
import { MessageClientSchema, MessageMeta, MessageMethods, MessageState } from "./scopes/message.js";
|
|
9
|
-
import { ThreadClientSchema, ThreadEvents, ThreadMeta, ThreadMethods, ThreadState } from "./scopes/thread.js";
|
|
10
|
-
import { ThreadsClientSchema, ThreadsMethods, ThreadsState } from "./scopes/threads.js";
|
|
11
9
|
import { SuggestionClientSchema, SuggestionMeta, SuggestionMethods, SuggestionState } from "./scopes/suggestion.js";
|
|
12
10
|
import { Suggestion, SuggestionsClientSchema, SuggestionsMethods, SuggestionsState } from "./scopes/suggestions.js";
|
|
11
|
+
import { ThreadClientSchema, ThreadEvents, ThreadMeta, ThreadMethods, ThreadState } from "./scopes/thread.js";
|
|
12
|
+
import { ThreadsClientSchema, ThreadsMethods, ThreadsState } from "./scopes/threads.js";
|
|
13
13
|
import { ModelContextClientSchema, ModelContextMethods, ModelContextState } from "./scopes/model-context.js";
|
|
14
14
|
import { ChainOfThoughtClientSchema, ChainOfThoughtMeta, ChainOfThoughtMethods, ChainOfThoughtPart, ChainOfThoughtState } from "./scopes/chain-of-thought.js";
|
|
15
15
|
import { RuntimeAdapter } from "../react/RuntimeAdapter.js";
|
|
@@ -20,9 +20,11 @@ import { RuntimeExtrasBrand, createRuntimeExtrasBrand } from "../runtime/utils/r
|
|
|
20
20
|
import { Toolkit, ToolkitDefinition, ToolkitDefinitionEntry } from "../react/model-context/toolbox.js";
|
|
21
21
|
import { defineToolkit } from "../react/model-context/define-toolkit.js";
|
|
22
22
|
import { McpToolkitDefinition, McpToolkitEntry, McpToolkitToolConfig, defineMcpToolkit } from "../react/model-context/define-mcp-toolkit.js";
|
|
23
|
+
import { ExternalThread, ExternalThreadMessage, ExternalThreadProps } from "./clients/external-thread.js";
|
|
24
|
+
import { SingleThreadList } from "./clients/single-thread-list.js";
|
|
23
25
|
import { NoOpComposerClient } from "./clients/no-op-composer-client.js";
|
|
24
26
|
import { SuggestionConfig, Suggestions } from "./clients/suggestions.js";
|
|
25
27
|
import { ChainOfThoughtClient } from "./clients/chain-of-thought-client.js";
|
|
26
28
|
import { ThreadMessageClient, ThreadMessageClientProps } from "./clients/thread-message-client.js";
|
|
27
29
|
import { ModelContext } from "./clients/model-context-client.js";
|
|
28
|
-
export { type AttachmentClientSchema, type AttachmentMeta, type AttachmentMethods, type AttachmentState, ChainOfThoughtClient, type ChainOfThoughtClientSchema, type ChainOfThoughtMeta, type ChainOfThoughtMethods, type ChainOfThoughtPart, type ChainOfThoughtState, type ComposerClientSchema, type ComposerEvents, type ComposerMeta, type ComposerMethods, type ComposerSendOptions, type ComposerState, type JoinStrategy, type McpToolkitDefinition, type McpToolkitEntry, type McpToolkitToolConfig, type MessageClientSchema, type MessageMeta, type MessageMethods, type MessageState, ModelContext, type ModelContextClientSchema, type ModelContextMethods, type ModelContextState, NoOpComposerClient, type PartClientSchema, type PartMeta, type PartMethods, type PartState, type QueueItemClientSchema, type QueueItemMeta, type QueueItemMethods, type QueueItemState, RuntimeAdapter, type RuntimeExtrasBrand, type StreamingTimingAccessors, type StreamingTimingOptions, type StreamingTimingState, type Suggestion, type SuggestionClientSchema, type SuggestionConfig, type SuggestionMeta, type SuggestionMethods, type SuggestionState, Suggestions, type SuggestionsClientSchema, type SuggestionsMethods, type SuggestionsState, type ThreadClientSchema, type ThreadEvents, type ThreadListItemClientSchema, type ThreadListItemEvents, type ThreadListItemMeta, type ThreadListItemMethods, type ThreadListItemState, ThreadMessageClient, type ThreadMessageClientProps, type ThreadMeta, type ThreadMethods, type ThreadState, type ThreadsClientSchema, type ThreadsMethods, type ThreadsState, type Toolkit, type ToolkitDefinition, type ToolkitDefinitionEntry, convertExternalMessages, createRuntimeExtrasBrand, defineMcpToolkit, defineToolkit, useExternalMessageConverter, useStreamingTiming };
|
|
30
|
+
export { type AttachmentClientSchema, type AttachmentMeta, type AttachmentMethods, type AttachmentState, ChainOfThoughtClient, type ChainOfThoughtClientSchema, type ChainOfThoughtMeta, type ChainOfThoughtMethods, type ChainOfThoughtPart, type ChainOfThoughtState, type ComposerClientSchema, type ComposerEvents, type ComposerMeta, type ComposerMethods, type ComposerSendOptions, type ComposerState, ExternalThread, type ExternalThreadMessage, type ExternalThreadProps, type JoinStrategy, type McpToolkitDefinition, type McpToolkitEntry, type McpToolkitToolConfig, type MessageClientSchema, type MessageMeta, type MessageMethods, type MessageState, ModelContext, type ModelContextClientSchema, type ModelContextMethods, type ModelContextState, NoOpComposerClient, type PartClientSchema, type PartMeta, type PartMethods, type PartState, type QueueItemClientSchema, type QueueItemMeta, type QueueItemMethods, type QueueItemState, RuntimeAdapter, type RuntimeExtrasBrand, SingleThreadList, type StreamingTimingAccessors, type StreamingTimingOptions, type StreamingTimingState, type Suggestion, type SuggestionClientSchema, type SuggestionConfig, type SuggestionMeta, type SuggestionMethods, type SuggestionState, Suggestions, type SuggestionsClientSchema, type SuggestionsMethods, type SuggestionsState, type ThreadClientSchema, type ThreadEvents, type ThreadListItemClientSchema, type ThreadListItemEvents, type ThreadListItemMeta, type ThreadListItemMethods, type ThreadListItemState, ThreadMessageClient, type ThreadMessageClientProps, type ThreadMeta, type ThreadMethods, type ThreadState, type ThreadsClientSchema, type ThreadsMethods, type ThreadsState, type Toolkit, type ToolkitDefinition, type ToolkitDefinitionEntry, convertExternalMessages, createRuntimeExtrasBrand, defineMcpToolkit, defineToolkit, useExternalMessageConverter, useStreamingTiming };
|
package/dist/store/index.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { ModelContext } from "./clients/model-context-client.js";
|
|
2
1
|
import { Suggestions } from "./clients/suggestions.js";
|
|
2
|
+
import { ModelContext } from "./clients/model-context-client.js";
|
|
3
3
|
import { RuntimeAdapter } from "../react/RuntimeAdapter.js";
|
|
4
4
|
import { defineToolkit } from "../react/model-context/define-toolkit.js";
|
|
5
5
|
import { defineMcpToolkit } from "../react/model-context/define-mcp-toolkit.js";
|
|
6
6
|
import { convertExternalMessages, useExternalMessageConverter } from "../react/runtimes/external-message-converter.js";
|
|
7
7
|
import { useStreamingTiming } from "../react/runtimes/useStreamingTiming.js";
|
|
8
8
|
import { createRuntimeExtrasBrand } from "../runtime/utils/runtime-extras-brand.js";
|
|
9
|
+
import { SingleThreadList } from "./clients/single-thread-list.js";
|
|
10
|
+
import { ExternalThread } from "./clients/external-thread.js";
|
|
9
11
|
import { NoOpComposerClient } from "./clients/no-op-composer-client.js";
|
|
10
12
|
import { ChainOfThoughtClient } from "./clients/chain-of-thought-client.js";
|
|
11
13
|
import { ThreadMessageClient } from "./clients/thread-message-client.js";
|
|
12
|
-
export { ChainOfThoughtClient, ModelContext, NoOpComposerClient, RuntimeAdapter, Suggestions, ThreadMessageClient, convertExternalMessages, createRuntimeExtrasBrand, defineMcpToolkit, defineToolkit, useExternalMessageConverter, useStreamingTiming };
|
|
14
|
+
export { ChainOfThoughtClient, ExternalThread, ModelContext, NoOpComposerClient, RuntimeAdapter, SingleThreadList, Suggestions, ThreadMessageClient, convertExternalMessages, createRuntimeExtrasBrand, defineMcpToolkit, defineToolkit, useExternalMessageConverter, useStreamingTiming };
|
|
@@ -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":";;;cAsDa,kDAAoB,SAAA;EA3CtB,SAAA;EAIa"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useSubscribable } from "./useSubscribable.js";
|
|
2
2
|
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
3
|
-
import { useEffect } from "@assistant-ui/tap/react-shim";
|
|
3
|
+
import { useEffect, useRef } from "@assistant-ui/tap/react-shim";
|
|
4
4
|
import { resource } from "@assistant-ui/tap";
|
|
5
5
|
import { useAssistantEmit } from "@assistant-ui/store/client";
|
|
6
6
|
//#region src/store/runtime-clients/thread-list-item-runtime-client.ts
|
|
7
7
|
const useThreadListItemClient = (t0) => {
|
|
8
|
-
const $ = c(
|
|
8
|
+
const $ = c(27);
|
|
9
9
|
const { runtime, mainThreadIsRunning: t1 } = t0;
|
|
10
10
|
const mainThreadIsRunning = t1 === void 0 ? false : t1;
|
|
11
11
|
const runtimeState = useSubscribable(runtime);
|
|
@@ -30,47 +30,61 @@ const useThreadListItemClient = (t0) => {
|
|
|
30
30
|
}
|
|
31
31
|
const state = t2;
|
|
32
32
|
const emit = useAssistantEmit();
|
|
33
|
+
const { isMain, id: threadId } = runtimeState;
|
|
33
34
|
let t3;
|
|
35
|
+
if ($[3] !== isMain || $[4] !== threadId) {
|
|
36
|
+
t3 = {
|
|
37
|
+
isMain,
|
|
38
|
+
threadId
|
|
39
|
+
};
|
|
40
|
+
$[3] = isMain;
|
|
41
|
+
$[4] = threadId;
|
|
42
|
+
$[5] = t3;
|
|
43
|
+
} else t3 = $[5];
|
|
44
|
+
const selectionRef = useRef(t3);
|
|
34
45
|
let t4;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
return () => {
|
|
45
|
-
for (const unsub of unsubscribers) unsub();
|
|
46
|
+
let t5;
|
|
47
|
+
if ($[6] !== emit || $[7] !== isMain || $[8] !== threadId) {
|
|
48
|
+
t4 = () => {
|
|
49
|
+
const previous = selectionRef.current;
|
|
50
|
+
if (previous.isMain === isMain && previous.threadId === threadId) return;
|
|
51
|
+
selectionRef.current = {
|
|
52
|
+
isMain,
|
|
53
|
+
threadId
|
|
46
54
|
};
|
|
55
|
+
emit(isMain ? "threadListItem.switchedTo" : "threadListItem.switchedAway", { threadId });
|
|
47
56
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
57
|
+
t5 = [
|
|
58
|
+
isMain,
|
|
59
|
+
threadId,
|
|
60
|
+
emit
|
|
61
|
+
];
|
|
62
|
+
$[6] = emit;
|
|
63
|
+
$[7] = isMain;
|
|
64
|
+
$[8] = threadId;
|
|
65
|
+
$[9] = t4;
|
|
66
|
+
$[10] = t5;
|
|
53
67
|
} else {
|
|
54
|
-
|
|
55
|
-
|
|
68
|
+
t4 = $[9];
|
|
69
|
+
t5 = $[10];
|
|
56
70
|
}
|
|
57
|
-
useEffect(
|
|
58
|
-
let t5;
|
|
59
|
-
if ($[7] !== state) {
|
|
60
|
-
t5 = () => state;
|
|
61
|
-
$[7] = state;
|
|
62
|
-
$[8] = t5;
|
|
63
|
-
} else t5 = $[8];
|
|
71
|
+
useEffect(t4, t5);
|
|
64
72
|
let t6;
|
|
65
|
-
if ($[
|
|
66
|
-
t6 = () =>
|
|
67
|
-
$[
|
|
68
|
-
$[
|
|
69
|
-
} else t6 = $[
|
|
73
|
+
if ($[11] !== state) {
|
|
74
|
+
t6 = () => state;
|
|
75
|
+
$[11] = state;
|
|
76
|
+
$[12] = t6;
|
|
77
|
+
} else t6 = $[12];
|
|
70
78
|
let t7;
|
|
71
|
-
if ($[
|
|
72
|
-
t7 =
|
|
73
|
-
|
|
79
|
+
if ($[13] !== runtime) {
|
|
80
|
+
t7 = () => runtime;
|
|
81
|
+
$[13] = runtime;
|
|
82
|
+
$[14] = t7;
|
|
83
|
+
} else t7 = $[14];
|
|
84
|
+
let t8;
|
|
85
|
+
if ($[15] !== runtime.archive || $[16] !== runtime.delete || $[17] !== runtime.detach || $[18] !== runtime.generateTitle || $[19] !== runtime.initialize || $[20] !== runtime.rename || $[21] !== runtime.switchTo || $[22] !== runtime.unarchive || $[23] !== runtime.updateCustom || $[24] !== t6 || $[25] !== t7) {
|
|
86
|
+
t8 = {
|
|
87
|
+
getState: t6,
|
|
74
88
|
switchTo: runtime.switchTo,
|
|
75
89
|
rename: runtime.rename,
|
|
76
90
|
updateCustom: runtime.updateCustom,
|
|
@@ -80,22 +94,22 @@ const useThreadListItemClient = (t0) => {
|
|
|
80
94
|
generateTitle: runtime.generateTitle,
|
|
81
95
|
initialize: runtime.initialize,
|
|
82
96
|
detach: runtime.detach,
|
|
83
|
-
__internal_getRuntime:
|
|
97
|
+
__internal_getRuntime: t7
|
|
84
98
|
};
|
|
85
|
-
$[
|
|
86
|
-
$[
|
|
87
|
-
$[
|
|
88
|
-
$[
|
|
89
|
-
$[
|
|
90
|
-
$[
|
|
91
|
-
$[
|
|
92
|
-
$[
|
|
93
|
-
$[
|
|
94
|
-
$[
|
|
95
|
-
$[
|
|
96
|
-
$[
|
|
97
|
-
} else
|
|
98
|
-
return
|
|
99
|
+
$[15] = runtime.archive;
|
|
100
|
+
$[16] = runtime.delete;
|
|
101
|
+
$[17] = runtime.detach;
|
|
102
|
+
$[18] = runtime.generateTitle;
|
|
103
|
+
$[19] = runtime.initialize;
|
|
104
|
+
$[20] = runtime.rename;
|
|
105
|
+
$[21] = runtime.switchTo;
|
|
106
|
+
$[22] = runtime.unarchive;
|
|
107
|
+
$[23] = runtime.updateCustom;
|
|
108
|
+
$[24] = t6;
|
|
109
|
+
$[25] = t7;
|
|
110
|
+
$[26] = t8;
|
|
111
|
+
} else t8 = $[26];
|
|
112
|
+
return t8;
|
|
99
113
|
};
|
|
100
114
|
const ThreadListItemClient = resource(useThreadListItemClient);
|
|
101
115
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-list-item-runtime-client.js","names":["
|
|
1
|
+
{"version":3,"file":"thread-list-item-runtime-client.js","names":["useEffect","useMemo","useRef","resource","ClientOutput","useAssistantEmit","ThreadListItemRuntime","useSubscribable","useThreadListItemClient","t0","$","_c","runtime","mainThreadIsRunning","t1","undefined","runtimeState","t2","bb0","isRunning","isMain","t3","state","emit","id","threadId","selectionRef","t4","t5","previous","current","t6","t7","t8","archive","delete","detach","generateTitle","initialize","rename","switchTo","unarchive","updateCustom","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\";\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: runtime.switchTo,\n rename: runtime.rename,\n updateCustom: runtime.updateCustom,\n archive: runtime.archive,\n unarchive: runtime.unarchive,\n delete: runtime.delete,\n generateTitle: runtime.generateTitle,\n initialize: runtime.initialize,\n detach: runtime.detach,\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const ThreadListItemClient = resource(useThreadListItemClient);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-runtime-client.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"thread-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-runtime-client.ts"],"mappings":";;;cAgJa,0CAAY,SAAA;EAxGd,SAAA"}
|
|
@@ -2,6 +2,7 @@ import { useSubscribable } from "./useSubscribable.js";
|
|
|
2
2
|
import { ComposerClient } from "./composer-runtime-client.js";
|
|
3
3
|
import { liveRef } from "./liveRef.js";
|
|
4
4
|
import { MessageClient } from "./message-runtime-client.js";
|
|
5
|
+
import { ThreadSuggestions } from "../clients/suggestions.js";
|
|
5
6
|
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
6
7
|
import { useEffect } from "@assistant-ui/tap/react-shim";
|
|
7
8
|
import { resource, useResource, withKey } from "@assistant-ui/tap";
|
|
@@ -32,7 +33,7 @@ const useMessageClientById = (t0) => {
|
|
|
32
33
|
};
|
|
33
34
|
const MessageClientById = resource(useMessageClientById);
|
|
34
35
|
const useThreadClient = (t0) => {
|
|
35
|
-
const $ = c(
|
|
36
|
+
const $ = c(64);
|
|
36
37
|
const { runtime } = t0;
|
|
37
38
|
const runtimeState = useSubscribable(runtime);
|
|
38
39
|
const emit = useAssistantEmit();
|
|
@@ -86,10 +87,17 @@ const useThreadClient = (t0) => {
|
|
|
86
87
|
} else t4 = $[8];
|
|
87
88
|
const composer = useClientResource(t4);
|
|
88
89
|
let t5;
|
|
89
|
-
if ($[9] !==
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
if ($[9] !== runtimeState.suggestions) {
|
|
91
|
+
t5 = ThreadSuggestions(runtimeState.suggestions);
|
|
92
|
+
$[9] = runtimeState.suggestions;
|
|
93
|
+
$[10] = t5;
|
|
94
|
+
} else t5 = $[10];
|
|
95
|
+
const suggestions = useClientResource(t5);
|
|
96
|
+
let t6;
|
|
97
|
+
if ($[11] !== runtime || $[12] !== runtimeState.messages || $[13] !== threadIdRef) {
|
|
98
|
+
let t7;
|
|
99
|
+
if ($[15] !== runtime || $[16] !== threadIdRef) {
|
|
100
|
+
t7 = (m) => withKey(m.id, MessageClientById({
|
|
93
101
|
runtime,
|
|
94
102
|
id: m.id,
|
|
95
103
|
threadIdRef
|
|
@@ -98,22 +106,22 @@ const useThreadClient = (t0) => {
|
|
|
98
106
|
m.id,
|
|
99
107
|
threadIdRef
|
|
100
108
|
]);
|
|
101
|
-
$[
|
|
102
|
-
$[
|
|
103
|
-
$[
|
|
104
|
-
} else
|
|
105
|
-
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
109
|
-
$[
|
|
110
|
-
} else
|
|
111
|
-
const messages = useClientLookup(
|
|
112
|
-
const
|
|
113
|
-
let
|
|
114
|
-
if ($[
|
|
115
|
-
|
|
116
|
-
isEmpty:
|
|
109
|
+
$[15] = runtime;
|
|
110
|
+
$[16] = threadIdRef;
|
|
111
|
+
$[17] = t7;
|
|
112
|
+
} else t7 = $[17];
|
|
113
|
+
t6 = runtimeState.messages.map(t7);
|
|
114
|
+
$[11] = runtime;
|
|
115
|
+
$[12] = runtimeState.messages;
|
|
116
|
+
$[13] = threadIdRef;
|
|
117
|
+
$[14] = t6;
|
|
118
|
+
} else t6 = $[14];
|
|
119
|
+
const messages = useClientLookup(t6);
|
|
120
|
+
const t7 = messages.state.length === 0 && !runtimeState.isLoading;
|
|
121
|
+
let t8;
|
|
122
|
+
if ($[18] !== composer.state || $[19] !== messages.state || $[20] !== runtimeState.capabilities || $[21] !== runtimeState.extras || $[22] !== runtimeState.isDisabled || $[23] !== runtimeState.isLoading || $[24] !== runtimeState.isRunning || $[25] !== runtimeState.speech || $[26] !== runtimeState.state || $[27] !== runtimeState.suggestions || $[28] !== runtimeState.voice || $[29] !== t7) {
|
|
123
|
+
t8 = {
|
|
124
|
+
isEmpty: t7,
|
|
117
125
|
isDisabled: runtimeState.isDisabled,
|
|
118
126
|
isLoading: runtimeState.isLoading,
|
|
119
127
|
isRunning: runtimeState.isRunning,
|
|
@@ -126,53 +134,60 @@ const useThreadClient = (t0) => {
|
|
|
126
134
|
composer: composer.state,
|
|
127
135
|
messages: messages.state
|
|
128
136
|
};
|
|
129
|
-
$[
|
|
130
|
-
$[
|
|
131
|
-
$[
|
|
132
|
-
$[
|
|
133
|
-
$[
|
|
134
|
-
$[
|
|
135
|
-
$[
|
|
136
|
-
$[
|
|
137
|
-
$[
|
|
138
|
-
$[
|
|
139
|
-
$[
|
|
140
|
-
$[
|
|
141
|
-
$[28] = t7;
|
|
142
|
-
} else t7 = $[28];
|
|
143
|
-
const state = t7;
|
|
144
|
-
let t8;
|
|
145
|
-
if ($[29] !== state) {
|
|
146
|
-
t8 = () => state;
|
|
147
|
-
$[29] = state;
|
|
137
|
+
$[18] = composer.state;
|
|
138
|
+
$[19] = messages.state;
|
|
139
|
+
$[20] = runtimeState.capabilities;
|
|
140
|
+
$[21] = runtimeState.extras;
|
|
141
|
+
$[22] = runtimeState.isDisabled;
|
|
142
|
+
$[23] = runtimeState.isLoading;
|
|
143
|
+
$[24] = runtimeState.isRunning;
|
|
144
|
+
$[25] = runtimeState.speech;
|
|
145
|
+
$[26] = runtimeState.state;
|
|
146
|
+
$[27] = runtimeState.suggestions;
|
|
147
|
+
$[28] = runtimeState.voice;
|
|
148
|
+
$[29] = t7;
|
|
148
149
|
$[30] = t8;
|
|
149
150
|
} else t8 = $[30];
|
|
151
|
+
const state = t8;
|
|
150
152
|
let t9;
|
|
151
|
-
if ($[31] !==
|
|
152
|
-
t9 = () =>
|
|
153
|
-
$[31] =
|
|
153
|
+
if ($[31] !== state) {
|
|
154
|
+
t9 = () => state;
|
|
155
|
+
$[31] = state;
|
|
154
156
|
$[32] = t9;
|
|
155
157
|
} else t9 = $[32];
|
|
156
158
|
let t10;
|
|
157
|
-
if ($[33] !==
|
|
158
|
-
t10 = (
|
|
159
|
-
|
|
160
|
-
else return messages.get(selector);
|
|
161
|
-
};
|
|
162
|
-
$[33] = messages;
|
|
159
|
+
if ($[33] !== composer.methods) {
|
|
160
|
+
t10 = () => composer.methods;
|
|
161
|
+
$[33] = composer.methods;
|
|
163
162
|
$[34] = t10;
|
|
164
163
|
} else t10 = $[34];
|
|
165
164
|
let t11;
|
|
166
|
-
if ($[35] !==
|
|
167
|
-
t11 = () =>
|
|
168
|
-
$[35] =
|
|
165
|
+
if ($[35] !== suggestions) {
|
|
166
|
+
t11 = () => suggestions.methods;
|
|
167
|
+
$[35] = suggestions;
|
|
169
168
|
$[36] = t11;
|
|
170
169
|
} else t11 = $[36];
|
|
171
170
|
let t12;
|
|
172
|
-
if ($[37] !==
|
|
173
|
-
t12 = {
|
|
174
|
-
|
|
175
|
-
|
|
171
|
+
if ($[37] !== messages) {
|
|
172
|
+
t12 = (selector) => {
|
|
173
|
+
if ("id" in selector) return messages.get({ key: selector.id });
|
|
174
|
+
else return messages.get(selector);
|
|
175
|
+
};
|
|
176
|
+
$[37] = messages;
|
|
177
|
+
$[38] = t12;
|
|
178
|
+
} else t12 = $[38];
|
|
179
|
+
let t13;
|
|
180
|
+
if ($[39] !== runtime) {
|
|
181
|
+
t13 = () => runtime;
|
|
182
|
+
$[39] = runtime;
|
|
183
|
+
$[40] = t13;
|
|
184
|
+
} else t13 = $[40];
|
|
185
|
+
let t14;
|
|
186
|
+
if ($[41] !== runtime.append || $[42] !== runtime.cancelRun || $[43] !== runtime.connectVoice || $[44] !== runtime.deleteMessage || $[45] !== runtime.disconnectVoice || $[46] !== runtime.export || $[47] !== runtime.getModelContext || $[48] !== runtime.getVoiceVolume || $[49] !== runtime.import || $[50] !== runtime.importExternalState || $[51] !== runtime.muteVoice || $[52] !== runtime.reset || $[53] !== runtime.resumeRun || $[54] !== runtime.startRun || $[55] !== runtime.stopSpeaking || $[56] !== runtime.subscribeVoiceVolume || $[57] !== runtime.unmuteVoice || $[58] !== t10 || $[59] !== t11 || $[60] !== t12 || $[61] !== t13 || $[62] !== t9) {
|
|
187
|
+
t14 = {
|
|
188
|
+
getState: t9,
|
|
189
|
+
composer: t10,
|
|
190
|
+
suggestions: t11,
|
|
176
191
|
append: runtime.append,
|
|
177
192
|
deleteMessage: runtime.deleteMessage,
|
|
178
193
|
startRun: runtime.startRun,
|
|
@@ -190,33 +205,34 @@ const useThreadClient = (t0) => {
|
|
|
190
205
|
subscribeVoiceVolume: runtime.subscribeVoiceVolume,
|
|
191
206
|
muteVoice: runtime.muteVoice,
|
|
192
207
|
unmuteVoice: runtime.unmuteVoice,
|
|
193
|
-
message:
|
|
194
|
-
__internal_getRuntime:
|
|
208
|
+
message: t12,
|
|
209
|
+
__internal_getRuntime: t13
|
|
195
210
|
};
|
|
196
|
-
$[
|
|
197
|
-
$[
|
|
198
|
-
$[
|
|
199
|
-
$[
|
|
200
|
-
$[
|
|
201
|
-
$[
|
|
202
|
-
$[
|
|
203
|
-
$[
|
|
204
|
-
$[
|
|
205
|
-
$[
|
|
206
|
-
$[
|
|
207
|
-
$[
|
|
208
|
-
$[
|
|
209
|
-
$[
|
|
210
|
-
$[
|
|
211
|
-
$[
|
|
212
|
-
$[
|
|
213
|
-
$[
|
|
214
|
-
$[
|
|
215
|
-
$[
|
|
216
|
-
$[
|
|
217
|
-
$[
|
|
218
|
-
|
|
219
|
-
|
|
211
|
+
$[41] = runtime.append;
|
|
212
|
+
$[42] = runtime.cancelRun;
|
|
213
|
+
$[43] = runtime.connectVoice;
|
|
214
|
+
$[44] = runtime.deleteMessage;
|
|
215
|
+
$[45] = runtime.disconnectVoice;
|
|
216
|
+
$[46] = runtime.export;
|
|
217
|
+
$[47] = runtime.getModelContext;
|
|
218
|
+
$[48] = runtime.getVoiceVolume;
|
|
219
|
+
$[49] = runtime.import;
|
|
220
|
+
$[50] = runtime.importExternalState;
|
|
221
|
+
$[51] = runtime.muteVoice;
|
|
222
|
+
$[52] = runtime.reset;
|
|
223
|
+
$[53] = runtime.resumeRun;
|
|
224
|
+
$[54] = runtime.startRun;
|
|
225
|
+
$[55] = runtime.stopSpeaking;
|
|
226
|
+
$[56] = runtime.subscribeVoiceVolume;
|
|
227
|
+
$[57] = runtime.unmuteVoice;
|
|
228
|
+
$[58] = t10;
|
|
229
|
+
$[59] = t11;
|
|
230
|
+
$[60] = t12;
|
|
231
|
+
$[61] = t13;
|
|
232
|
+
$[62] = t9;
|
|
233
|
+
$[63] = t14;
|
|
234
|
+
} else t14 = $[63];
|
|
235
|
+
return t14;
|
|
220
236
|
};
|
|
221
237
|
const ThreadClient = resource(useThreadClient);
|
|
222
238
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-runtime-client.js","names":["Unsubscribe","ThreadRuntimeEventType","ThreadRuntime","useMemo","useEffect","RefObject","useResource","resource","withKey","liveRef","ClientOutput","useAssistantEmit","useClientLookup","useClientResource","ComposerClient","MessageClient","useSubscribable","ThreadState","useMessageClientById","t0","$","_c","runtime","id","threadIdRef","t1","getMessageById","messageRuntime","t2","MessageClientById","useThreadClient","runtimeState","emit","unsubscribers","threadEvents","event","unsubscribe","unstable_on","threadId","getState","push","unsub","t3","t4","composer","t5","messages","t6","m","map","state","length","isLoading","t7","capabilities","extras","isDisabled","isRunning","speech","suggestions","voice","isEmpty","t8","t9","methods","t10","selector","get","key","t11","t12","append","cancelRun","connectVoice","deleteMessage","disconnectVoice","export","getModelContext","getVoiceVolume","import","importExternalState","muteVoice","reset","resumeRun","startRun","stopSpeaking","subscribeVoiceVolume","unmuteVoice","message","__internal_getRuntime","ThreadClient"],"sources":["../../../src/store/runtime-clients/thread-runtime-client.ts"],"sourcesContent":["import type { Unsubscribe } from \"../../types/unsubscribe\";\nimport type { ThreadRuntimeEventType } from \"../../runtime/interfaces/thread-runtime-core\";\nimport type { ThreadRuntime } from \"../../runtime/api/thread-runtime\";\nimport { useMemo, useEffect, type RefObject } from \"react\";\nimport { useResource, resource, withKey } from \"@assistant-ui/tap\";\nimport { liveRef } from \"./liveRef\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport {\n useAssistantEmit,\n useClientLookup,\n useClientResource,\n} from \"@assistant-ui/store/client\";\nimport { ComposerClient } from \"./composer-runtime-client\";\nimport { MessageClient } from \"./message-runtime-client\";\nimport { useSubscribable } from \"./useSubscribable\";\nimport type { ThreadState } from \"../scopes/thread\";\n\nconst useMessageClientById = ({\n runtime,\n id,\n threadIdRef,\n}: {\n runtime: ThreadRuntime;\n id: string;\n threadIdRef: RefObject<string>;\n}) => {\n const messageRuntime = useMemo(\n () => runtime.getMessageById(id),\n [runtime, id],\n );\n\n return useResource(MessageClient({ runtime: messageRuntime, threadIdRef }));\n};\n\nconst MessageClientById = resource(useMessageClientById);\n\nconst useThreadClient = ({\n runtime,\n}: {\n runtime: ThreadRuntime;\n}): ClientOutput<\"thread\"> => {\n const runtimeState = useSubscribable(runtime);\n const emit = useAssistantEmit();\n\n useEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n const threadEvents: ThreadRuntimeEventType[] = [\n \"runStart\",\n \"runEnd\",\n \"initialize\",\n \"modelContextUpdate\",\n ];\n\n for (const event of threadEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n const threadId = runtime.getState()?.threadId || \"unknown\";\n emit(`thread.${event}`, {\n threadId,\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n return () => {\n for (const unsub of unsubscribers) unsub();\n };\n }, [runtime, emit]);\n\n const threadIdRef = useMemo(\n () => liveRef(() => runtime.getState()!.threadId),\n [runtime],\n );\n\n const composer = useClientResource(\n ComposerClient({\n runtime: runtime.composer,\n threadIdRef,\n }),\n );\n const messages = useClientLookup(\n runtimeState.messages.map((m) =>\n withKey(m.id, MessageClientById({ runtime, id: m.id, threadIdRef }), [\n runtime,\n m.id,\n threadIdRef,\n ]),\n ),\n );\n\n const state = useMemo<ThreadState>(() => {\n return {\n isEmpty: messages.state.length === 0 && !runtimeState.isLoading,\n isDisabled: runtimeState.isDisabled,\n isLoading: runtimeState.isLoading,\n isRunning: runtimeState.isRunning,\n capabilities: runtimeState.capabilities,\n state: runtimeState.state,\n suggestions: runtimeState.suggestions,\n extras: runtimeState.extras,\n speech: runtimeState.speech,\n voice: runtimeState.voice,\n\n composer: composer.state,\n messages: messages.state,\n };\n }, [runtimeState, messages, composer.state]);\n\n return {\n getState: () => state,\n composer: () => composer.methods,\n append: runtime.append,\n deleteMessage: runtime.deleteMessage,\n startRun: runtime.startRun,\n resumeRun: runtime.resumeRun,\n importExternalState: runtime.importExternalState,\n cancelRun: runtime.cancelRun,\n getModelContext: runtime.getModelContext,\n export: runtime.export,\n import: runtime.import,\n reset: runtime.reset,\n stopSpeaking: runtime.stopSpeaking,\n connectVoice: runtime.connectVoice,\n disconnectVoice: runtime.disconnectVoice,\n getVoiceVolume: runtime.getVoiceVolume,\n subscribeVoiceVolume: runtime.subscribeVoiceVolume,\n muteVoice: runtime.muteVoice,\n unmuteVoice: runtime.unmuteVoice,\n message: (selector) => {\n if (\"id\" in selector) {\n return messages.get({ key: selector.id });\n } else {\n return messages.get(selector);\n }\n },\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const ThreadClient = resource(useThreadClient);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thread-runtime-client.js","names":["Unsubscribe","ThreadRuntimeEventType","ThreadRuntime","useMemo","useEffect","RefObject","useResource","resource","withKey","liveRef","ClientOutput","useAssistantEmit","useClientLookup","useClientResource","ComposerClient","MessageClient","ThreadSuggestions","useSubscribable","ThreadState","useMessageClientById","t0","$","_c","runtime","id","threadIdRef","t1","getMessageById","messageRuntime","t2","MessageClientById","useThreadClient","runtimeState","emit","unsubscribers","threadEvents","event","unsubscribe","unstable_on","threadId","getState","push","unsub","t3","t4","composer","t5","suggestions","t6","messages","t7","m","map","state","length","isLoading","t8","capabilities","extras","isDisabled","isRunning","speech","voice","isEmpty","t9","t10","methods","t11","t12","selector","get","key","t13","t14","append","cancelRun","connectVoice","deleteMessage","disconnectVoice","export","getModelContext","getVoiceVolume","import","importExternalState","muteVoice","reset","resumeRun","startRun","stopSpeaking","subscribeVoiceVolume","unmuteVoice","message","__internal_getRuntime","ThreadClient"],"sources":["../../../src/store/runtime-clients/thread-runtime-client.ts"],"sourcesContent":["import type { Unsubscribe } from \"../../types/unsubscribe\";\nimport type { ThreadRuntimeEventType } from \"../../runtime/interfaces/thread-runtime-core\";\nimport type { ThreadRuntime } from \"../../runtime/api/thread-runtime\";\nimport { useMemo, useEffect, type RefObject } from \"react\";\nimport { useResource, resource, withKey } from \"@assistant-ui/tap\";\nimport { liveRef } from \"./liveRef\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport {\n useAssistantEmit,\n useClientLookup,\n useClientResource,\n} from \"@assistant-ui/store/client\";\nimport { ComposerClient } from \"./composer-runtime-client\";\nimport { MessageClient } from \"./message-runtime-client\";\nimport { ThreadSuggestions } from \"../clients/suggestions\";\nimport { useSubscribable } from \"./useSubscribable\";\nimport type { ThreadState } from \"../scopes/thread\";\n\nconst useMessageClientById = ({\n runtime,\n id,\n threadIdRef,\n}: {\n runtime: ThreadRuntime;\n id: string;\n threadIdRef: RefObject<string>;\n}) => {\n const messageRuntime = useMemo(\n () => runtime.getMessageById(id),\n [runtime, id],\n );\n\n return useResource(MessageClient({ runtime: messageRuntime, threadIdRef }));\n};\n\nconst MessageClientById = resource(useMessageClientById);\n\nconst useThreadClient = ({\n runtime,\n}: {\n runtime: ThreadRuntime;\n}): ClientOutput<\"thread\"> => {\n const runtimeState = useSubscribable(runtime);\n const emit = useAssistantEmit();\n\n useEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n const threadEvents: ThreadRuntimeEventType[] = [\n \"runStart\",\n \"runEnd\",\n \"initialize\",\n \"modelContextUpdate\",\n ];\n\n for (const event of threadEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n const threadId = runtime.getState()?.threadId || \"unknown\";\n emit(`thread.${event}`, {\n threadId,\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n return () => {\n for (const unsub of unsubscribers) unsub();\n };\n }, [runtime, emit]);\n\n const threadIdRef = useMemo(\n () => liveRef(() => runtime.getState()!.threadId),\n [runtime],\n );\n\n const composer = useClientResource(\n ComposerClient({\n runtime: runtime.composer,\n threadIdRef,\n }),\n );\n const suggestions = useClientResource(\n ThreadSuggestions(runtimeState.suggestions),\n );\n const messages = useClientLookup(\n runtimeState.messages.map((m) =>\n withKey(m.id, MessageClientById({ runtime, id: m.id, threadIdRef }), [\n runtime,\n m.id,\n threadIdRef,\n ]),\n ),\n );\n\n const state = useMemo<ThreadState>(() => {\n return {\n isEmpty: messages.state.length === 0 && !runtimeState.isLoading,\n isDisabled: runtimeState.isDisabled,\n isLoading: runtimeState.isLoading,\n isRunning: runtimeState.isRunning,\n capabilities: runtimeState.capabilities,\n state: runtimeState.state,\n suggestions: runtimeState.suggestions,\n extras: runtimeState.extras,\n speech: runtimeState.speech,\n voice: runtimeState.voice,\n\n composer: composer.state,\n messages: messages.state,\n };\n }, [runtimeState, messages, composer.state]);\n\n return {\n getState: () => state,\n composer: () => composer.methods,\n suggestions: () => suggestions.methods,\n append: runtime.append,\n deleteMessage: runtime.deleteMessage,\n startRun: runtime.startRun,\n resumeRun: runtime.resumeRun,\n importExternalState: runtime.importExternalState,\n cancelRun: runtime.cancelRun,\n getModelContext: runtime.getModelContext,\n export: runtime.export,\n import: runtime.import,\n reset: runtime.reset,\n stopSpeaking: runtime.stopSpeaking,\n connectVoice: runtime.connectVoice,\n disconnectVoice: runtime.disconnectVoice,\n getVoiceVolume: runtime.getVoiceVolume,\n subscribeVoiceVolume: runtime.subscribeVoiceVolume,\n muteVoice: runtime.muteVoice,\n unmuteVoice: runtime.unmuteVoice,\n message: (selector) => {\n if (\"id\" in selector) {\n return messages.get({ key: selector.id });\n } else {\n return messages.get(selector);\n }\n },\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const ThreadClient = resource(useThreadClient);\n"],"mappings":";;;;;;;;;;AAkBA,MAAMmB,wBAAuBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,SAAAC,IAAAC,gBAAAL;CAQ7B,IAAAM;CAAA,IAAAL,EAAA,OAAAG,MAAAH,EAAA,OAAAE,SAAA;EAESG,KAAAH,QAAOI,eAAgBH,EAAE;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CADlC,MAAAO,iBACQF;CAEN,IAAAG;CAAA,IAAAR,EAAA,OAAAO,kBAAAP,EAAA,OAAAI,aAAA;EAEiBI,KAAAd,cAAc;GAAAQ,SAAWK;GAAcH;EAAc,CAAC;EAACJ,EAAA,KAAAO;EAAAP,EAAA,KAAAI;EAAAJ,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAAnEf,YAAYuB,EAAuD;AAAC;AAG7E,MAAMC,oBAAoBvB,SAASY,oBAAoB;AAEvD,MAAMY,mBAAkBX,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,YAAAH;CAKvB,MAAAY,eAAqBf,gBAAgBM,OAAO;CAC5C,MAAAU,OAAatB,iBAAiB;CAAE,IAAAe;CAAA,IAAAG;CAAA,IAAAR,EAAA,OAAAY,QAAAZ,EAAA,OAAAE,SAAA;EAEtBG,WAAA;GACR,MAAAQ,gBAAqC,CAAA;GASrC,KAAK,MAAAE,SAAeD;IANlB;IACA;IACA;IACA;GAGkBA,GAAY;IAC9B,MAAAE,cAAoBd,QAAOe,YAAaF,aAAO;KAC7C,MAAAG,WAAiBhB,QAAOiB,SAAoB,CAAC,EAAAD,YAA5B;KACjBN,KAAK,UAAUG,SAAS,EAAAG,SAExB,CAAC;IAAC,CACH;IACDL,cAAaO,KAAMJ,WAAW;GAAC;GAChC,aAEM;IACL,KAAK,MAAAK,SAAeR,eAAeQ,MAAM;GAAE;EAC5C;EACAb,KAAA,CAACN,SAASU,IAAI;EAACZ,EAAA,KAAAY;EAAAZ,EAAA,KAAAE;EAAAF,EAAA,KAAAK;EAAAL,EAAA,KAAAQ;CAAA,OAAA;EAAAH,KAAAL,EAAA;EAAAQ,KAAAR,EAAA;CAAA;CAvBlBjB,UAAUsB,IAuBPG,EAAe;CAAC,IAAAc;CAAA,IAAAtB,EAAA,OAAAE,SAAA;EAGXoB,KAAAlC,cAAcc,QAAOiB,SAAU,CAAC,CAAAD,QAAU;EAAClB,EAAA,KAAAE;EAAAF,EAAA,KAAAsB;CAAA,OAAAA,KAAAtB,EAAA;CADnD,MAAAI,cACQkB;CAEN,IAAAC;CAAA,IAAAvB,EAAA,OAAAE,QAAAsB,YAAAxB,EAAA,OAAAI,aAAA;EAGAmB,KAAA9B,eAAe;GAAAS,SACJA,QAAOsB;GAASpB;EAE3B,CAAC;EAACJ,EAAA,KAAAE,QAAAsB;EAAAxB,EAAA,KAAAI;EAAAJ,EAAA,KAAAuB;CAAA,OAAAA,KAAAvB,EAAA;CAJJ,MAAAwB,WAAiBhC,kBACf+B,EAIF;CAAE,IAAAE;CAAA,IAAAzB,EAAA,OAAAW,aAAAe,aAAA;EAEAD,KAAA9B,kBAAkBgB,aAAYe,WAAY;EAAC1B,EAAA,KAAAW,aAAAe;EAAA1B,EAAA,MAAAyB;CAAA,OAAAA,KAAAzB,EAAA;CAD7C,MAAA0B,cAAoBlC,kBAClBiC,EACF;CAAE,IAAAE;CAAA,IAAA3B,EAAA,QAAAE,WAAAF,EAAA,QAAAW,aAAAiB,YAAA5B,EAAA,QAAAI,aAAA;EAAA,IAAAyB;EAAA,IAAA7B,EAAA,QAAAE,WAAAF,EAAA,QAAAI,aAAA;GAE0ByB,MAAAC,MACxB3C,QAAQ2C,EAAC3B,IAAKM,kBAAkB;IAAAP;IAAAC,IAAe2B,EAAC3B;IAAGC;GAAc,CAAC,GAAG;IACnEF;IACA4B,EAAC3B;IACDC;GAAW,CACZ;GAACJ,EAAA,MAAAE;GAAAF,EAAA,MAAAI;GAAAJ,EAAA,MAAA6B;EAAA,OAAAA,KAAA7B,EAAA;EALJ2B,KAAAhB,aAAYiB,SAASG,IAAKF,EAM1B;EAAC7B,EAAA,MAAAE;EAAAF,EAAA,MAAAW,aAAAiB;EAAA5B,EAAA,MAAAI;EAAAJ,EAAA,MAAA2B;CAAA,OAAAA,KAAA3B,EAAA;CAPH,MAAA4B,WAAiBrC,gBACfoC,EAOF;CAIa,MAAAE,KAAAD,SAAQI,MAAMC,WAAY,KAA1B,CAAgCtB,aAAYuB;CAAU,IAAAC;CAAA,IAAAnC,EAAA,QAAAwB,SAAAQ,SAAAhC,EAAA,QAAA4B,SAAAI,SAAAhC,EAAA,QAAAW,aAAAyB,gBAAApC,EAAA,QAAAW,aAAA0B,UAAArC,EAAA,QAAAW,aAAA2B,cAAAtC,EAAA,QAAAW,aAAAuB,aAAAlC,EAAA,QAAAW,aAAA4B,aAAAvC,EAAA,QAAAW,aAAA6B,UAAAxC,EAAA,QAAAW,aAAAqB,SAAAhC,EAAA,QAAAW,aAAAe,eAAA1B,EAAA,QAAAW,aAAA8B,SAAAzC,EAAA,QAAA6B,IAAA;EAD1DM,KAAA;GAAAO,SACIb;GAAsDS,YACnD3B,aAAY2B;GAAWJ,WACxBvB,aAAYuB;GAAUK,WACtB5B,aAAY4B;GAAUH,cACnBzB,aAAYyB;GAAaJ,OAChCrB,aAAYqB;GAAMN,aACZf,aAAYe;GAAYW,QAC7B1B,aAAY0B;GAAOG,QACnB7B,aAAY6B;GAAOC,OACpB9B,aAAY8B;GAAMjB,UAEfA,SAAQQ;GAAMJ,UACdA,SAAQI;EACpB;EAAChC,EAAA,MAAAwB,SAAAQ;EAAAhC,EAAA,MAAA4B,SAAAI;EAAAhC,EAAA,MAAAW,aAAAyB;EAAApC,EAAA,MAAAW,aAAA0B;EAAArC,EAAA,MAAAW,aAAA2B;EAAAtC,EAAA,MAAAW,aAAAuB;EAAAlC,EAAA,MAAAW,aAAA4B;EAAAvC,EAAA,MAAAW,aAAA6B;EAAAxC,EAAA,MAAAW,aAAAqB;EAAAhC,EAAA,MAAAW,aAAAe;EAAA1B,EAAA,MAAAW,aAAA8B;EAAAzC,EAAA,MAAA6B;EAAA7B,EAAA,MAAAmC;CAAA,OAAAA,KAAAnC,EAAA;CAfH,MAAAgC,QACEG;CAe2C,IAAAQ;CAAA,IAAA3C,EAAA,QAAAgC,OAAA;EAGjCW,WAAMX;EAAKhC,EAAA,MAAAgC;EAAAhC,EAAA,MAAA2C;CAAA,OAAAA,KAAA3C,EAAA;CAAA,IAAA4C;CAAA,IAAA5C,EAAA,QAAAwB,SAAAqB,SAAA;EACXD,YAAMpB,SAAQqB;EAAQ7C,EAAA,MAAAwB,SAAAqB;EAAA7C,EAAA,MAAA4C;CAAA,OAAAA,MAAA5C,EAAA;CAAA,IAAA8C;CAAA,IAAA9C,EAAA,QAAA0B,aAAA;EACnBoB,YAAMpB,YAAWmB;EAAQ7C,EAAA,MAAA0B;EAAA1B,EAAA,MAAA8C;CAAA,OAAAA,MAAA9C,EAAA;CAAA,IAAA+C;CAAA,IAAA/C,EAAA,QAAA4B,UAAA;EAkB7BmB,OAAAC,aAAA;GACP,IAAI,QAAQA,UAAQ,OACXpB,SAAQqB,IAAK,EAAAC,KAAOF,SAAQ7C,GAAI,CAAC;QAAC,OAElCyB,SAAQqB,IAAKD,QAAQ;EAC7B;EACFhD,EAAA,MAAA4B;EAAA5B,EAAA,MAAA+C;CAAA,OAAAA,MAAA/C,EAAA;CAAA,IAAAmD;CAAA,IAAAnD,EAAA,QAAAE,SAAA;EACsBiD,YAAMjD;EAAOF,EAAA,MAAAE;EAAAF,EAAA,MAAAmD;CAAA,OAAAA,MAAAnD,EAAA;CAAA,IAAAoD;CAAA,IAAApD,EAAA,QAAAE,QAAAmD,UAAArD,EAAA,QAAAE,QAAAoD,aAAAtD,EAAA,QAAAE,QAAAqD,gBAAAvD,EAAA,QAAAE,QAAAsD,iBAAAxD,EAAA,QAAAE,QAAAuD,mBAAAzD,EAAA,QAAAE,QAAAwD,UAAA1D,EAAA,QAAAE,QAAAyD,mBAAA3D,EAAA,QAAAE,QAAA0D,kBAAA5D,EAAA,QAAAE,QAAA2D,UAAA7D,EAAA,QAAAE,QAAA4D,uBAAA9D,EAAA,QAAAE,QAAA6D,aAAA/D,EAAA,QAAAE,QAAA8D,SAAAhE,EAAA,QAAAE,QAAA+D,aAAAjE,EAAA,QAAAE,QAAAgE,YAAAlE,EAAA,QAAAE,QAAAiE,gBAAAnE,EAAA,QAAAE,QAAAkE,wBAAApE,EAAA,QAAAE,QAAAmE,eAAArE,EAAA,QAAA4C,OAAA5C,EAAA,QAAA8C,OAAA9C,EAAA,QAAA+C,OAAA/C,EAAA,QAAAmD,OAAAnD,EAAA,QAAA2C,IAAA;EA5B/BS,MAAA;GAAAjC,UACKwB;GAAWnB,UACXoB;GAAsBlB,aACnBoB;GAAyBO,QAC9BnD,QAAOmD;GAAOG,eACPtD,QAAOsD;GAAcU,UAC1BhE,QAAOgE;GAASD,WACf/D,QAAO+D;GAAUH,qBACP5D,QAAO4D;GAAoBR,WACrCpD,QAAOoD;GAAUK,iBACXzD,QAAOyD;GAAgBD,QAChCxD,QAAOwD;GAAOG,QACd3D,QAAO2D;GAAOG,OACf9D,QAAO8D;GAAMG,cACNjE,QAAOiE;GAAaZ,cACpBrD,QAAOqD;GAAaE,iBACjBvD,QAAOuD;GAAgBG,gBACxB1D,QAAO0D;GAAeQ,sBAChBlE,QAAOkE;GAAqBL,WACvC7D,QAAO6D;GAAUM,aACfnE,QAAOmE;GAAYC,SACvBvB;GAMRwB,uBACsBpB;EACzB;EAACnD,EAAA,MAAAE,QAAAmD;EAAArD,EAAA,MAAAE,QAAAoD;EAAAtD,EAAA,MAAAE,QAAAqD;EAAAvD,EAAA,MAAAE,QAAAsD;EAAAxD,EAAA,MAAAE,QAAAuD;EAAAzD,EAAA,MAAAE,QAAAwD;EAAA1D,EAAA,MAAAE,QAAAyD;EAAA3D,EAAA,MAAAE,QAAA0D;EAAA5D,EAAA,MAAAE,QAAA2D;EAAA7D,EAAA,MAAAE,QAAA4D;EAAA9D,EAAA,MAAAE,QAAA6D;EAAA/D,EAAA,MAAAE,QAAA8D;EAAAhE,EAAA,MAAAE,QAAA+D;EAAAjE,EAAA,MAAAE,QAAAgE;EAAAlE,EAAA,MAAAE,QAAAiE;EAAAnE,EAAA,MAAAE,QAAAkE;EAAApE,EAAA,MAAAE,QAAAmE;EAAArE,EAAA,MAAA4C;EAAA5C,EAAA,MAAA8C;EAAA9C,EAAA,MAAA+C;EAAA/C,EAAA,MAAAmD;EAAAnD,EAAA,MAAA2C;EAAA3C,EAAA,MAAAoD;CAAA,OAAAA,MAAApD,EAAA;CAAA,OA7BMoD;AA6BN;AAGH,MAAaoB,eAAetF,SAASwB,eAAe"}
|
|
@@ -4,10 +4,10 @@ import { AttachmentClientSchema } from "./scopes/attachment.js";
|
|
|
4
4
|
import { ComposerClientSchema } from "./scopes/composer.js";
|
|
5
5
|
import { PartClientSchema } from "./scopes/part.js";
|
|
6
6
|
import { MessageClientSchema } from "./scopes/message.js";
|
|
7
|
-
import { ThreadClientSchema } from "./scopes/thread.js";
|
|
8
|
-
import { ThreadsClientSchema } from "./scopes/threads.js";
|
|
9
7
|
import { SuggestionClientSchema } from "./scopes/suggestion.js";
|
|
10
8
|
import { SuggestionsClientSchema } from "./scopes/suggestions.js";
|
|
9
|
+
import { ThreadClientSchema } from "./scopes/thread.js";
|
|
10
|
+
import { ThreadsClientSchema } from "./scopes/threads.js";
|
|
11
11
|
import { ModelContextClientSchema } from "./scopes/model-context.js";
|
|
12
12
|
import { ChainOfThoughtClientSchema } from "./scopes/chain-of-thought.js";
|
|
13
13
|
//#region src/store/scope-registration.d.ts
|
|
@@ -14,9 +14,14 @@ type SuggestionsMethods = {
|
|
|
14
14
|
index: number;
|
|
15
15
|
}): SuggestionMethods;
|
|
16
16
|
};
|
|
17
|
+
type SuggestionsMeta = {
|
|
18
|
+
source: "thread";
|
|
19
|
+
query: Record<string, never>;
|
|
20
|
+
};
|
|
17
21
|
type SuggestionsClientSchema = {
|
|
18
22
|
methods: SuggestionsMethods;
|
|
23
|
+
meta: SuggestionsMeta;
|
|
19
24
|
};
|
|
20
25
|
//#endregion
|
|
21
|
-
export { Suggestion, SuggestionsClientSchema, SuggestionsMethods, SuggestionsState };
|
|
26
|
+
export { Suggestion, SuggestionsClientSchema, SuggestionsMeta, SuggestionsMethods, SuggestionsState };
|
|
22
27
|
//# sourceMappingURL=suggestions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggestions.d.ts","names":[],"sources":["../../../src/store/scopes/suggestions.ts"],"mappings":";;KAEY;EACV;EACA;EACA;;KAGU;EACV,aAAa;;KAGH;EACV,YAAY;EACZ,WAAW;IAAS;MAAkB;;KAG5B;EACV,SAAS"}
|
|
1
|
+
{"version":3,"file":"suggestions.d.ts","names":[],"sources":["../../../src/store/scopes/suggestions.ts"],"mappings":";;KAEY;EACV;EACA;EACA;;KAGU;EACV,aAAa;;KAGH;EACV,YAAY;EACZ,WAAW;IAAS;MAAkB;;KAG5B;EACV;EACA,OAAO;;KAGG;EACV,SAAS;EACT,MAAM"}
|
|
@@ -5,6 +5,7 @@ import { ExportedMessageRepository } from "../../runtime/utils/message-repositor
|
|
|
5
5
|
import { RuntimeCapabilities, SpeechState, ThreadSuggestion, VoiceSessionState } from "../../runtime/interfaces/thread-runtime-core.js";
|
|
6
6
|
import { ComposerMethods, ComposerState } from "./composer.js";
|
|
7
7
|
import { MessageMethods, MessageState } from "./message.js";
|
|
8
|
+
import { SuggestionsMethods } from "./suggestions.js";
|
|
8
9
|
import { CreateAppendMessage, CreateResumeRunConfig, CreateStartRunConfig, ThreadRuntime } from "../../runtime/api/thread-runtime.js";
|
|
9
10
|
import { ReadonlyJSONValue } from "assistant-stream/utils";
|
|
10
11
|
//#region src/store/scopes/thread.d.ts
|
|
@@ -60,6 +61,10 @@ type ThreadMethods = {
|
|
|
60
61
|
* The thread composer runtime.
|
|
61
62
|
*/
|
|
62
63
|
composer(): ComposerMethods;
|
|
64
|
+
/**
|
|
65
|
+
* The suggestions shown for this thread.
|
|
66
|
+
*/
|
|
67
|
+
suggestions(): SuggestionsMethods;
|
|
63
68
|
/**
|
|
64
69
|
* Append a new message to the thread.
|
|
65
70
|
*
|
|
@@ -89,6 +94,18 @@ type ThreadMethods = {
|
|
|
89
94
|
*/
|
|
90
95
|
resumeRun(config: CreateResumeRunConfig): void;
|
|
91
96
|
cancelRun(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Re-fetch this thread's state from its backing store, in place: the tap
|
|
99
|
+
* thread's refetch hook, which `threads.reloadMainThread()` prefers and
|
|
100
|
+
* whose rejection it propagates. `capabilities.refetchThread` is the
|
|
101
|
+
* portable feature-detection signal; a legacy-bridged thread reports it
|
|
102
|
+
* there while routing the refetch through its runtime, not this method.
|
|
103
|
+
* The method-shorthand optionality is load-bearing: an explicit
|
|
104
|
+
* `| undefined` stops `ThreadMethods` satisfying `ClientMethods` and
|
|
105
|
+
* collapses the client schema, which only a workspace-level app typecheck
|
|
106
|
+
* surfaces.
|
|
107
|
+
*/
|
|
108
|
+
unstable_refetchThread?(): Promise<void>;
|
|
92
109
|
getModelContext(): ModelContext;
|
|
93
110
|
export(): ExportedMessageRepository;
|
|
94
111
|
import(repository: ExportedMessageRepository): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread.d.ts","names":[],"sources":["../../../src/store/scopes/thread.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"thread.d.ts","names":[],"sources":["../../../src/store/scopes/thread.ts"],"mappings":";;;;;;;;;;;KAqBY;;;;WAID;;;;WAIA;;;;WAIA;;;;WAIA;;;;WAIA,cAAc;;;;WAId,mBAAmB;;;;;WAKnB,OAAO;;;;WAIP,sBAAsB;;;;WAItB;;WAEA,QAAQ;WACR,OAAO;WACP,UAAU;;KAGT;;;;EAIV,YAAY;;;;EAIZ,YAAY;;;;EAIZ,eAAe;;;;;;;;;;;;;;;;;EAiBf,OAAO,SAAS;EAChB,cAAc,2BAA2B;;;;;EAKzC,SAAS,QAAQ;;;;;EAKjB,UAAU,QAAQ;EAClB;;;;;;;;;;;;EAYA,2BAA2B;EAC3B,mBAAmB;EACnB,UAAU;EACV,OAAO,YAAY;;;;;EAKnB,MAAM,2BAA2B;EACjC,oBAAoB;EACpB,QAAQ;IAAY;;IAAiB;MAAkB;;EAEvD;EACA;EACA;EACA;EACA,qBAAqB,uBAAuB;EAC5C;EACA;EACA,0BAA0B;;KAGhB;EACV;EACA;IAAS;;;KAGC;;;;;EAKV;IAAqB;;;;;;EAKrB;IAAmB;;;;;;;EAMnB;IAAuB;;;;;;EAKvB;IAA+B;;;KAGrB;EACV,SAAS;EACT,MAAM;EACN,QAAQ"}
|