@assistant-ui/react-devtools 1.2.16 → 1.2.18
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/shell/DevToolsPanel.js +128 -143
- package/dist/shell/DevToolsPanel.js.map +1 -1
- package/dist/shell/tabs/ThreadTab.js +214 -235
- package/dist/shell/tabs/ThreadTab.js.map +1 -1
- package/dist/utils/serialization.d.ts.map +1 -1
- package/dist/utils/serialization.js +59 -33
- package/dist/utils/serialization.js.map +1 -1
- package/dist/utils/toolNormalization.d.ts.map +1 -1
- package/dist/utils/toolNormalization.js +49 -17
- package/dist/utils/toolNormalization.js.map +1 -1
- package/dist/utils/unserializable.d.ts +6 -0
- package/dist/utils/unserializable.d.ts.map +1 -0
- package/dist/utils/unserializable.js +13 -0
- package/dist/utils/unserializable.js.map +1 -0
- package/dist/views/context/contextNodes.d.ts.map +1 -1
- package/dist/views/context/contextNodes.js +18 -5
- package/dist/views/context/contextNodes.js.map +1 -1
- package/package.json +8 -8
- package/src/data/projectApi.test.ts +39 -0
- package/src/shell/DevToolsPanel.tsx +7 -5
- package/src/shell/tabs/ThreadTab.tsx +10 -6
- package/src/utils/serialization.test.ts +106 -0
- package/src/utils/serialization.ts +79 -45
- package/src/utils/toolNormalization.test.ts +66 -0
- package/src/utils/toolNormalization.ts +64 -30
- package/src/utils/unserializable.ts +9 -0
- package/src/views/context/contextNodes.test.ts +21 -0
- package/src/views/context/contextNodes.ts +13 -1
|
@@ -92,7 +92,7 @@ const UnloadedConversation = (t0) => {
|
|
|
92
92
|
return t3;
|
|
93
93
|
};
|
|
94
94
|
const ThreadTab = (t0) => {
|
|
95
|
-
const $ = c(
|
|
95
|
+
const $ = c(84);
|
|
96
96
|
const { data, selection, setSelection, switchToThread } = t0;
|
|
97
97
|
let t1;
|
|
98
98
|
if ($[0] !== data.state.threads) {
|
|
@@ -111,314 +111,293 @@ const ThreadTab = (t0) => {
|
|
|
111
111
|
$[4] = t2;
|
|
112
112
|
} else t2 = $[4];
|
|
113
113
|
const [activeThreadId, setActiveThreadId] = useState(t2);
|
|
114
|
+
const resolvedThreadId = hasConversationList && threadList ? [...threadList.threadIds, ...threadList.archivedThreadIds].includes(activeThreadId) ? activeThreadId : threadList.mainThreadId ?? threadList.threadIds[0] ?? "" : activeThreadId;
|
|
115
|
+
if (resolvedThreadId !== activeThreadId) setActiveThreadId(resolvedThreadId);
|
|
116
|
+
const prevThreadIdRef = useRef(activeThreadId);
|
|
114
117
|
let t3;
|
|
115
118
|
let t4;
|
|
116
|
-
if ($[5] !== activeThreadId || $[6] !==
|
|
119
|
+
if ($[5] !== activeThreadId || $[6] !== setSelection) {
|
|
117
120
|
t3 = () => {
|
|
118
|
-
if (!hasConversationList || !threadList) return;
|
|
119
|
-
if ([...threadList.threadIds, ...threadList.archivedThreadIds].includes(activeThreadId)) return;
|
|
120
|
-
setActiveThreadId(threadList.mainThreadId ?? threadList.threadIds[0] ?? "");
|
|
121
|
-
};
|
|
122
|
-
t4 = [
|
|
123
|
-
hasConversationList,
|
|
124
|
-
threadList,
|
|
125
|
-
activeThreadId
|
|
126
|
-
];
|
|
127
|
-
$[5] = activeThreadId;
|
|
128
|
-
$[6] = hasConversationList;
|
|
129
|
-
$[7] = threadList;
|
|
130
|
-
$[8] = t3;
|
|
131
|
-
$[9] = t4;
|
|
132
|
-
} else {
|
|
133
|
-
t3 = $[8];
|
|
134
|
-
t4 = $[9];
|
|
135
|
-
}
|
|
136
|
-
useEffect(t3, t4);
|
|
137
|
-
const prevThreadIdRef = useRef(activeThreadId);
|
|
138
|
-
let t5;
|
|
139
|
-
let t6;
|
|
140
|
-
if ($[10] !== activeThreadId || $[11] !== setSelection) {
|
|
141
|
-
t5 = () => {
|
|
142
121
|
if (prevThreadIdRef.current === activeThreadId) return;
|
|
143
122
|
prevThreadIdRef.current = activeThreadId;
|
|
144
123
|
setSelection(null);
|
|
145
124
|
};
|
|
146
|
-
|
|
147
|
-
$[
|
|
148
|
-
$[
|
|
149
|
-
$[
|
|
150
|
-
$[
|
|
125
|
+
t4 = [activeThreadId, setSelection];
|
|
126
|
+
$[5] = activeThreadId;
|
|
127
|
+
$[6] = setSelection;
|
|
128
|
+
$[7] = t3;
|
|
129
|
+
$[8] = t4;
|
|
151
130
|
} else {
|
|
152
|
-
|
|
153
|
-
|
|
131
|
+
t3 = $[7];
|
|
132
|
+
t4 = $[8];
|
|
154
133
|
}
|
|
155
|
-
useEffect(
|
|
156
|
-
let
|
|
134
|
+
useEffect(t3, t4);
|
|
135
|
+
let t5;
|
|
157
136
|
bb0: {
|
|
158
137
|
if (!hasConversationList) {
|
|
159
|
-
let
|
|
160
|
-
if ($[
|
|
161
|
-
|
|
162
|
-
$[
|
|
163
|
-
$[
|
|
164
|
-
} else
|
|
165
|
-
|
|
138
|
+
let t6;
|
|
139
|
+
if ($[9] !== data.state) {
|
|
140
|
+
t6 = resolveSingleThread(data.state);
|
|
141
|
+
$[9] = data.state;
|
|
142
|
+
$[10] = t6;
|
|
143
|
+
} else t6 = $[10];
|
|
144
|
+
t5 = t6;
|
|
166
145
|
break bb0;
|
|
167
146
|
}
|
|
168
|
-
let
|
|
169
|
-
if ($[
|
|
170
|
-
|
|
171
|
-
$[
|
|
172
|
-
$[
|
|
173
|
-
$[
|
|
174
|
-
$[
|
|
175
|
-
$[
|
|
176
|
-
} else
|
|
177
|
-
|
|
147
|
+
let t6;
|
|
148
|
+
if ($[11] !== activeThreadId || $[12] !== data.state || $[13] !== snapshots || $[14] !== threadList) {
|
|
149
|
+
t6 = resolveThreadForId(data.state, snapshots, activeThreadId, threadList);
|
|
150
|
+
$[11] = activeThreadId;
|
|
151
|
+
$[12] = data.state;
|
|
152
|
+
$[13] = snapshots;
|
|
153
|
+
$[14] = threadList;
|
|
154
|
+
$[15] = t6;
|
|
155
|
+
} else t6 = $[15];
|
|
156
|
+
t5 = t6;
|
|
178
157
|
}
|
|
179
|
-
const activeThread =
|
|
158
|
+
const activeThread = t5;
|
|
180
159
|
const selectedMessage = useSelectedMessage(activeThread, selection, setSelection);
|
|
181
160
|
if (!hasConversationList) {
|
|
182
161
|
if (!activeThread || activeThread.messages.length === 0) {
|
|
183
|
-
let
|
|
184
|
-
if ($[
|
|
185
|
-
|
|
186
|
-
$[
|
|
187
|
-
} else
|
|
188
|
-
return
|
|
162
|
+
let t6;
|
|
163
|
+
if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
|
|
164
|
+
t6 = /* @__PURE__ */ jsx(CenteredMessage, { children: "No thread messages for this assistant instance." });
|
|
165
|
+
$[16] = t6;
|
|
166
|
+
} else t6 = $[16];
|
|
167
|
+
return t6;
|
|
189
168
|
}
|
|
169
|
+
let t6;
|
|
170
|
+
if ($[17] !== selectedMessage.id) {
|
|
171
|
+
t6 = messageNodeId(selectedMessage.id);
|
|
172
|
+
$[17] = selectedMessage.id;
|
|
173
|
+
$[18] = t6;
|
|
174
|
+
} else t6 = $[18];
|
|
175
|
+
const activeNodeId = t6;
|
|
176
|
+
let t7;
|
|
177
|
+
if ($[19] !== activeThread) {
|
|
178
|
+
t7 = /* @__PURE__ */ jsx(TranscriptHeader, { thread: activeThread });
|
|
179
|
+
$[19] = activeThread;
|
|
180
|
+
$[20] = t7;
|
|
181
|
+
} else t7 = $[20];
|
|
190
182
|
let t8;
|
|
191
|
-
if ($[22] !==
|
|
192
|
-
t8 =
|
|
193
|
-
$[22] = selectedMessage.id;
|
|
194
|
-
$[23] = t8;
|
|
195
|
-
} else t8 = $[23];
|
|
196
|
-
const activeNodeId = t8;
|
|
197
|
-
let t9;
|
|
198
|
-
if ($[24] !== activeThread) {
|
|
199
|
-
t9 = /* @__PURE__ */ jsx(TranscriptHeader, { thread: activeThread });
|
|
200
|
-
$[24] = activeThread;
|
|
201
|
-
$[25] = t9;
|
|
202
|
-
} else t9 = $[25];
|
|
203
|
-
let t10;
|
|
204
|
-
if ($[26] !== activeNodeId || $[27] !== activeThread || $[28] !== setSelection) {
|
|
205
|
-
t10 = /* @__PURE__ */ jsx(Transcript, {
|
|
183
|
+
if ($[21] !== activeNodeId || $[22] !== activeThread || $[23] !== setSelection) {
|
|
184
|
+
t8 = /* @__PURE__ */ jsx(Transcript, {
|
|
206
185
|
thread: activeThread,
|
|
207
186
|
selection: activeNodeId,
|
|
208
187
|
onSelect: setSelection
|
|
209
188
|
});
|
|
210
|
-
$[
|
|
211
|
-
$[
|
|
212
|
-
$[
|
|
189
|
+
$[21] = activeNodeId;
|
|
190
|
+
$[22] = activeThread;
|
|
191
|
+
$[23] = setSelection;
|
|
192
|
+
$[24] = t8;
|
|
193
|
+
} else t8 = $[24];
|
|
194
|
+
let t9;
|
|
195
|
+
if ($[25] !== t7 || $[26] !== t8) {
|
|
196
|
+
t9 = {
|
|
197
|
+
key: "transcript",
|
|
198
|
+
header: t7,
|
|
199
|
+
children: t8
|
|
200
|
+
};
|
|
201
|
+
$[25] = t7;
|
|
202
|
+
$[26] = t8;
|
|
203
|
+
$[27] = t9;
|
|
204
|
+
} else t9 = $[27];
|
|
205
|
+
let t10;
|
|
206
|
+
if ($[28] !== selectedMessage) {
|
|
207
|
+
t10 = messageDetailHeader(selectedMessage);
|
|
208
|
+
$[28] = selectedMessage;
|
|
213
209
|
$[29] = t10;
|
|
214
210
|
} else t10 = $[29];
|
|
215
211
|
let t11;
|
|
216
|
-
if ($[30] !==
|
|
217
|
-
t11 = {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
};
|
|
222
|
-
$[30] = t10;
|
|
223
|
-
$[31] = t9;
|
|
224
|
-
$[32] = t11;
|
|
225
|
-
} else t11 = $[32];
|
|
212
|
+
if ($[30] !== selectedMessage) {
|
|
213
|
+
t11 = /* @__PURE__ */ jsx(MessageDetailBody, { message: selectedMessage });
|
|
214
|
+
$[30] = selectedMessage;
|
|
215
|
+
$[31] = t11;
|
|
216
|
+
} else t11 = $[31];
|
|
226
217
|
let t12;
|
|
227
|
-
if ($[33] !==
|
|
228
|
-
t12 =
|
|
229
|
-
|
|
218
|
+
if ($[32] !== t10 || $[33] !== t11) {
|
|
219
|
+
t12 = {
|
|
220
|
+
key: "detail",
|
|
221
|
+
header: t10,
|
|
222
|
+
children: t11
|
|
223
|
+
};
|
|
224
|
+
$[32] = t10;
|
|
225
|
+
$[33] = t11;
|
|
230
226
|
$[34] = t12;
|
|
231
227
|
} else t12 = $[34];
|
|
232
228
|
let t13;
|
|
233
|
-
if ($[35] !==
|
|
234
|
-
t13 = /* @__PURE__ */ jsx(
|
|
235
|
-
$[35] = selectedMessage;
|
|
236
|
-
$[36] = t13;
|
|
237
|
-
} else t13 = $[36];
|
|
238
|
-
let t14;
|
|
239
|
-
if ($[37] !== t12 || $[38] !== t13) {
|
|
240
|
-
t14 = {
|
|
241
|
-
key: "detail",
|
|
242
|
-
header: t12,
|
|
243
|
-
children: t13
|
|
244
|
-
};
|
|
245
|
-
$[37] = t12;
|
|
246
|
-
$[38] = t13;
|
|
247
|
-
$[39] = t14;
|
|
248
|
-
} else t14 = $[39];
|
|
249
|
-
let t15;
|
|
250
|
-
if ($[40] !== t11 || $[41] !== t14) {
|
|
251
|
-
t15 = /* @__PURE__ */ jsx(SplitLayout, {
|
|
229
|
+
if ($[35] !== t12 || $[36] !== t9) {
|
|
230
|
+
t13 = /* @__PURE__ */ jsx(SplitLayout, {
|
|
252
231
|
sizes: TWO_COL,
|
|
253
|
-
columns: [
|
|
232
|
+
columns: [t9, t12]
|
|
254
233
|
});
|
|
255
|
-
$[
|
|
256
|
-
$[
|
|
257
|
-
$[
|
|
258
|
-
} else
|
|
259
|
-
return
|
|
234
|
+
$[35] = t12;
|
|
235
|
+
$[36] = t9;
|
|
236
|
+
$[37] = t13;
|
|
237
|
+
} else t13 = $[37];
|
|
238
|
+
return t13;
|
|
260
239
|
}
|
|
261
240
|
if (!(activeThread !== null && activeThread.messages.length > 0)) {
|
|
262
|
-
let
|
|
263
|
-
if ($[
|
|
264
|
-
|
|
265
|
-
$[
|
|
266
|
-
$[
|
|
267
|
-
} else
|
|
268
|
-
let
|
|
269
|
-
if ($[
|
|
270
|
-
|
|
241
|
+
let t6;
|
|
242
|
+
if ($[38] !== threadList) {
|
|
243
|
+
t6 = conversationListHeader(threadList);
|
|
244
|
+
$[38] = threadList;
|
|
245
|
+
$[39] = t6;
|
|
246
|
+
} else t6 = $[39];
|
|
247
|
+
let t7;
|
|
248
|
+
if ($[40] !== activeThreadId || $[41] !== snapshots || $[42] !== threadList) {
|
|
249
|
+
t7 = /* @__PURE__ */ jsx(ConversationList, {
|
|
271
250
|
threadList,
|
|
272
251
|
snapshots,
|
|
273
252
|
selectedId: activeThreadId,
|
|
274
253
|
onSelect: setActiveThreadId
|
|
275
254
|
});
|
|
276
|
-
$[
|
|
277
|
-
$[
|
|
278
|
-
$[
|
|
279
|
-
$[
|
|
280
|
-
} else
|
|
281
|
-
let
|
|
282
|
-
if ($[
|
|
283
|
-
|
|
255
|
+
$[40] = activeThreadId;
|
|
256
|
+
$[41] = snapshots;
|
|
257
|
+
$[42] = threadList;
|
|
258
|
+
$[43] = t7;
|
|
259
|
+
} else t7 = $[43];
|
|
260
|
+
let t8;
|
|
261
|
+
if ($[44] !== t6 || $[45] !== t7) {
|
|
262
|
+
t8 = {
|
|
284
263
|
key: "conversations",
|
|
285
|
-
header:
|
|
286
|
-
children:
|
|
264
|
+
header: t6,
|
|
265
|
+
children: t7
|
|
287
266
|
};
|
|
288
|
-
$[
|
|
289
|
-
$[
|
|
290
|
-
$[
|
|
291
|
-
} else
|
|
292
|
-
let
|
|
293
|
-
if ($[
|
|
294
|
-
|
|
267
|
+
$[44] = t6;
|
|
268
|
+
$[45] = t7;
|
|
269
|
+
$[46] = t8;
|
|
270
|
+
} else t8 = $[46];
|
|
271
|
+
let t9;
|
|
272
|
+
if ($[47] !== activeThreadId || $[48] !== switchToThread) {
|
|
273
|
+
t9 = {
|
|
295
274
|
key: "empty",
|
|
296
275
|
children: /* @__PURE__ */ jsx(UnloadedConversation, {
|
|
297
276
|
threadId: activeThreadId,
|
|
298
277
|
switchToThread
|
|
299
278
|
})
|
|
300
279
|
};
|
|
301
|
-
$[
|
|
302
|
-
$[
|
|
303
|
-
$[
|
|
304
|
-
} else
|
|
305
|
-
let
|
|
306
|
-
if ($[
|
|
307
|
-
|
|
280
|
+
$[47] = activeThreadId;
|
|
281
|
+
$[48] = switchToThread;
|
|
282
|
+
$[49] = t9;
|
|
283
|
+
} else t9 = $[49];
|
|
284
|
+
let t10;
|
|
285
|
+
if ($[50] !== t8 || $[51] !== t9) {
|
|
286
|
+
t10 = /* @__PURE__ */ jsx(SplitLayout, {
|
|
308
287
|
sizes: "clamp(12rem,26%,15rem)_minmax(0,1fr)",
|
|
309
|
-
columns: [
|
|
288
|
+
columns: [t8, t9]
|
|
310
289
|
});
|
|
311
|
-
$[
|
|
312
|
-
$[
|
|
313
|
-
$[
|
|
314
|
-
} else
|
|
315
|
-
return
|
|
290
|
+
$[50] = t8;
|
|
291
|
+
$[51] = t9;
|
|
292
|
+
$[52] = t10;
|
|
293
|
+
} else t10 = $[52];
|
|
294
|
+
return t10;
|
|
316
295
|
}
|
|
296
|
+
let t6;
|
|
297
|
+
if ($[53] !== selectedMessage.id) {
|
|
298
|
+
t6 = messageNodeId(selectedMessage.id);
|
|
299
|
+
$[53] = selectedMessage.id;
|
|
300
|
+
$[54] = t6;
|
|
301
|
+
} else t6 = $[54];
|
|
302
|
+
const activeNodeId_0 = t6;
|
|
303
|
+
let t7;
|
|
304
|
+
if ($[55] !== threadList) {
|
|
305
|
+
t7 = conversationListHeader(threadList);
|
|
306
|
+
$[55] = threadList;
|
|
307
|
+
$[56] = t7;
|
|
308
|
+
} else t7 = $[56];
|
|
317
309
|
let t8;
|
|
318
|
-
if ($[58] !==
|
|
319
|
-
t8 =
|
|
320
|
-
$[58] = selectedMessage.id;
|
|
321
|
-
$[59] = t8;
|
|
322
|
-
} else t8 = $[59];
|
|
323
|
-
const activeNodeId_0 = t8;
|
|
324
|
-
let t9;
|
|
325
|
-
if ($[60] !== threadList) {
|
|
326
|
-
t9 = conversationListHeader(threadList);
|
|
327
|
-
$[60] = threadList;
|
|
328
|
-
$[61] = t9;
|
|
329
|
-
} else t9 = $[61];
|
|
330
|
-
let t10;
|
|
331
|
-
if ($[62] !== activeThreadId || $[63] !== snapshots || $[64] !== threadList) {
|
|
332
|
-
t10 = /* @__PURE__ */ jsx(ConversationList, {
|
|
310
|
+
if ($[57] !== activeThreadId || $[58] !== snapshots || $[59] !== threadList) {
|
|
311
|
+
t8 = /* @__PURE__ */ jsx(ConversationList, {
|
|
333
312
|
threadList,
|
|
334
313
|
snapshots,
|
|
335
314
|
selectedId: activeThreadId,
|
|
336
315
|
onSelect: setActiveThreadId
|
|
337
316
|
});
|
|
338
|
-
$[
|
|
339
|
-
$[
|
|
340
|
-
$[
|
|
317
|
+
$[57] = activeThreadId;
|
|
318
|
+
$[58] = snapshots;
|
|
319
|
+
$[59] = threadList;
|
|
320
|
+
$[60] = t8;
|
|
321
|
+
} else t8 = $[60];
|
|
322
|
+
let t9;
|
|
323
|
+
if ($[61] !== t7 || $[62] !== t8) {
|
|
324
|
+
t9 = {
|
|
325
|
+
key: "conversations",
|
|
326
|
+
header: t7,
|
|
327
|
+
children: t8
|
|
328
|
+
};
|
|
329
|
+
$[61] = t7;
|
|
330
|
+
$[62] = t8;
|
|
331
|
+
$[63] = t9;
|
|
332
|
+
} else t9 = $[63];
|
|
333
|
+
let t10;
|
|
334
|
+
if ($[64] !== activeThread) {
|
|
335
|
+
t10 = /* @__PURE__ */ jsx(TranscriptHeader, { thread: activeThread });
|
|
336
|
+
$[64] = activeThread;
|
|
341
337
|
$[65] = t10;
|
|
342
338
|
} else t10 = $[65];
|
|
343
339
|
let t11;
|
|
344
|
-
if ($[66] !==
|
|
345
|
-
t11 = {
|
|
346
|
-
key: "conversations",
|
|
347
|
-
header: t9,
|
|
348
|
-
children: t10
|
|
349
|
-
};
|
|
350
|
-
$[66] = t10;
|
|
351
|
-
$[67] = t9;
|
|
352
|
-
$[68] = t11;
|
|
353
|
-
} else t11 = $[68];
|
|
354
|
-
let t12;
|
|
355
|
-
if ($[69] !== activeThread) {
|
|
356
|
-
t12 = /* @__PURE__ */ jsx(TranscriptHeader, { thread: activeThread });
|
|
357
|
-
$[69] = activeThread;
|
|
358
|
-
$[70] = t12;
|
|
359
|
-
} else t12 = $[70];
|
|
360
|
-
let t13;
|
|
361
|
-
if ($[71] !== activeNodeId_0 || $[72] !== activeThread || $[73] !== setSelection) {
|
|
362
|
-
t13 = /* @__PURE__ */ jsx(Transcript, {
|
|
340
|
+
if ($[66] !== activeNodeId_0 || $[67] !== activeThread || $[68] !== setSelection) {
|
|
341
|
+
t11 = /* @__PURE__ */ jsx(Transcript, {
|
|
363
342
|
thread: activeThread,
|
|
364
343
|
selection: activeNodeId_0,
|
|
365
344
|
onSelect: setSelection
|
|
366
345
|
});
|
|
367
|
-
$[
|
|
368
|
-
$[
|
|
369
|
-
$[
|
|
346
|
+
$[66] = activeNodeId_0;
|
|
347
|
+
$[67] = activeThread;
|
|
348
|
+
$[68] = setSelection;
|
|
349
|
+
$[69] = t11;
|
|
350
|
+
} else t11 = $[69];
|
|
351
|
+
let t12;
|
|
352
|
+
if ($[70] !== t10 || $[71] !== t11) {
|
|
353
|
+
t12 = {
|
|
354
|
+
key: "transcript",
|
|
355
|
+
header: t10,
|
|
356
|
+
children: t11
|
|
357
|
+
};
|
|
358
|
+
$[70] = t10;
|
|
359
|
+
$[71] = t11;
|
|
360
|
+
$[72] = t12;
|
|
361
|
+
} else t12 = $[72];
|
|
362
|
+
let t13;
|
|
363
|
+
if ($[73] !== selectedMessage) {
|
|
364
|
+
t13 = messageDetailHeader(selectedMessage);
|
|
365
|
+
$[73] = selectedMessage;
|
|
370
366
|
$[74] = t13;
|
|
371
367
|
} else t13 = $[74];
|
|
372
368
|
let t14;
|
|
373
|
-
if ($[75] !==
|
|
374
|
-
t14 = {
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
};
|
|
379
|
-
$[75] = t12;
|
|
380
|
-
$[76] = t13;
|
|
381
|
-
$[77] = t14;
|
|
382
|
-
} else t14 = $[77];
|
|
369
|
+
if ($[75] !== selectedMessage) {
|
|
370
|
+
t14 = /* @__PURE__ */ jsx(MessageDetailBody, { message: selectedMessage });
|
|
371
|
+
$[75] = selectedMessage;
|
|
372
|
+
$[76] = t14;
|
|
373
|
+
} else t14 = $[76];
|
|
383
374
|
let t15;
|
|
384
|
-
if ($[78] !==
|
|
385
|
-
t15 =
|
|
386
|
-
|
|
375
|
+
if ($[77] !== t13 || $[78] !== t14) {
|
|
376
|
+
t15 = {
|
|
377
|
+
key: "detail",
|
|
378
|
+
header: t13,
|
|
379
|
+
children: t14
|
|
380
|
+
};
|
|
381
|
+
$[77] = t13;
|
|
382
|
+
$[78] = t14;
|
|
387
383
|
$[79] = t15;
|
|
388
384
|
} else t15 = $[79];
|
|
389
385
|
let t16;
|
|
390
|
-
if ($[80] !==
|
|
391
|
-
t16 = /* @__PURE__ */ jsx(
|
|
392
|
-
$[80] = selectedMessage;
|
|
393
|
-
$[81] = t16;
|
|
394
|
-
} else t16 = $[81];
|
|
395
|
-
let t17;
|
|
396
|
-
if ($[82] !== t15 || $[83] !== t16) {
|
|
397
|
-
t17 = {
|
|
398
|
-
key: "detail",
|
|
399
|
-
header: t15,
|
|
400
|
-
children: t16
|
|
401
|
-
};
|
|
402
|
-
$[82] = t15;
|
|
403
|
-
$[83] = t16;
|
|
404
|
-
$[84] = t17;
|
|
405
|
-
} else t17 = $[84];
|
|
406
|
-
let t18;
|
|
407
|
-
if ($[85] !== t11 || $[86] !== t14 || $[87] !== t17) {
|
|
408
|
-
t18 = /* @__PURE__ */ jsx(SplitLayout, {
|
|
386
|
+
if ($[80] !== t12 || $[81] !== t15 || $[82] !== t9) {
|
|
387
|
+
t16 = /* @__PURE__ */ jsx(SplitLayout, {
|
|
409
388
|
sizes: THREE_COL,
|
|
410
389
|
columns: [
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
390
|
+
t9,
|
|
391
|
+
t12,
|
|
392
|
+
t15
|
|
414
393
|
]
|
|
415
394
|
});
|
|
416
|
-
$[
|
|
417
|
-
$[
|
|
418
|
-
$[
|
|
419
|
-
$[
|
|
420
|
-
} else
|
|
421
|
-
return
|
|
395
|
+
$[80] = t12;
|
|
396
|
+
$[81] = t15;
|
|
397
|
+
$[82] = t9;
|
|
398
|
+
$[83] = t16;
|
|
399
|
+
} else t16 = $[83];
|
|
400
|
+
return t16;
|
|
422
401
|
};
|
|
423
402
|
//#endregion
|
|
424
403
|
export { ThreadTab };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadTab.js","names":["useEffect","useMemo","useRef","useState","MessageDetailBody","messageDetailHeader","ConversationList","Transcript","TranscriptHeader","conversationListHeader","messageNodeId","parseThreadListPreview","resolveSingleThread","resolveThreadForId","ThreadPreview","CenteredMessage","ControlButton","EmptyState","SplitLayout","DevToolsTabContext","TWO_COL","THREE_COL","useSelectedMessage","thread","selection","setSelection","$","_c","t0","bb0","messages","length","t1","t2","message","id","find","match","selectedMessage","last","UnloadedConversation","switchToThread","threadId","Symbol","for","t3","ThreadTab","data","state","threads","threadList","snapshots","threadSnapshots","hasConversationList","threadIds","mainThreadId","activeThreadId","setActiveThreadId","t4","ids","archivedThreadIds","includes","prevThreadIdRef","t5","t6","current","t7","t8","activeThread","activeNodeId","t9","t10","t11","key","header","children","t12","t13","t14","t15","loaded","activeNodeId_0","t16","t17","t18"],"sources":["../../../src/shell/tabs/ThreadTab.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport { MessageDetailBody, messageDetailHeader } from \"../../views/message\";\nimport {\n ConversationList,\n Transcript,\n TranscriptHeader,\n conversationListHeader,\n messageNodeId,\n parseThreadListPreview,\n resolveSingleThread,\n resolveThreadForId,\n} from \"../../views/thread\";\nimport type { ThreadPreview } from \"../../views/thread\";\nimport { CenteredMessage, ControlButton, EmptyState } from \"../../views/ui\";\nimport { SplitLayout } from \"../SplitLayout\";\nimport type { DevToolsTabContext } from \"../registry\";\n\nconst TWO_COL = \"clamp(16rem,32%,22rem)_minmax(0,1fr)\";\nconst THREE_COL = \"clamp(12rem,26%,15rem)_clamp(14rem,32%,20rem)_minmax(0,1fr)\";\n\nconst useSelectedMessage = (\n thread: ThreadPreview | null,\n selection: string | null,\n setSelection: (nodeId: string | null) => void,\n) => {\n const selectedMessage = useMemo(() => {\n if (!thread || thread.messages.length === 0) return null;\n const match = thread.messages.find(\n (message) => messageNodeId(message.id) === selection,\n );\n return match ?? thread.messages[thread.messages.length - 1]!;\n }, [thread, selection]);\n\n useEffect(() => {\n if (!thread || thread.messages.length === 0 || selection !== null) return;\n const last = thread.messages[thread.messages.length - 1]!;\n setSelection(messageNodeId(last.id));\n }, [thread, selection, setSelection]);\n\n return selectedMessage;\n};\n\nconst UnloadedConversation = ({\n switchToThread,\n threadId,\n}: {\n switchToThread?: ((threadId: string) => void | Promise<void>) | undefined;\n threadId: string;\n}) => (\n <div className=\"flex h-full flex-col items-center justify-center gap-3 p-6\">\n <EmptyState>\n This conversation has not been opened in the app yet, so its messages are\n not cached in DevTools.\n </EmptyState>\n {switchToThread ? (\n <ControlButton onClick={() => switchToThread(threadId)}>\n Load conversation\n </ControlButton>\n ) : null}\n </div>\n);\n\nexport const ThreadTab = ({\n data,\n selection,\n setSelection,\n switchToThread,\n}: DevToolsTabContext) => {\n const threadList = useMemo(\n () => parseThreadListPreview(data.state.threads),\n [data.state.threads],\n );\n const snapshots = data.threadSnapshots;\n\n const hasConversationList =\n threadList !== null && threadList.threadIds.length > 0;\n\n const [activeThreadId, setActiveThreadId] = useState<string>(\n () => threadList?.mainThreadId ?? threadList?.threadIds[0] ?? \"\",\n );\n\n useEffect(() => {\n if (!hasConversationList || !threadList) return;\n const ids = [...threadList.threadIds, ...threadList.archivedThreadIds];\n if (ids.includes(activeThreadId)) return;\n setActiveThreadId(threadList.mainThreadId ?? threadList.threadIds[0] ?? \"\");\n }, [hasConversationList, threadList, activeThreadId]);\n\n const prevThreadIdRef = useRef(activeThreadId);\n useEffect(() => {\n if (prevThreadIdRef.current === activeThreadId) return;\n prevThreadIdRef.current = activeThreadId;\n setSelection(null);\n }, [activeThreadId, setSelection]);\n\n const activeThread = useMemo(() => {\n if (!hasConversationList) {\n return resolveSingleThread(data.state);\n }\n return resolveThreadForId(\n data.state,\n snapshots,\n activeThreadId,\n threadList,\n );\n }, [hasConversationList, data.state, snapshots, activeThreadId, threadList]);\n\n const selectedMessage = useSelectedMessage(\n activeThread,\n selection,\n setSelection,\n );\n\n if (!hasConversationList) {\n if (!activeThread || activeThread.messages.length === 0) {\n return (\n <CenteredMessage>\n No thread messages for this assistant instance.\n </CenteredMessage>\n );\n }\n\n const activeNodeId = messageNodeId(selectedMessage!.id);\n\n return (\n <SplitLayout\n sizes={TWO_COL}\n columns={[\n {\n key: \"transcript\",\n header: <TranscriptHeader thread={activeThread} />,\n children: (\n <Transcript\n thread={activeThread}\n selection={activeNodeId}\n onSelect={setSelection}\n />\n ),\n },\n {\n key: \"detail\",\n header: messageDetailHeader(selectedMessage!),\n children: <MessageDetailBody message={selectedMessage!} />,\n },\n ]}\n />\n );\n }\n\n const loaded = activeThread !== null && activeThread.messages.length > 0;\n\n if (!loaded) {\n return (\n <SplitLayout\n sizes=\"clamp(12rem,26%,15rem)_minmax(0,1fr)\"\n columns={[\n {\n key: \"conversations\",\n header: conversationListHeader(threadList!),\n children: (\n <ConversationList\n threadList={threadList!}\n snapshots={snapshots}\n selectedId={activeThreadId}\n onSelect={setActiveThreadId}\n />\n ),\n },\n {\n key: \"empty\",\n children: (\n <UnloadedConversation\n threadId={activeThreadId}\n switchToThread={switchToThread}\n />\n ),\n },\n ]}\n />\n );\n }\n\n const activeNodeId = messageNodeId(selectedMessage!.id);\n\n return (\n <SplitLayout\n sizes={THREE_COL}\n columns={[\n {\n key: \"conversations\",\n header: conversationListHeader(threadList!),\n children: (\n <ConversationList\n threadList={threadList!}\n snapshots={snapshots}\n selectedId={activeThreadId}\n onSelect={setActiveThreadId}\n />\n ),\n },\n {\n key: \"transcript\",\n header: <TranscriptHeader thread={activeThread!} />,\n children: (\n <Transcript\n thread={activeThread!}\n selection={activeNodeId}\n onSelect={setSelection}\n />\n ),\n },\n {\n key: \"detail\",\n header: messageDetailHeader(selectedMessage!),\n children: <MessageDetailBody message={selectedMessage!} />,\n },\n ]}\n />\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreadTab.js","names":["useEffect","useMemo","useRef","useState","MessageDetailBody","messageDetailHeader","ConversationList","Transcript","TranscriptHeader","conversationListHeader","messageNodeId","parseThreadListPreview","resolveSingleThread","resolveThreadForId","ThreadPreview","CenteredMessage","ControlButton","EmptyState","SplitLayout","DevToolsTabContext","TWO_COL","THREE_COL","useSelectedMessage","thread","selection","setSelection","$","_c","t0","bb0","messages","length","t1","t2","message","id","find","match","selectedMessage","last","UnloadedConversation","switchToThread","threadId","Symbol","for","t3","ThreadTab","data","state","threads","threadList","snapshots","threadSnapshots","hasConversationList","threadIds","mainThreadId","activeThreadId","setActiveThreadId","resolvedThreadId","archivedThreadIds","includes","prevThreadIdRef","t4","current","t5","t6","activeThread","activeNodeId","t7","t8","t9","key","header","children","t10","t11","t12","t13","loaded","activeNodeId_0","t14","t15","t16"],"sources":["../../../src/shell/tabs/ThreadTab.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport { MessageDetailBody, messageDetailHeader } from \"../../views/message\";\nimport {\n ConversationList,\n Transcript,\n TranscriptHeader,\n conversationListHeader,\n messageNodeId,\n parseThreadListPreview,\n resolveSingleThread,\n resolveThreadForId,\n} from \"../../views/thread\";\nimport type { ThreadPreview } from \"../../views/thread\";\nimport { CenteredMessage, ControlButton, EmptyState } from \"../../views/ui\";\nimport { SplitLayout } from \"../SplitLayout\";\nimport type { DevToolsTabContext } from \"../registry\";\n\nconst TWO_COL = \"clamp(16rem,32%,22rem)_minmax(0,1fr)\";\nconst THREE_COL = \"clamp(12rem,26%,15rem)_clamp(14rem,32%,20rem)_minmax(0,1fr)\";\n\nconst useSelectedMessage = (\n thread: ThreadPreview | null,\n selection: string | null,\n setSelection: (nodeId: string | null) => void,\n) => {\n const selectedMessage = useMemo(() => {\n if (!thread || thread.messages.length === 0) return null;\n const match = thread.messages.find(\n (message) => messageNodeId(message.id) === selection,\n );\n return match ?? thread.messages[thread.messages.length - 1]!;\n }, [thread, selection]);\n\n useEffect(() => {\n if (!thread || thread.messages.length === 0 || selection !== null) return;\n const last = thread.messages[thread.messages.length - 1]!;\n setSelection(messageNodeId(last.id));\n }, [thread, selection, setSelection]);\n\n return selectedMessage;\n};\n\nconst UnloadedConversation = ({\n switchToThread,\n threadId,\n}: {\n switchToThread?: ((threadId: string) => void | Promise<void>) | undefined;\n threadId: string;\n}) => (\n <div className=\"flex h-full flex-col items-center justify-center gap-3 p-6\">\n <EmptyState>\n This conversation has not been opened in the app yet, so its messages are\n not cached in DevTools.\n </EmptyState>\n {switchToThread ? (\n <ControlButton onClick={() => switchToThread(threadId)}>\n Load conversation\n </ControlButton>\n ) : null}\n </div>\n);\n\nexport const ThreadTab = ({\n data,\n selection,\n setSelection,\n switchToThread,\n}: DevToolsTabContext) => {\n const threadList = useMemo(\n () => parseThreadListPreview(data.state.threads),\n [data.state.threads],\n );\n const snapshots = data.threadSnapshots;\n\n const hasConversationList =\n threadList !== null && threadList.threadIds.length > 0;\n\n const [activeThreadId, setActiveThreadId] = useState<string>(\n () => threadList?.mainThreadId ?? threadList?.threadIds[0] ?? \"\",\n );\n\n const resolvedThreadId =\n hasConversationList && threadList\n ? [...threadList.threadIds, ...threadList.archivedThreadIds].includes(\n activeThreadId,\n )\n ? activeThreadId\n : (threadList.mainThreadId ?? threadList.threadIds[0] ?? \"\")\n : activeThreadId;\n\n if (resolvedThreadId !== activeThreadId) setActiveThreadId(resolvedThreadId);\n\n const prevThreadIdRef = useRef(activeThreadId);\n useEffect(() => {\n if (prevThreadIdRef.current === activeThreadId) return;\n prevThreadIdRef.current = activeThreadId;\n setSelection(null);\n }, [activeThreadId, setSelection]);\n\n const activeThread = useMemo(() => {\n if (!hasConversationList) {\n return resolveSingleThread(data.state);\n }\n return resolveThreadForId(\n data.state,\n snapshots,\n activeThreadId,\n threadList,\n );\n }, [hasConversationList, data.state, snapshots, activeThreadId, threadList]);\n\n const selectedMessage = useSelectedMessage(\n activeThread,\n selection,\n setSelection,\n );\n\n if (!hasConversationList) {\n if (!activeThread || activeThread.messages.length === 0) {\n return (\n <CenteredMessage>\n No thread messages for this assistant instance.\n </CenteredMessage>\n );\n }\n\n const activeNodeId = messageNodeId(selectedMessage!.id);\n\n return (\n <SplitLayout\n sizes={TWO_COL}\n columns={[\n {\n key: \"transcript\",\n header: <TranscriptHeader thread={activeThread} />,\n children: (\n <Transcript\n thread={activeThread}\n selection={activeNodeId}\n onSelect={setSelection}\n />\n ),\n },\n {\n key: \"detail\",\n header: messageDetailHeader(selectedMessage!),\n children: <MessageDetailBody message={selectedMessage!} />,\n },\n ]}\n />\n );\n }\n\n const loaded = activeThread !== null && activeThread.messages.length > 0;\n\n if (!loaded) {\n return (\n <SplitLayout\n sizes=\"clamp(12rem,26%,15rem)_minmax(0,1fr)\"\n columns={[\n {\n key: \"conversations\",\n header: conversationListHeader(threadList!),\n children: (\n <ConversationList\n threadList={threadList!}\n snapshots={snapshots}\n selectedId={activeThreadId}\n onSelect={setActiveThreadId}\n />\n ),\n },\n {\n key: \"empty\",\n children: (\n <UnloadedConversation\n threadId={activeThreadId}\n switchToThread={switchToThread}\n />\n ),\n },\n ]}\n />\n );\n }\n\n const activeNodeId = messageNodeId(selectedMessage!.id);\n\n return (\n <SplitLayout\n sizes={THREE_COL}\n columns={[\n {\n key: \"conversations\",\n header: conversationListHeader(threadList!),\n children: (\n <ConversationList\n threadList={threadList!}\n snapshots={snapshots}\n selectedId={activeThreadId}\n onSelect={setActiveThreadId}\n />\n ),\n },\n {\n key: \"transcript\",\n header: <TranscriptHeader thread={activeThread!} />,\n children: (\n <Transcript\n thread={activeThread!}\n selection={activeNodeId}\n onSelect={setSelection}\n />\n ),\n },\n {\n key: \"detail\",\n header: messageDetailHeader(selectedMessage!),\n children: <MessageDetailBody message={selectedMessage!} />,\n },\n ]}\n />\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.d.ts","names":[],"sources":["../../src/utils/serialization.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"serialization.d.ts","names":[],"sources":["../../src/utils/serialization.ts"],"mappings":";;;cAKa,qBACX,gBACA,OAAA;cA8FW;;;;;;;;cAwCA,kBAAmB,gBAAgB;cAoBnC,oBAAqB;cAGrB,wBACX,SAAS,6BACR"}
|