@assistant-ui/react 0.15.2 → 0.15.4
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/client/ExternalThread.d.ts.map +1 -1
- package/dist/client/ExternalThread.js +1 -0
- package/dist/client/ExternalThread.js.map +1 -1
- package/dist/client/InMemoryThreadList.d.ts.map +1 -1
- package/dist/client/InMemoryThreadList.js +199 -176
- package/dist/client/InMemoryThreadList.js.map +1 -1
- package/dist/client/SingleThreadList.d.ts.map +1 -1
- package/dist/client/SingleThreadList.js +56 -48
- package/dist/client/SingleThreadList.js.map +1 -1
- package/dist/legacy-runtime/cloud/auiV0.d.ts +2 -0
- package/dist/legacy-runtime/cloud/auiV0.d.ts.map +1 -1
- package/dist/legacy-runtime/cloud/auiV0.js +6 -4
- package/dist/legacy-runtime/cloud/auiV0.js.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts +6 -0
- package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js +20 -15
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
- package/dist/mcp-apps/McpAppRenderer.d.ts.map +1 -1
- package/dist/mcp-apps/McpAppRenderer.js +25 -14
- package/dist/mcp-apps/McpAppRenderer.js.map +1 -1
- package/dist/mcp-apps/McpAppsRemoteHost.d.ts.map +1 -1
- package/dist/mcp-apps/McpAppsRemoteHost.js +17 -6
- package/dist/mcp-apps/McpAppsRemoteHost.js.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.d.ts +6 -1
- package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts +4 -2
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
- package/dist/primitives/suggestion/SuggestionTrigger.js +21 -42
- package/dist/primitives/suggestion/SuggestionTrigger.js.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts +4 -2
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
- package/package.json +6 -6
- package/src/client/ExternalThread.ts +1 -0
- package/src/client/InMemoryThreadList.ts +27 -7
- package/src/client/SingleThreadList.ts +10 -2
- package/src/legacy-runtime/cloud/auiV0.ts +8 -2
- package/src/legacy-runtime/runtime-cores/assistant-transport/types.ts +6 -0
- package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.test.tsx +31 -0
- package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.ts +26 -17
- package/src/mcp-apps/McpAppRenderer.test.tsx +262 -3
- package/src/mcp-apps/McpAppRenderer.tsx +27 -15
- package/src/mcp-apps/McpAppsRemoteHost.ts +18 -9
- package/src/primitives/message/MessagePartsGrouped.tsx +6 -1
- package/src/primitives/suggestion/SuggestionTrigger.ts +11 -32
- package/src/primitives/thread/ThreadSuggestion.ts +2 -1
- package/src/tests/RemoteThreadListRuntime.reloadMainThread.test.tsx +115 -0
- package/src/tests/threadListItemIsRunning.test.tsx +198 -0
|
@@ -7,71 +7,74 @@ import { resource, withKey } from "@assistant-ui/tap";
|
|
|
7
7
|
//#region src/client/InMemoryThreadList.ts
|
|
8
8
|
const RESOLVED_PROMISE = Promise.resolve();
|
|
9
9
|
const useThreadListItemClient = (props) => {
|
|
10
|
-
const $ = c(
|
|
11
|
-
const { data, onSwitchTo, onUpdateCustom, onArchive, onUnarchive, onDelete } = props;
|
|
10
|
+
const $ = c(19);
|
|
11
|
+
const { data, isRunning, onSwitchTo, onRename, onUpdateCustom, onArchive, onUnarchive, onDelete } = props;
|
|
12
12
|
let t0;
|
|
13
|
-
if ($[0] !== data.custom || $[1] !== data.id || $[2] !== data.status || $[3] !== data.title) {
|
|
13
|
+
if ($[0] !== data.custom || $[1] !== data.id || $[2] !== data.status || $[3] !== data.title || $[4] !== isRunning) {
|
|
14
14
|
t0 = {
|
|
15
15
|
id: data.id,
|
|
16
16
|
remoteId: void 0,
|
|
17
17
|
externalId: void 0,
|
|
18
18
|
title: data.title,
|
|
19
19
|
status: data.status,
|
|
20
|
-
custom: data.custom
|
|
20
|
+
custom: data.custom,
|
|
21
|
+
isRunning
|
|
21
22
|
};
|
|
22
23
|
$[0] = data.custom;
|
|
23
24
|
$[1] = data.id;
|
|
24
25
|
$[2] = data.status;
|
|
25
26
|
$[3] = data.title;
|
|
26
|
-
$[4] =
|
|
27
|
-
|
|
27
|
+
$[4] = isRunning;
|
|
28
|
+
$[5] = t0;
|
|
29
|
+
} else t0 = $[5];
|
|
28
30
|
const state = t0;
|
|
29
31
|
let t1;
|
|
30
|
-
if ($[
|
|
32
|
+
if ($[6] !== state) {
|
|
31
33
|
t1 = () => state;
|
|
32
|
-
$[
|
|
33
|
-
$[
|
|
34
|
-
} else t1 = $[
|
|
34
|
+
$[6] = state;
|
|
35
|
+
$[7] = t1;
|
|
36
|
+
} else t1 = $[7];
|
|
35
37
|
let t2;
|
|
36
|
-
if ($[
|
|
38
|
+
if ($[8] !== data.id) {
|
|
37
39
|
t2 = async () => ({
|
|
38
40
|
remoteId: data.id,
|
|
39
41
|
externalId: void 0
|
|
40
42
|
});
|
|
41
|
-
$[
|
|
42
|
-
$[
|
|
43
|
-
} else t2 = $[
|
|
43
|
+
$[8] = data.id;
|
|
44
|
+
$[9] = t2;
|
|
45
|
+
} else t2 = $[9];
|
|
44
46
|
let t3;
|
|
45
|
-
if ($[
|
|
47
|
+
if ($[10] !== onArchive || $[11] !== onDelete || $[12] !== onRename || $[13] !== onSwitchTo || $[14] !== onUnarchive || $[15] !== onUpdateCustom || $[16] !== t1 || $[17] !== t2) {
|
|
46
48
|
t3 = {
|
|
47
49
|
getState: t1,
|
|
48
50
|
switchTo: onSwitchTo,
|
|
49
|
-
rename:
|
|
51
|
+
rename: onRename,
|
|
50
52
|
updateCustom: onUpdateCustom,
|
|
51
53
|
archive: onArchive,
|
|
52
54
|
unarchive: onUnarchive,
|
|
53
55
|
delete: onDelete,
|
|
54
|
-
generateTitle:
|
|
56
|
+
generateTitle: _temp,
|
|
55
57
|
initialize: t2,
|
|
56
|
-
detach:
|
|
58
|
+
detach: _temp2
|
|
57
59
|
};
|
|
58
|
-
$[
|
|
59
|
-
$[
|
|
60
|
-
$[
|
|
61
|
-
$[
|
|
62
|
-
$[
|
|
63
|
-
$[
|
|
64
|
-
$[
|
|
65
|
-
$[
|
|
66
|
-
|
|
60
|
+
$[10] = onArchive;
|
|
61
|
+
$[11] = onDelete;
|
|
62
|
+
$[12] = onRename;
|
|
63
|
+
$[13] = onSwitchTo;
|
|
64
|
+
$[14] = onUnarchive;
|
|
65
|
+
$[15] = onUpdateCustom;
|
|
66
|
+
$[16] = t1;
|
|
67
|
+
$[17] = t2;
|
|
68
|
+
$[18] = t3;
|
|
69
|
+
} else t3 = $[18];
|
|
67
70
|
return t3;
|
|
68
71
|
};
|
|
69
72
|
const ThreadListItemClient = resource(useThreadListItemClient);
|
|
70
73
|
const useInMemoryThreadList = (props) => {
|
|
71
|
-
const $ = c(
|
|
74
|
+
const $ = c(58);
|
|
72
75
|
const { thread: threadFactory, onSwitchToThread, onSwitchToNewThread } = props;
|
|
73
76
|
const [mainThreadId, setMainThreadId] = useState("main");
|
|
74
|
-
const [threads, setThreads] = useState(
|
|
77
|
+
const [threads, setThreads] = useState(_temp3);
|
|
75
78
|
let t0;
|
|
76
79
|
if ($[0] !== onSwitchToThread) {
|
|
77
80
|
t0 = (threadId) => {
|
|
@@ -84,56 +87,67 @@ const useInMemoryThreadList = (props) => {
|
|
|
84
87
|
const handleSwitchToThread = t0;
|
|
85
88
|
let t1;
|
|
86
89
|
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
87
|
-
t1 = (threadId_0) => {
|
|
90
|
+
t1 = (threadId_0, title) => {
|
|
88
91
|
setThreads((prev) => prev.map((t) => t.id === threadId_0 ? {
|
|
89
92
|
...t,
|
|
90
|
-
|
|
93
|
+
title
|
|
91
94
|
} : t));
|
|
92
95
|
};
|
|
93
96
|
$[2] = t1;
|
|
94
97
|
} else t1 = $[2];
|
|
95
|
-
const
|
|
98
|
+
const handleRename = t1;
|
|
96
99
|
let t2;
|
|
97
100
|
if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
98
101
|
t2 = (threadId_1) => {
|
|
99
102
|
setThreads((prev_0) => prev_0.map((t_0) => t_0.id === threadId_1 ? {
|
|
100
103
|
...t_0,
|
|
101
|
-
status: "
|
|
104
|
+
status: "archived"
|
|
102
105
|
} : t_0));
|
|
103
106
|
};
|
|
104
107
|
$[3] = t2;
|
|
105
108
|
} else t2 = $[3];
|
|
106
|
-
const
|
|
109
|
+
const handleArchive = t2;
|
|
107
110
|
let t3;
|
|
108
111
|
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
109
|
-
t3 = (threadId_2
|
|
112
|
+
t3 = (threadId_2) => {
|
|
110
113
|
setThreads((prev_1) => prev_1.map((t_1) => t_1.id === threadId_2 ? {
|
|
111
114
|
...t_1,
|
|
112
|
-
|
|
115
|
+
status: "regular"
|
|
113
116
|
} : t_1));
|
|
114
117
|
};
|
|
115
118
|
$[4] = t3;
|
|
116
119
|
} else t3 = $[4];
|
|
117
|
-
const
|
|
120
|
+
const handleUnarchive = t3;
|
|
118
121
|
let t4;
|
|
119
|
-
if ($[5]
|
|
120
|
-
t4 = (threadId_3) => {
|
|
121
|
-
setThreads((prev_2) => prev_2.
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
123
|
+
t4 = (threadId_3, custom) => {
|
|
124
|
+
setThreads((prev_2) => prev_2.map((t_2) => t_2.id === threadId_3 ? {
|
|
125
|
+
...t_2,
|
|
126
|
+
custom
|
|
127
|
+
} : t_2));
|
|
128
|
+
};
|
|
129
|
+
$[5] = t4;
|
|
130
|
+
} else t4 = $[5];
|
|
131
|
+
const handleUpdateCustom = t4;
|
|
132
|
+
let t5;
|
|
133
|
+
if ($[6] !== mainThreadId || $[7] !== threads) {
|
|
134
|
+
t5 = (threadId_4) => {
|
|
135
|
+
setThreads((prev_3) => prev_3.filter((t_3) => t_3.id !== threadId_4));
|
|
136
|
+
if (mainThreadId === threadId_4) {
|
|
137
|
+
const remaining = threads.filter((t_4) => t_4.id !== threadId_4);
|
|
124
138
|
setMainThreadId(remaining[0]?.id || "main");
|
|
125
139
|
}
|
|
126
140
|
};
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
129
|
-
$[
|
|
130
|
-
} else
|
|
131
|
-
const handleDelete =
|
|
132
|
-
let
|
|
133
|
-
if ($[
|
|
134
|
-
|
|
141
|
+
$[6] = mainThreadId;
|
|
142
|
+
$[7] = threads;
|
|
143
|
+
$[8] = t5;
|
|
144
|
+
} else t5 = $[8];
|
|
145
|
+
const handleDelete = t5;
|
|
146
|
+
let t6;
|
|
147
|
+
if ($[9] !== onSwitchToNewThread) {
|
|
148
|
+
t6 = () => {
|
|
135
149
|
const newId = `thread-${Date.now()}`;
|
|
136
|
-
setThreads((
|
|
150
|
+
setThreads((prev_4) => [...prev_4, {
|
|
137
151
|
id: newId,
|
|
138
152
|
title: "New Thread",
|
|
139
153
|
status: "regular"
|
|
@@ -141,151 +155,158 @@ const useInMemoryThreadList = (props) => {
|
|
|
141
155
|
setMainThreadId(newId);
|
|
142
156
|
onSwitchToNewThread?.();
|
|
143
157
|
};
|
|
144
|
-
$[
|
|
145
|
-
$[
|
|
146
|
-
} else
|
|
147
|
-
const handleSwitchToNewThread =
|
|
148
|
-
let t6;
|
|
149
|
-
if ($[10] !== handleDelete || $[11] !== handleSwitchToThread || $[12] !== threads) {
|
|
150
|
-
let t7;
|
|
151
|
-
if ($[14] !== handleDelete || $[15] !== handleSwitchToThread) {
|
|
152
|
-
t7 = (t_4) => withKey(t_4.id, ThreadListItemClient({
|
|
153
|
-
data: t_4,
|
|
154
|
-
onSwitchTo: () => handleSwitchToThread(t_4.id),
|
|
155
|
-
onUpdateCustom: (custom_0) => handleUpdateCustom(t_4.id, custom_0),
|
|
156
|
-
onArchive: () => handleArchive(t_4.id),
|
|
157
|
-
onUnarchive: () => handleUnarchive(t_4.id),
|
|
158
|
-
onDelete: () => handleDelete(t_4.id)
|
|
159
|
-
}));
|
|
160
|
-
$[14] = handleDelete;
|
|
161
|
-
$[15] = handleSwitchToThread;
|
|
162
|
-
$[16] = t7;
|
|
163
|
-
} else t7 = $[16];
|
|
164
|
-
t6 = threads.map(t7);
|
|
165
|
-
$[10] = handleDelete;
|
|
166
|
-
$[11] = handleSwitchToThread;
|
|
167
|
-
$[12] = threads;
|
|
168
|
-
$[13] = t6;
|
|
169
|
-
} else t6 = $[13];
|
|
170
|
-
const threadListItems = useClientLookup(t6);
|
|
158
|
+
$[9] = onSwitchToNewThread;
|
|
159
|
+
$[10] = t6;
|
|
160
|
+
} else t6 = $[10];
|
|
161
|
+
const handleSwitchToNewThread = t6;
|
|
171
162
|
let t7;
|
|
172
|
-
if ($[
|
|
163
|
+
if ($[11] !== mainThreadId || $[12] !== threadFactory) {
|
|
173
164
|
t7 = threadFactory(mainThreadId);
|
|
174
|
-
$[
|
|
175
|
-
$[
|
|
176
|
-
$[
|
|
177
|
-
} else t7 = $[
|
|
165
|
+
$[11] = mainThreadId;
|
|
166
|
+
$[12] = threadFactory;
|
|
167
|
+
$[13] = t7;
|
|
168
|
+
} else t7 = $[13];
|
|
178
169
|
const mainThreadClient = useClientResource(t7);
|
|
170
|
+
let t8;
|
|
171
|
+
if ($[14] !== handleDelete || $[15] !== handleSwitchToThread || $[16] !== mainThreadClient.state || $[17] !== mainThreadId || $[18] !== threads) {
|
|
172
|
+
let t9;
|
|
173
|
+
if ($[20] !== handleDelete || $[21] !== handleSwitchToThread || $[22] !== mainThreadClient.state || $[23] !== mainThreadId) {
|
|
174
|
+
t9 = (t_5) => withKey(t_5.id, ThreadListItemClient({
|
|
175
|
+
data: t_5,
|
|
176
|
+
isRunning: t_5.id === mainThreadId && mainThreadClient.state.isRunning,
|
|
177
|
+
onSwitchTo: () => handleSwitchToThread(t_5.id),
|
|
178
|
+
onRename: (title_0) => handleRename(t_5.id, title_0),
|
|
179
|
+
onUpdateCustom: (custom_0) => handleUpdateCustom(t_5.id, custom_0),
|
|
180
|
+
onArchive: () => handleArchive(t_5.id),
|
|
181
|
+
onUnarchive: () => handleUnarchive(t_5.id),
|
|
182
|
+
onDelete: () => handleDelete(t_5.id)
|
|
183
|
+
}));
|
|
184
|
+
$[20] = handleDelete;
|
|
185
|
+
$[21] = handleSwitchToThread;
|
|
186
|
+
$[22] = mainThreadClient.state;
|
|
187
|
+
$[23] = mainThreadId;
|
|
188
|
+
$[24] = t9;
|
|
189
|
+
} else t9 = $[24];
|
|
190
|
+
t8 = threads.map(t9);
|
|
191
|
+
$[14] = handleDelete;
|
|
192
|
+
$[15] = handleSwitchToThread;
|
|
193
|
+
$[16] = mainThreadClient.state;
|
|
194
|
+
$[17] = mainThreadId;
|
|
195
|
+
$[18] = threads;
|
|
196
|
+
$[19] = t8;
|
|
197
|
+
} else t8 = $[19];
|
|
198
|
+
const threadListItems = useClientLookup(t8);
|
|
179
199
|
let t10;
|
|
180
200
|
let t11;
|
|
181
201
|
let t12;
|
|
182
202
|
let t13;
|
|
183
203
|
let t14;
|
|
184
|
-
let
|
|
204
|
+
let t15;
|
|
185
205
|
let t9;
|
|
186
|
-
if ($[
|
|
187
|
-
const regularThreads = threads.filter(
|
|
188
|
-
const archivedThreads = threads.filter(
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
t10 = false;
|
|
206
|
+
if ($[25] !== mainThreadId || $[26] !== threads) {
|
|
207
|
+
const regularThreads = threads.filter(_temp4);
|
|
208
|
+
const archivedThreads = threads.filter(_temp5);
|
|
209
|
+
t9 = mainThreadId;
|
|
210
|
+
t10 = null;
|
|
192
211
|
t11 = false;
|
|
193
212
|
t12 = false;
|
|
194
|
-
t13 =
|
|
195
|
-
t14 =
|
|
196
|
-
|
|
197
|
-
$[
|
|
198
|
-
$[
|
|
199
|
-
$[
|
|
200
|
-
$[
|
|
201
|
-
$[
|
|
202
|
-
$[
|
|
203
|
-
$[
|
|
204
|
-
$[
|
|
213
|
+
t13 = false;
|
|
214
|
+
t14 = regularThreads.map(_temp6);
|
|
215
|
+
t15 = archivedThreads.map(_temp7);
|
|
216
|
+
$[25] = mainThreadId;
|
|
217
|
+
$[26] = threads;
|
|
218
|
+
$[27] = t10;
|
|
219
|
+
$[28] = t11;
|
|
220
|
+
$[29] = t12;
|
|
221
|
+
$[30] = t13;
|
|
222
|
+
$[31] = t14;
|
|
223
|
+
$[32] = t15;
|
|
224
|
+
$[33] = t9;
|
|
205
225
|
} else {
|
|
206
|
-
t10 = $[
|
|
207
|
-
t11 = $[
|
|
208
|
-
t12 = $[
|
|
209
|
-
t13 = $[
|
|
210
|
-
t14 = $[
|
|
211
|
-
|
|
212
|
-
t9 = $[
|
|
226
|
+
t10 = $[27];
|
|
227
|
+
t11 = $[28];
|
|
228
|
+
t12 = $[29];
|
|
229
|
+
t13 = $[30];
|
|
230
|
+
t14 = $[31];
|
|
231
|
+
t15 = $[32];
|
|
232
|
+
t9 = $[33];
|
|
213
233
|
}
|
|
214
|
-
let
|
|
215
|
-
if ($[
|
|
216
|
-
|
|
217
|
-
mainThreadId:
|
|
218
|
-
newThreadId:
|
|
219
|
-
isLoading:
|
|
220
|
-
isLoadingMore:
|
|
221
|
-
hasMore:
|
|
222
|
-
threadIds:
|
|
223
|
-
archivedThreadIds:
|
|
234
|
+
let t16;
|
|
235
|
+
if ($[34] !== mainThreadClient.state || $[35] !== t10 || $[36] !== t11 || $[37] !== t12 || $[38] !== t13 || $[39] !== t14 || $[40] !== t15 || $[41] !== t9 || $[42] !== threadListItems.state) {
|
|
236
|
+
t16 = {
|
|
237
|
+
mainThreadId: t9,
|
|
238
|
+
newThreadId: t10,
|
|
239
|
+
isLoading: t11,
|
|
240
|
+
isLoadingMore: t12,
|
|
241
|
+
hasMore: t13,
|
|
242
|
+
threadIds: t14,
|
|
243
|
+
archivedThreadIds: t15,
|
|
224
244
|
threadItems: threadListItems.state,
|
|
225
245
|
main: mainThreadClient.state
|
|
226
246
|
};
|
|
227
|
-
$[
|
|
228
|
-
$[
|
|
229
|
-
$[
|
|
230
|
-
$[
|
|
231
|
-
$[
|
|
232
|
-
$[
|
|
233
|
-
$[
|
|
234
|
-
$[
|
|
235
|
-
$[
|
|
236
|
-
$[
|
|
237
|
-
} else
|
|
238
|
-
const state =
|
|
239
|
-
let t16;
|
|
240
|
-
if ($[39] !== state) {
|
|
241
|
-
t16 = () => state;
|
|
242
|
-
$[39] = state;
|
|
243
|
-
$[40] = t16;
|
|
244
|
-
} else t16 = $[40];
|
|
247
|
+
$[34] = mainThreadClient.state;
|
|
248
|
+
$[35] = t10;
|
|
249
|
+
$[36] = t11;
|
|
250
|
+
$[37] = t12;
|
|
251
|
+
$[38] = t13;
|
|
252
|
+
$[39] = t14;
|
|
253
|
+
$[40] = t15;
|
|
254
|
+
$[41] = t9;
|
|
255
|
+
$[42] = threadListItems.state;
|
|
256
|
+
$[43] = t16;
|
|
257
|
+
} else t16 = $[43];
|
|
258
|
+
const state = t16;
|
|
245
259
|
let t17;
|
|
246
|
-
if ($[
|
|
247
|
-
t17 = (
|
|
260
|
+
if ($[44] !== state) {
|
|
261
|
+
t17 = () => state;
|
|
262
|
+
$[44] = state;
|
|
263
|
+
$[45] = t17;
|
|
264
|
+
} else t17 = $[45];
|
|
265
|
+
let t18;
|
|
266
|
+
if ($[46] !== mainThreadId || $[47] !== threadListItems || $[48] !== threads) {
|
|
267
|
+
t18 = (selector) => {
|
|
248
268
|
if (selector === "main") {
|
|
249
|
-
const index = threads.findIndex((
|
|
269
|
+
const index = threads.findIndex((t_10) => t_10.id === mainThreadId);
|
|
250
270
|
return threadListItems.get({ index: index === -1 ? 0 : index });
|
|
251
271
|
}
|
|
252
272
|
if ("id" in selector) {
|
|
253
|
-
const index_0 = threads.findIndex((
|
|
273
|
+
const index_0 = threads.findIndex((t_11) => t_11.id === selector.id);
|
|
254
274
|
return threadListItems.get({ index: index_0 });
|
|
255
275
|
}
|
|
256
276
|
return threadListItems.get(selector);
|
|
257
277
|
};
|
|
258
|
-
$[
|
|
259
|
-
$[
|
|
260
|
-
$[
|
|
261
|
-
$[
|
|
262
|
-
} else
|
|
263
|
-
let t18;
|
|
264
|
-
if ($[45] !== mainThreadClient.methods) {
|
|
265
|
-
t18 = () => mainThreadClient.methods;
|
|
266
|
-
$[45] = mainThreadClient.methods;
|
|
267
|
-
$[46] = t18;
|
|
268
|
-
} else t18 = $[46];
|
|
278
|
+
$[46] = mainThreadId;
|
|
279
|
+
$[47] = threadListItems;
|
|
280
|
+
$[48] = threads;
|
|
281
|
+
$[49] = t18;
|
|
282
|
+
} else t18 = $[49];
|
|
269
283
|
let t19;
|
|
270
|
-
if ($[
|
|
271
|
-
t19 =
|
|
272
|
-
|
|
284
|
+
if ($[50] !== mainThreadClient.methods) {
|
|
285
|
+
t19 = () => mainThreadClient.methods;
|
|
286
|
+
$[50] = mainThreadClient.methods;
|
|
287
|
+
$[51] = t19;
|
|
288
|
+
} else t19 = $[51];
|
|
289
|
+
let t20;
|
|
290
|
+
if ($[52] !== handleSwitchToNewThread || $[53] !== handleSwitchToThread || $[54] !== t17 || $[55] !== t18 || $[56] !== t19) {
|
|
291
|
+
t20 = {
|
|
292
|
+
getState: t17,
|
|
273
293
|
switchToThread: handleSwitchToThread,
|
|
274
294
|
switchToNewThread: handleSwitchToNewThread,
|
|
275
|
-
getLoadThreadsPromise:
|
|
276
|
-
reload:
|
|
295
|
+
getLoadThreadsPromise: _temp8,
|
|
296
|
+
reload: _temp9,
|
|
297
|
+
reloadMainThread: _temp0,
|
|
277
298
|
loadMore: _temp1,
|
|
278
|
-
item:
|
|
279
|
-
thread:
|
|
299
|
+
item: t18,
|
|
300
|
+
thread: t19
|
|
280
301
|
};
|
|
281
|
-
$[
|
|
282
|
-
$[
|
|
283
|
-
$[
|
|
284
|
-
$[
|
|
285
|
-
$[
|
|
286
|
-
$[
|
|
287
|
-
} else
|
|
288
|
-
return
|
|
302
|
+
$[52] = handleSwitchToNewThread;
|
|
303
|
+
$[53] = handleSwitchToThread;
|
|
304
|
+
$[54] = t17;
|
|
305
|
+
$[55] = t18;
|
|
306
|
+
$[56] = t19;
|
|
307
|
+
$[57] = t20;
|
|
308
|
+
} else t20 = $[57];
|
|
309
|
+
return t20;
|
|
289
310
|
};
|
|
290
311
|
const InMemoryThreadList = resource(useInMemoryThreadList);
|
|
291
312
|
attachTransformScopes(useInMemoryThreadList, (scopes, parent) => {
|
|
@@ -311,26 +332,28 @@ attachTransformScopes(useInMemoryThreadList, (scopes, parent) => {
|
|
|
311
332
|
});
|
|
312
333
|
function _temp() {}
|
|
313
334
|
function _temp2() {}
|
|
314
|
-
function _temp3() {
|
|
315
|
-
function _temp4() {
|
|
335
|
+
function _temp3() {
|
|
316
336
|
return [{
|
|
317
337
|
id: "main",
|
|
318
338
|
title: "Main Thread",
|
|
319
339
|
status: "regular"
|
|
320
340
|
}];
|
|
321
341
|
}
|
|
322
|
-
function
|
|
323
|
-
return
|
|
324
|
-
}
|
|
325
|
-
function _temp6(t_6) {
|
|
326
|
-
return t_6.status === "archived";
|
|
342
|
+
function _temp4(t_6) {
|
|
343
|
+
return t_6.status === "regular";
|
|
327
344
|
}
|
|
328
|
-
function
|
|
329
|
-
return t_7.
|
|
345
|
+
function _temp5(t_7) {
|
|
346
|
+
return t_7.status === "archived";
|
|
330
347
|
}
|
|
331
|
-
function
|
|
348
|
+
function _temp6(t_8) {
|
|
332
349
|
return t_8.id;
|
|
333
350
|
}
|
|
351
|
+
function _temp7(t_9) {
|
|
352
|
+
return t_9.id;
|
|
353
|
+
}
|
|
354
|
+
function _temp8() {
|
|
355
|
+
return RESOLVED_PROMISE;
|
|
356
|
+
}
|
|
334
357
|
function _temp9() {
|
|
335
358
|
return RESOLVED_PROMISE;
|
|
336
359
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InMemoryThreadList.js","names":["useState","useMemo","resource","withKey","ResourceElement","ClientOutput","useClientLookup","Derived","attachTransformScopes","useClientResource","ModelContext","Suggestions","Tools","DataRenderers","RESOLVED_PROMISE","Promise","resolve","InMemoryThreadListProps","thread","threadId","onSwitchToThread","onSwitchToNewThread","ThreadData","id","title","status","custom","Record","useThreadListItemClient","props","$","_c","data","onSwitchTo","onUpdateCustom","onArchive","onUnarchive","onDelete","t0","remoteId","undefined","externalId","state","t1","t2","t3","getState","switchTo","rename","_temp","updateCustom","archive","unarchive","delete","generateTitle","_temp2","initialize","detach","_temp3","ThreadListItemClient","useInMemoryThreadList","threadFactory","mainThreadId","setMainThreadId","threads","setThreads","_temp4","handleSwitchToThread","Symbol","for","threadId_0","prev","map","t","const","handleArchive","threadId_1","prev_0","t_0","handleUnarchive","threadId_2","prev_1","t_1","handleUpdateCustom","t4","threadId_3","prev_2","filter","t_2","remaining","t_3","handleDelete","t5","newId","Date","now","prev_3","handleSwitchToNewThread","t6","t7","t_4","custom_0","threadListItems","mainThreadClient","t10","t11","t12","t13","t14","t8","t9","regularThreads","_temp5","archivedThreads","_temp6","_temp7","_temp8","t15","newThreadId","isLoading","isLoadingMore","hasMore","threadIds","archivedThreadIds","threadItems","main","t16","t17","selector","index","findIndex","t_9","get","index_0","t_10","t18","methods","t19","switchToThread","switchToNewThread","getLoadThreadsPromise","_temp9","reload","_temp0","loadMore","_temp1","item","InMemoryThreadList","scopes","parent","source","query","type","aui","threadListItem","composer","modelContext","tools","dataRenderers","suggestions","t_5","t_6","t_7","t_8"],"sources":["../../src/client/InMemoryThreadList.ts"],"sourcesContent":["import { useState, useMemo } from \"react\";\nimport { resource, withKey, type ResourceElement } from \"@assistant-ui/tap\";\nimport {\n type ClientOutput,\n useClientLookup,\n Derived,\n attachTransformScopes,\n useClientResource,\n} from \"@assistant-ui/store\";\n\nimport { ModelContext, Suggestions } from \"@assistant-ui/core/store\";\nimport { Tools, DataRenderers } from \"@assistant-ui/core/react\";\n\nconst RESOLVED_PROMISE = Promise.resolve();\n\nexport type InMemoryThreadListProps = {\n thread: (threadId: string) => ResourceElement<ClientOutput<\"thread\">>;\n onSwitchToThread?: (threadId: string) => void;\n onSwitchToNewThread?: () => void;\n};\n\ntype ThreadData = {\n id: string;\n title?: string;\n status: \"regular\" | \"archived\";\n custom?: Record<string, unknown> | undefined;\n};\n\n// ThreadListItem Client\nconst useThreadListItemClient = (props: {\n data: ThreadData;\n onSwitchTo: () => void;\n onUpdateCustom: (custom: Record<string, unknown> | undefined) => void;\n onArchive: () => void;\n onUnarchive: () => void;\n onDelete: () => void;\n}): ClientOutput<\"threadListItem\"> => {\n const { data, onSwitchTo, onUpdateCustom, onArchive, onUnarchive, onDelete } =\n props;\n const state = useMemo(\n () => ({\n id: data.id,\n remoteId: undefined,\n externalId: undefined,\n title: data.title,\n status: data.status,\n custom: data.custom,\n }),\n [data.id, data.title, data.status, data.custom],\n );\n\n return {\n getState: () => state,\n switchTo: onSwitchTo,\n rename: () => {},\n updateCustom: onUpdateCustom,\n archive: onArchive,\n unarchive: onUnarchive,\n delete: onDelete,\n generateTitle: () => {},\n initialize: async () => ({ remoteId: data.id, externalId: undefined }),\n detach: () => {},\n };\n};\n\nconst ThreadListItemClient = resource(useThreadListItemClient);\n\n// InMemoryThreadList Client\nconst useInMemoryThreadList = (\n props: InMemoryThreadListProps,\n): ClientOutput<\"threads\"> => {\n const {\n thread: threadFactory,\n onSwitchToThread,\n onSwitchToNewThread,\n } = props;\n\n const [mainThreadId, setMainThreadId] = useState(\"main\");\n const [threads, setThreads] = useState<readonly ThreadData[]>(() => [\n { id: \"main\", title: \"Main Thread\", status: \"regular\" },\n ]);\n\n const handleSwitchToThread = (threadId: string) => {\n setMainThreadId(threadId);\n onSwitchToThread?.(threadId);\n };\n\n const handleArchive = (threadId: string) => {\n setThreads((prev) =>\n prev.map((t) =>\n t.id === threadId ? { ...t, status: \"archived\" as const } : t,\n ),\n );\n };\n\n const handleUnarchive = (threadId: string) => {\n setThreads((prev) =>\n prev.map((t) =>\n t.id === threadId ? { ...t, status: \"regular\" as const } : t,\n ),\n );\n };\n\n const handleUpdateCustom = (\n threadId: string,\n custom: Record<string, unknown> | undefined,\n ) => {\n setThreads((prev) =>\n prev.map((t) => (t.id === threadId ? { ...t, custom } : t)),\n );\n };\n\n const handleDelete = (threadId: string) => {\n setThreads((prev) => prev.filter((t) => t.id !== threadId));\n if (mainThreadId === threadId) {\n const remaining = threads.filter((t) => t.id !== threadId);\n setMainThreadId(remaining[0]?.id || \"main\");\n }\n };\n\n const handleSwitchToNewThread = () => {\n const newId = `thread-${Date.now()}`;\n setThreads((prev) => [\n ...prev,\n { id: newId, title: \"New Thread\", status: \"regular\" },\n ]);\n setMainThreadId(newId);\n onSwitchToNewThread?.();\n };\n\n const threadListItems = useClientLookup(\n threads.map((t) =>\n withKey(\n t.id,\n ThreadListItemClient({\n data: t,\n onSwitchTo: () => handleSwitchToThread(t.id),\n onUpdateCustom: (custom) => handleUpdateCustom(t.id, custom),\n onArchive: () => handleArchive(t.id),\n onUnarchive: () => handleUnarchive(t.id),\n onDelete: () => handleDelete(t.id),\n }),\n ),\n ),\n );\n\n // Create the main thread\n const mainThreadClient = useClientResource(threadFactory(mainThreadId));\n\n const state = useMemo(() => {\n const regularThreads = threads.filter((t) => t.status === \"regular\");\n const archivedThreads = threads.filter((t) => t.status === \"archived\");\n\n return {\n mainThreadId,\n newThreadId: null,\n isLoading: false,\n isLoadingMore: false,\n hasMore: false,\n threadIds: regularThreads.map((t) => t.id),\n archivedThreadIds: archivedThreads.map((t) => t.id),\n threadItems: threadListItems.state,\n main: mainThreadClient.state,\n };\n }, [mainThreadId, threads, threadListItems.state, mainThreadClient.state]);\n\n return {\n getState: () => state,\n switchToThread: handleSwitchToThread,\n switchToNewThread: handleSwitchToNewThread,\n getLoadThreadsPromise: () => RESOLVED_PROMISE,\n reload: () => RESOLVED_PROMISE,\n loadMore: () => RESOLVED_PROMISE,\n item: (selector) => {\n if (selector === \"main\") {\n const index = threads.findIndex((t) => t.id === mainThreadId);\n return threadListItems.get({ index: index === -1 ? 0 : index });\n }\n if (\"id\" in selector) {\n const index = threads.findIndex((t) => t.id === selector.id);\n return threadListItems.get({ index });\n }\n return threadListItems.get(selector);\n },\n thread: () => mainThreadClient.methods,\n };\n};\n\nexport const InMemoryThreadList = resource(useInMemoryThreadList);\n\nattachTransformScopes(useInMemoryThreadList, (scopes, parent) => {\n scopes.thread ??= Derived({\n source: \"threads\",\n query: { type: \"main\" },\n get: (aui) => aui.threads.thread(\"main\"),\n });\n scopes.threadListItem ??= Derived({\n source: \"threads\",\n query: { type: \"main\" },\n get: (aui) => aui.threads.item(\"main\"),\n });\n scopes.composer ??= Derived({\n source: \"thread\",\n query: {},\n get: (aui) => aui.threads.thread(\"main\").composer(),\n });\n\n if (!scopes.modelContext && parent.modelContext.source === null) {\n scopes.modelContext = ModelContext();\n }\n if (!scopes.tools && parent.tools.source === null) {\n scopes.tools = Tools({});\n }\n if (!scopes.dataRenderers && parent.dataRenderers.source === null) {\n scopes.dataRenderers = DataRenderers();\n }\n if (!scopes.suggestions && parent.suggestions.source === null) {\n scopes.suggestions = Suggestions();\n }\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InMemoryThreadList.js","names":["useState","useMemo","resource","withKey","ResourceElement","ClientOutput","useClientLookup","Derived","attachTransformScopes","useClientResource","ModelContext","Suggestions","Tools","DataRenderers","RESOLVED_PROMISE","Promise","resolve","InMemoryThreadListProps","thread","threadId","onSwitchToThread","onSwitchToNewThread","ThreadData","id","title","status","custom","Record","useThreadListItemClient","props","$","_c","data","isRunning","onSwitchTo","onRename","onUpdateCustom","onArchive","onUnarchive","onDelete","t0","remoteId","undefined","externalId","state","t1","t2","t3","getState","switchTo","rename","updateCustom","archive","unarchive","delete","generateTitle","_temp","initialize","detach","_temp2","ThreadListItemClient","useInMemoryThreadList","threadFactory","mainThreadId","setMainThreadId","threads","setThreads","_temp3","handleSwitchToThread","Symbol","for","threadId_0","prev","map","t","handleRename","threadId_1","prev_0","t_0","const","handleArchive","threadId_2","prev_1","t_1","handleUnarchive","t4","threadId_3","prev_2","t_2","handleUpdateCustom","t5","threadId_4","prev_3","filter","t_3","remaining","t_4","handleDelete","t6","newId","Date","now","prev_4","handleSwitchToNewThread","t7","mainThreadClient","t8","t9","t_5","title_0","custom_0","threadListItems","t10","t11","t12","t13","t14","t15","regularThreads","_temp4","archivedThreads","_temp5","_temp6","_temp7","t16","newThreadId","isLoading","isLoadingMore","hasMore","threadIds","archivedThreadIds","threadItems","main","t17","t18","selector","index","findIndex","t_10","get","index_0","t_11","t19","methods","t20","switchToThread","switchToNewThread","getLoadThreadsPromise","_temp8","reload","_temp9","reloadMainThread","_temp0","loadMore","_temp1","item","InMemoryThreadList","scopes","parent","source","query","type","aui","threadListItem","composer","modelContext","tools","dataRenderers","suggestions","t_6","t_7","t_8","t_9"],"sources":["../../src/client/InMemoryThreadList.ts"],"sourcesContent":["import { useState, useMemo } from \"react\";\nimport { resource, withKey, type ResourceElement } from \"@assistant-ui/tap\";\nimport {\n type ClientOutput,\n useClientLookup,\n Derived,\n attachTransformScopes,\n useClientResource,\n} from \"@assistant-ui/store\";\n\nimport { ModelContext, Suggestions } from \"@assistant-ui/core/store\";\nimport { Tools, DataRenderers } from \"@assistant-ui/core/react\";\n\nconst RESOLVED_PROMISE = Promise.resolve();\n\nexport type InMemoryThreadListProps = {\n thread: (threadId: string) => ResourceElement<ClientOutput<\"thread\">>;\n onSwitchToThread?: (threadId: string) => void;\n onSwitchToNewThread?: () => void;\n};\n\ntype ThreadData = {\n id: string;\n title?: string;\n status: \"regular\" | \"archived\";\n custom?: Record<string, unknown> | undefined;\n};\n\n// ThreadListItem Client\nconst useThreadListItemClient = (props: {\n data: ThreadData;\n isRunning: boolean;\n onSwitchTo: () => void;\n onRename: (title: string) => void;\n onUpdateCustom: (custom: Record<string, unknown> | undefined) => void;\n onArchive: () => void;\n onUnarchive: () => void;\n onDelete: () => void;\n}): ClientOutput<\"threadListItem\"> => {\n const {\n data,\n isRunning,\n onSwitchTo,\n onRename,\n onUpdateCustom,\n onArchive,\n onUnarchive,\n onDelete,\n } = props;\n const state = useMemo(\n () => ({\n id: data.id,\n remoteId: undefined,\n externalId: undefined,\n title: data.title,\n status: data.status,\n custom: data.custom,\n isRunning,\n }),\n [data.id, data.title, data.status, data.custom, isRunning],\n );\n\n return {\n getState: () => state,\n switchTo: onSwitchTo,\n rename: onRename,\n updateCustom: onUpdateCustom,\n archive: onArchive,\n unarchive: onUnarchive,\n delete: onDelete,\n generateTitle: () => {},\n initialize: async () => ({ remoteId: data.id, externalId: undefined }),\n detach: () => {},\n };\n};\n\nconst ThreadListItemClient = resource(useThreadListItemClient);\n\n// InMemoryThreadList Client\nconst useInMemoryThreadList = (\n props: InMemoryThreadListProps,\n): ClientOutput<\"threads\"> => {\n const {\n thread: threadFactory,\n onSwitchToThread,\n onSwitchToNewThread,\n } = props;\n\n const [mainThreadId, setMainThreadId] = useState(\"main\");\n const [threads, setThreads] = useState<readonly ThreadData[]>(() => [\n { id: \"main\", title: \"Main Thread\", status: \"regular\" },\n ]);\n\n const handleSwitchToThread = (threadId: string) => {\n setMainThreadId(threadId);\n onSwitchToThread?.(threadId);\n };\n\n const handleRename = (threadId: string, title: string) => {\n setThreads((prev) =>\n prev.map((t) => (t.id === threadId ? { ...t, title } : t)),\n );\n };\n\n const handleArchive = (threadId: string) => {\n setThreads((prev) =>\n prev.map((t) =>\n t.id === threadId ? { ...t, status: \"archived\" as const } : t,\n ),\n );\n };\n\n const handleUnarchive = (threadId: string) => {\n setThreads((prev) =>\n prev.map((t) =>\n t.id === threadId ? { ...t, status: \"regular\" as const } : t,\n ),\n );\n };\n\n const handleUpdateCustom = (\n threadId: string,\n custom: Record<string, unknown> | undefined,\n ) => {\n setThreads((prev) =>\n prev.map((t) => (t.id === threadId ? { ...t, custom } : t)),\n );\n };\n\n const handleDelete = (threadId: string) => {\n setThreads((prev) => prev.filter((t) => t.id !== threadId));\n if (mainThreadId === threadId) {\n const remaining = threads.filter((t) => t.id !== threadId);\n setMainThreadId(remaining[0]?.id || \"main\");\n }\n };\n\n const handleSwitchToNewThread = () => {\n const newId = `thread-${Date.now()}`;\n setThreads((prev) => [\n ...prev,\n { id: newId, title: \"New Thread\", status: \"regular\" },\n ]);\n setMainThreadId(newId);\n onSwitchToNewThread?.();\n };\n\n // Only the main thread is mounted, so it is the only thread that can run.\n const mainThreadClient = useClientResource(threadFactory(mainThreadId));\n\n const threadListItems = useClientLookup(\n threads.map((t) =>\n withKey(\n t.id,\n ThreadListItemClient({\n data: t,\n isRunning: t.id === mainThreadId && mainThreadClient.state.isRunning,\n onSwitchTo: () => handleSwitchToThread(t.id),\n onRename: (title) => handleRename(t.id, title),\n onUpdateCustom: (custom) => handleUpdateCustom(t.id, custom),\n onArchive: () => handleArchive(t.id),\n onUnarchive: () => handleUnarchive(t.id),\n onDelete: () => handleDelete(t.id),\n }),\n ),\n ),\n );\n\n const state = useMemo(() => {\n const regularThreads = threads.filter((t) => t.status === \"regular\");\n const archivedThreads = threads.filter((t) => t.status === \"archived\");\n\n return {\n mainThreadId,\n newThreadId: null,\n isLoading: false,\n isLoadingMore: false,\n hasMore: false,\n threadIds: regularThreads.map((t) => t.id),\n archivedThreadIds: archivedThreads.map((t) => t.id),\n threadItems: threadListItems.state,\n main: mainThreadClient.state,\n };\n }, [mainThreadId, threads, threadListItems.state, mainThreadClient.state]);\n\n return {\n getState: () => state,\n switchToThread: handleSwitchToThread,\n switchToNewThread: handleSwitchToNewThread,\n getLoadThreadsPromise: () => RESOLVED_PROMISE,\n reload: () => RESOLVED_PROMISE,\n reloadMainThread: () => RESOLVED_PROMISE,\n loadMore: () => RESOLVED_PROMISE,\n item: (selector) => {\n if (selector === \"main\") {\n const index = threads.findIndex((t) => t.id === mainThreadId);\n return threadListItems.get({ index: index === -1 ? 0 : index });\n }\n if (\"id\" in selector) {\n const index = threads.findIndex((t) => t.id === selector.id);\n return threadListItems.get({ index });\n }\n return threadListItems.get(selector);\n },\n thread: () => mainThreadClient.methods,\n };\n};\n\nexport const InMemoryThreadList = resource(useInMemoryThreadList);\n\nattachTransformScopes(useInMemoryThreadList, (scopes, parent) => {\n scopes.thread ??= Derived({\n source: \"threads\",\n query: { type: \"main\" },\n get: (aui) => aui.threads.thread(\"main\"),\n });\n scopes.threadListItem ??= Derived({\n source: \"threads\",\n query: { type: \"main\" },\n get: (aui) => aui.threads.item(\"main\"),\n });\n scopes.composer ??= Derived({\n source: \"thread\",\n query: {},\n get: (aui) => aui.threads.thread(\"main\").composer(),\n });\n\n if (!scopes.modelContext && parent.modelContext.source === null) {\n scopes.modelContext = ModelContext();\n }\n if (!scopes.tools && parent.tools.source === null) {\n scopes.tools = Tools({});\n }\n if (!scopes.dataRenderers && parent.dataRenderers.source === null) {\n scopes.dataRenderers = DataRenderers();\n }\n if (!scopes.suggestions && parent.suggestions.source === null) {\n scopes.suggestions = Suggestions();\n }\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleThreadList.d.ts","names":[],"sources":["../../src/client/SingleThreadList.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"SingleThreadList.d.ts","names":[],"sources":["../../src/client/SingleThreadList.ts"],"mappings":";;KA0CK;EACH,QAAQ;;cA0EG,8CAAgB,SAAA,0BAAA"}
|