@assistant-ui/react 0.1.9 → 0.1.10
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/README.md +2 -0
- package/dist/{chunk-7O2URLFI.mjs → chunk-KUACYNLE.mjs} +22 -22
- package/dist/chunk-KUACYNLE.mjs.map +1 -0
- package/dist/experimental.d.mts +1 -1
- package/dist/experimental.d.ts +1 -1
- package/dist/experimental.js +7 -7
- package/dist/experimental.js.map +1 -1
- package/dist/experimental.mjs +1 -1
- package/dist/experimental.mjs.map +1 -1
- package/dist/index.d.mts +75 -40
- package/dist/index.d.ts +75 -40
- package/dist/index.js +469 -377
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +376 -300
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-7O2URLFI.mjs.map +0 -1
package/dist/index.mjs
CHANGED
@@ -9,9 +9,9 @@ import {
|
|
9
9
|
useContentPartContext,
|
10
10
|
useMessageContext,
|
11
11
|
useThreadContext
|
12
|
-
} from "./chunk-
|
12
|
+
} from "./chunk-KUACYNLE.mjs";
|
13
13
|
|
14
|
-
// src/
|
14
|
+
// src/primitive-hooks/actionBar/useActionBarCopy.tsx
|
15
15
|
import { useCallback } from "react";
|
16
16
|
|
17
17
|
// src/utils/combined/useCombinedStore.ts
|
@@ -48,38 +48,56 @@ var getMessageText = (message) => {
|
|
48
48
|
return textParts.map((part) => part.text).join("\n\n");
|
49
49
|
};
|
50
50
|
|
51
|
-
// src/
|
52
|
-
var
|
53
|
-
|
51
|
+
// src/primitive-hooks/actionBar/useActionBarCopy.tsx
|
52
|
+
var useActionBarCopy = ({
|
53
|
+
copiedDuration = 3e3
|
54
|
+
} = {}) => {
|
55
|
+
const { useMessage, useMessageUtils, useEditComposer } = useMessageContext();
|
54
56
|
const hasCopyableContent = useCombinedStore(
|
55
|
-
[useMessage,
|
57
|
+
[useMessage, useEditComposer],
|
56
58
|
(m, c) => {
|
57
|
-
return c.isEditing
|
59
|
+
return !c.isEditing && m.message.content.some((c2) => c2.type === "text");
|
58
60
|
}
|
59
61
|
);
|
60
62
|
const callback = useCallback(() => {
|
61
63
|
const { message } = useMessage.getState();
|
62
64
|
const { setIsCopied } = useMessageUtils.getState();
|
63
|
-
const { isEditing, value: composerValue } =
|
65
|
+
const { isEditing, value: composerValue } = useEditComposer.getState();
|
64
66
|
const valueToCopy = isEditing ? composerValue : getMessageText(message);
|
65
67
|
navigator.clipboard.writeText(valueToCopy);
|
66
68
|
setIsCopied(true);
|
67
69
|
setTimeout(() => setIsCopied(false), copiedDuration);
|
68
|
-
}, [useMessage, useMessageUtils,
|
70
|
+
}, [useMessage, useMessageUtils, useEditComposer, copiedDuration]);
|
69
71
|
if (!hasCopyableContent) return null;
|
70
72
|
return callback;
|
71
73
|
};
|
72
74
|
|
73
|
-
// src/
|
75
|
+
// src/primitive-hooks/actionBar/useActionBarEdit.tsx
|
74
76
|
import { useCallback as useCallback2 } from "react";
|
75
|
-
var
|
77
|
+
var useActionBarEdit = () => {
|
78
|
+
const { useMessage, useEditComposer } = useMessageContext();
|
79
|
+
const disabled = useCombinedStore(
|
80
|
+
[useMessage, useEditComposer],
|
81
|
+
(m, c) => m.message.role !== "user" || c.isEditing
|
82
|
+
);
|
83
|
+
const callback = useCallback2(() => {
|
84
|
+
const { edit } = useEditComposer.getState();
|
85
|
+
edit();
|
86
|
+
}, [useEditComposer]);
|
87
|
+
if (disabled) return null;
|
88
|
+
return callback;
|
89
|
+
};
|
90
|
+
|
91
|
+
// src/primitive-hooks/actionBar/useActionBarReload.tsx
|
92
|
+
import { useCallback as useCallback3 } from "react";
|
93
|
+
var useActionBarReload = () => {
|
76
94
|
const { useThread, useThreadActions, useViewport } = useThreadContext();
|
77
95
|
const { useMessage } = useMessageContext();
|
78
96
|
const disabled = useCombinedStore(
|
79
97
|
[useThread, useMessage],
|
80
98
|
(t, m) => t.isRunning || m.message.role !== "assistant"
|
81
99
|
);
|
82
|
-
const callback =
|
100
|
+
const callback = useCallback3(() => {
|
83
101
|
const { parentId } = useMessage.getState();
|
84
102
|
useThreadActions.getState().startRun(parentId);
|
85
103
|
useViewport.getState().scrollToBottom();
|
@@ -88,29 +106,20 @@ var useReloadMessage = () => {
|
|
88
106
|
return callback;
|
89
107
|
};
|
90
108
|
|
91
|
-
// src/
|
92
|
-
|
93
|
-
|
94
|
-
const
|
95
|
-
|
96
|
-
[useMessage, useComposer],
|
97
|
-
(m, c) => m.message.role !== "user" || c.isEditing
|
98
|
-
);
|
99
|
-
const callback = useCallback3(() => {
|
100
|
-
const { edit } = useComposer.getState();
|
101
|
-
edit();
|
102
|
-
}, [useComposer]);
|
103
|
-
if (disabled) return null;
|
104
|
-
return callback;
|
109
|
+
// src/primitive-hooks/branchPicker/useBranchPickerCount.tsx
|
110
|
+
var useBranchPickerCount = () => {
|
111
|
+
const { useMessage } = useMessageContext();
|
112
|
+
const branchCount = useMessage((s) => s.branches.length);
|
113
|
+
return branchCount;
|
105
114
|
};
|
106
115
|
|
107
|
-
// src/
|
116
|
+
// src/primitive-hooks/branchPicker/useBranchPickerNext.tsx
|
108
117
|
import { useCallback as useCallback4 } from "react";
|
109
|
-
var
|
118
|
+
var useBranchPickerNext = () => {
|
110
119
|
const { useThreadActions } = useThreadContext();
|
111
|
-
const { useMessage,
|
120
|
+
const { useMessage, useEditComposer } = useMessageContext();
|
112
121
|
const disabled = useCombinedStore(
|
113
|
-
[useMessage,
|
122
|
+
[useMessage, useEditComposer],
|
114
123
|
(m, c) => c.isEditing || m.branches.indexOf(m.message.id) + 1 >= m.branches.length
|
115
124
|
);
|
116
125
|
const callback = useCallback4(() => {
|
@@ -121,13 +130,20 @@ var useGoToNextBranch = () => {
|
|
121
130
|
return callback;
|
122
131
|
};
|
123
132
|
|
124
|
-
// src/
|
133
|
+
// src/primitive-hooks/branchPicker/useBranchPickerNumber.tsx
|
134
|
+
var useBranchPickerNumber = () => {
|
135
|
+
const { useMessage } = useMessageContext();
|
136
|
+
const branchIdx = useMessage((s) => s.branches.indexOf(s.message.id));
|
137
|
+
return branchIdx + 1;
|
138
|
+
};
|
139
|
+
|
140
|
+
// src/primitive-hooks/branchPicker/useBranchPickerPrevious.tsx
|
125
141
|
import { useCallback as useCallback5 } from "react";
|
126
|
-
var
|
142
|
+
var useBranchPickerPrevious = () => {
|
127
143
|
const { useThreadActions } = useThreadContext();
|
128
|
-
const { useMessage,
|
144
|
+
const { useMessage, useEditComposer } = useMessageContext();
|
129
145
|
const disabled = useCombinedStore(
|
130
|
-
[useMessage,
|
146
|
+
[useMessage, useEditComposer],
|
131
147
|
(m, c) => c.isEditing || m.branches.indexOf(m.message.id) <= 0
|
132
148
|
);
|
133
149
|
const callback = useCallback5(() => {
|
@@ -138,6 +154,159 @@ var useGoToPreviousBranch = () => {
|
|
138
154
|
return callback;
|
139
155
|
};
|
140
156
|
|
157
|
+
// src/primitive-hooks/composer/useComposerCancel.tsx
|
158
|
+
import { useCallback as useCallback6 } from "react";
|
159
|
+
var useComposerCancel = () => {
|
160
|
+
const { useComposer } = useComposerContext();
|
161
|
+
const disabled = useComposer((c) => !c.isEditing);
|
162
|
+
const callback = useCallback6(() => {
|
163
|
+
const { cancel } = useComposer.getState();
|
164
|
+
cancel();
|
165
|
+
}, [useComposer]);
|
166
|
+
if (disabled) return null;
|
167
|
+
return callback;
|
168
|
+
};
|
169
|
+
|
170
|
+
// src/primitive-hooks/composer/useComposerIf.tsx
|
171
|
+
var useComposerIf = (props) => {
|
172
|
+
const { useComposer } = useComposerContext();
|
173
|
+
return useComposer((composer) => {
|
174
|
+
if (props.editing === true && !composer.isEditing) return false;
|
175
|
+
if (props.editing === false && composer.isEditing) return false;
|
176
|
+
return true;
|
177
|
+
});
|
178
|
+
};
|
179
|
+
|
180
|
+
// src/primitive-hooks/composer/useComposerSend.tsx
|
181
|
+
import { useCallback as useCallback7 } from "react";
|
182
|
+
var useComposerSend = () => {
|
183
|
+
const { useComposer } = useComposerContext();
|
184
|
+
const disabled = useComposer((c) => !c.isEditing || c.value.length === 0);
|
185
|
+
const callback = useCallback7(() => {
|
186
|
+
const { send } = useComposer.getState();
|
187
|
+
send();
|
188
|
+
}, [useComposer]);
|
189
|
+
if (disabled) return null;
|
190
|
+
return callback;
|
191
|
+
};
|
192
|
+
|
193
|
+
// src/primitive-hooks/contentPart/useContentPartDisplay.tsx
|
194
|
+
var useContentPartDisplay = () => {
|
195
|
+
const { useContentPart } = useContentPartContext();
|
196
|
+
const display = useContentPart((c) => {
|
197
|
+
if (c.part.type !== "ui")
|
198
|
+
throw new Error(
|
199
|
+
"This component can only be used inside ui content parts."
|
200
|
+
);
|
201
|
+
return c.part.display;
|
202
|
+
});
|
203
|
+
return display;
|
204
|
+
};
|
205
|
+
|
206
|
+
// src/primitive-hooks/contentPart/useContentPartImage.tsx
|
207
|
+
var useContentPartImage = () => {
|
208
|
+
const { useContentPart } = useContentPartContext();
|
209
|
+
const image = useContentPart((c) => {
|
210
|
+
if (c.part.type !== "image")
|
211
|
+
throw new Error(
|
212
|
+
"ContentPartImage can only be used inside image content parts."
|
213
|
+
);
|
214
|
+
return c.part.image;
|
215
|
+
});
|
216
|
+
return image;
|
217
|
+
};
|
218
|
+
|
219
|
+
// src/primitive-hooks/contentPart/useContentPartInProgressIndicator.tsx
|
220
|
+
var useContentPartInProgressIndicator = () => {
|
221
|
+
const { useMessageUtils } = useMessageContext();
|
222
|
+
const { useContentPart } = useContentPartContext();
|
223
|
+
const indicator = useCombinedStore(
|
224
|
+
[useMessageUtils, useContentPart],
|
225
|
+
(m, c) => c.status === "in_progress" ? m.inProgressIndicator : null
|
226
|
+
);
|
227
|
+
return indicator;
|
228
|
+
};
|
229
|
+
|
230
|
+
// src/primitive-hooks/contentPart/useContentPartText.tsx
|
231
|
+
var useContentPartText = () => {
|
232
|
+
const { useContentPart } = useContentPartContext();
|
233
|
+
const text = useContentPart((c) => {
|
234
|
+
if (c.part.type !== "text")
|
235
|
+
throw new Error(
|
236
|
+
"ContentPartText can only be used inside text content parts."
|
237
|
+
);
|
238
|
+
return c.part.text;
|
239
|
+
});
|
240
|
+
return text;
|
241
|
+
};
|
242
|
+
|
243
|
+
// src/primitive-hooks/message/useMessageIf.tsx
|
244
|
+
var useMessageIf = (props) => {
|
245
|
+
const { useMessage, useMessageUtils } = useMessageContext();
|
246
|
+
return useCombinedStore(
|
247
|
+
[useMessage, useMessageUtils],
|
248
|
+
({ message, branches, isLast }, { isCopied, isHovering }) => {
|
249
|
+
if (props.hasBranches === true && branches.length < 2) return false;
|
250
|
+
if (props.user && message.role !== "user") return false;
|
251
|
+
if (props.assistant && message.role !== "assistant") return false;
|
252
|
+
if (props.lastOrHover === true && !isHovering && !isLast) return false;
|
253
|
+
if (props.copied === true && !isCopied) return false;
|
254
|
+
if (props.copied === false && isCopied) return false;
|
255
|
+
return true;
|
256
|
+
}
|
257
|
+
);
|
258
|
+
};
|
259
|
+
|
260
|
+
// src/primitive-hooks/thread/useThreadIf.tsx
|
261
|
+
var useThreadIf = (props) => {
|
262
|
+
const { useThread } = useThreadContext();
|
263
|
+
return useThread((thread) => {
|
264
|
+
if (props.empty === true && thread.messages.length !== 0) return false;
|
265
|
+
if (props.empty === false && thread.messages.length === 0) return false;
|
266
|
+
if (props.running === true && !thread.isRunning) return false;
|
267
|
+
if (props.running === false && thread.isRunning) return false;
|
268
|
+
return true;
|
269
|
+
});
|
270
|
+
};
|
271
|
+
|
272
|
+
// src/primitive-hooks/thread/useThreadEmpty.tsx
|
273
|
+
var useThreadEmpty = () => {
|
274
|
+
return useThreadIf({ empty: true });
|
275
|
+
};
|
276
|
+
|
277
|
+
// src/primitive-hooks/thread/useThreadScrollToBottom.tsx
|
278
|
+
import { useCallback as useCallback8 } from "react";
|
279
|
+
var useThreadScrollToBottom = () => {
|
280
|
+
const { useViewport } = useThreadContext();
|
281
|
+
const isAtBottom = useViewport((s) => s.isAtBottom);
|
282
|
+
const handleScrollToBottom = useCallback8(() => {
|
283
|
+
const { scrollToBottom } = useViewport.getState();
|
284
|
+
scrollToBottom();
|
285
|
+
}, [useViewport]);
|
286
|
+
if (isAtBottom) return null;
|
287
|
+
return handleScrollToBottom;
|
288
|
+
};
|
289
|
+
|
290
|
+
// src/primitive-hooks/thread/useThreadSuggestion.tsx
|
291
|
+
import { useCallback as useCallback9 } from "react";
|
292
|
+
var useThreadSuggestion = ({
|
293
|
+
prompt,
|
294
|
+
autoSend
|
295
|
+
}) => {
|
296
|
+
const { useThread, useComposer } = useThreadContext();
|
297
|
+
const disabled = useThread((t) => t.isRunning);
|
298
|
+
const callback = useCallback9(() => {
|
299
|
+
const thread = useThread.getState();
|
300
|
+
const composer = useComposer.getState();
|
301
|
+
composer.setValue(prompt);
|
302
|
+
if (autoSend && !thread.isRunning) {
|
303
|
+
composer.send();
|
304
|
+
}
|
305
|
+
}, [useThread, useComposer, prompt, autoSend]);
|
306
|
+
if (disabled) return null;
|
307
|
+
return callback;
|
308
|
+
};
|
309
|
+
|
141
310
|
// src/primitives/thread/index.ts
|
142
311
|
var thread_exports = {};
|
143
312
|
__export(thread_exports, {
|
@@ -162,16 +331,6 @@ var ThreadRoot = forwardRef(
|
|
162
331
|
ThreadRoot.displayName = "ThreadRoot";
|
163
332
|
|
164
333
|
// src/primitives/thread/ThreadIf.tsx
|
165
|
-
var useThreadIf = (props) => {
|
166
|
-
const { useThread } = useThreadContext();
|
167
|
-
return useThread((thread) => {
|
168
|
-
if (props.empty === true && thread.messages.length !== 0) return false;
|
169
|
-
if (props.empty === false && thread.messages.length === 0) return false;
|
170
|
-
if (props.running === true && !thread.isRunning) return false;
|
171
|
-
if (props.running === false && thread.isRunning) return false;
|
172
|
-
return true;
|
173
|
-
});
|
174
|
-
};
|
175
334
|
var ThreadIf = ({ children, ...query }) => {
|
176
335
|
const result = useThreadIf(query);
|
177
336
|
return result ? children : null;
|
@@ -197,8 +356,8 @@ import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
|
|
197
356
|
import { useEffect } from "react";
|
198
357
|
var useOnResizeContent = (ref, callback) => {
|
199
358
|
const callbackRef = useCallbackRef(callback);
|
200
|
-
const el = ref.current;
|
201
359
|
useEffect(() => {
|
360
|
+
const el = ref.current;
|
202
361
|
if (!el) return;
|
203
362
|
const resizeObserver = new ResizeObserver(() => {
|
204
363
|
callbackRef();
|
@@ -227,7 +386,7 @@ var useOnResizeContent = (ref, callback) => {
|
|
227
386
|
resizeObserver.disconnect();
|
228
387
|
mutationObserver.disconnect();
|
229
388
|
};
|
230
|
-
}, [
|
389
|
+
}, [ref, callbackRef]);
|
231
390
|
};
|
232
391
|
|
233
392
|
// src/utils/hooks/useOnScrollToBottom.tsx
|
@@ -307,7 +466,7 @@ import { memo } from "react";
|
|
307
466
|
import { useEffect as useEffect3, useState } from "react";
|
308
467
|
import { create as create3 } from "zustand";
|
309
468
|
|
310
|
-
// src/context/stores/
|
469
|
+
// src/context/stores/EditComposer.ts
|
311
470
|
import { create } from "zustand";
|
312
471
|
|
313
472
|
// src/context/stores/BaseComposer.ts
|
@@ -318,7 +477,7 @@ var makeBaseComposer = (set) => ({
|
|
318
477
|
}
|
319
478
|
});
|
320
479
|
|
321
|
-
// src/context/stores/
|
480
|
+
// src/context/stores/EditComposer.ts
|
322
481
|
var makeEditComposerStore = ({
|
323
482
|
onEdit,
|
324
483
|
onSend
|
@@ -384,7 +543,7 @@ var useMessageContext2 = (messageIndex) => {
|
|
384
543
|
const [context] = useState(() => {
|
385
544
|
const useMessage = create3(() => ({}));
|
386
545
|
const useMessageUtils = makeMessageUtilsStore();
|
387
|
-
const
|
546
|
+
const useEditComposer = makeEditComposerStore({
|
388
547
|
onEdit: () => {
|
389
548
|
const message = useMessage.getState().message;
|
390
549
|
if (message.role !== "user")
|
@@ -415,7 +574,7 @@ var useMessageContext2 = (messageIndex) => {
|
|
415
574
|
useMessage,
|
416
575
|
messageIndex
|
417
576
|
);
|
418
|
-
return { useMessage, useMessageUtils,
|
577
|
+
return { useMessage, useMessageUtils, useEditComposer };
|
419
578
|
});
|
420
579
|
useEffect3(() => {
|
421
580
|
return useThread.subscribe((thread) => {
|
@@ -438,35 +597,12 @@ var MessageProvider = ({
|
|
438
597
|
};
|
439
598
|
|
440
599
|
// src/primitives/composer/ComposerIf.tsx
|
441
|
-
var useComposerIf = (props) => {
|
442
|
-
const { useComposer } = useComposerContext();
|
443
|
-
return useComposer((composer) => {
|
444
|
-
if (props.editing === true && !composer.isEditing) return false;
|
445
|
-
if (props.editing === false && composer.isEditing) return false;
|
446
|
-
return true;
|
447
|
-
});
|
448
|
-
};
|
449
600
|
var ComposerIf = ({ children, ...query }) => {
|
450
601
|
const result = useComposerIf(query);
|
451
602
|
return result ? children : null;
|
452
603
|
};
|
453
604
|
|
454
605
|
// src/primitives/message/MessageIf.tsx
|
455
|
-
var useMessageIf = (props) => {
|
456
|
-
const { useMessage, useMessageUtils } = useMessageContext();
|
457
|
-
return useCombinedStore(
|
458
|
-
[useMessage, useMessageUtils],
|
459
|
-
({ message, branches, isLast }, { isCopied, isHovering }) => {
|
460
|
-
if (props.hasBranches === true && branches.length < 2) return false;
|
461
|
-
if (props.user && message.role !== "user") return false;
|
462
|
-
if (props.assistant && message.role !== "assistant") return false;
|
463
|
-
if (props.lastOrHover === true && !isHovering && !isLast) return false;
|
464
|
-
if (props.copied === true && !isCopied) return false;
|
465
|
-
if (props.copied === false && isCopied) return false;
|
466
|
-
return true;
|
467
|
-
}
|
468
|
-
);
|
469
|
-
};
|
470
606
|
var MessageIf = ({ children, ...query }) => {
|
471
607
|
const result = useMessageIf(query);
|
472
608
|
return result ? children : null;
|
@@ -515,56 +651,42 @@ var ThreadMessages = ({ components }) => {
|
|
515
651
|
});
|
516
652
|
};
|
517
653
|
|
518
|
-
// src/
|
654
|
+
// src/utils/createActionButton.tsx
|
519
655
|
import { composeEventHandlers as composeEventHandlers2 } from "@radix-ui/primitive";
|
520
656
|
import { Primitive as Primitive3 } from "@radix-ui/react-primitive";
|
521
657
|
import { forwardRef as forwardRef3 } from "react";
|
522
658
|
import { jsx as jsx6 } from "react/jsx-runtime";
|
523
|
-
var
|
524
|
-
const
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
});
|
539
|
-
|
659
|
+
var createActionButton = (displayName, useActionButton) => {
|
660
|
+
const ActionButton = forwardRef3((props, forwardedRef) => {
|
661
|
+
const callback = useActionButton(props);
|
662
|
+
return /* @__PURE__ */ jsx6(
|
663
|
+
Primitive3.button,
|
664
|
+
{
|
665
|
+
type: "button",
|
666
|
+
disabled: !callback,
|
667
|
+
...props,
|
668
|
+
ref: forwardedRef,
|
669
|
+
onClick: composeEventHandlers2(props.onClick, () => {
|
670
|
+
callback?.();
|
671
|
+
})
|
672
|
+
}
|
673
|
+
);
|
674
|
+
});
|
675
|
+
ActionButton.displayName = displayName;
|
676
|
+
return ActionButton;
|
677
|
+
};
|
678
|
+
|
679
|
+
// src/primitives/thread/ThreadScrollToBottom.tsx
|
680
|
+
var ThreadScrollToBottom = createActionButton(
|
681
|
+
"ThreadScrollToBottom",
|
682
|
+
useThreadScrollToBottom
|
683
|
+
);
|
540
684
|
|
541
685
|
// src/primitives/thread/ThreadSuggestion.tsx
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
var ThreadSuggestion = forwardRef4(({ onClick, prompt, method, autoSend: send, ...rest }, ref) => {
|
547
|
-
const { useThread, useComposer } = useThreadContext();
|
548
|
-
const isDisabled = useThread((t) => t.isRunning);
|
549
|
-
const handleApplySuggestion = () => {
|
550
|
-
const thread = useThread.getState();
|
551
|
-
const composer = useComposer.getState();
|
552
|
-
composer.setValue(prompt);
|
553
|
-
if (send && !thread.isRunning) {
|
554
|
-
composer.send();
|
555
|
-
}
|
556
|
-
};
|
557
|
-
return /* @__PURE__ */ jsx7(
|
558
|
-
Primitive4.button,
|
559
|
-
{
|
560
|
-
...rest,
|
561
|
-
disabled: isDisabled,
|
562
|
-
ref,
|
563
|
-
onClick: composeEventHandlers3(onClick, handleApplySuggestion)
|
564
|
-
}
|
565
|
-
);
|
566
|
-
});
|
567
|
-
ThreadSuggestion.displayName = "ThreadSuggestion";
|
686
|
+
var ThreadSuggestion = createActionButton(
|
687
|
+
"ThreadSuggestion",
|
688
|
+
useThreadSuggestion
|
689
|
+
);
|
568
690
|
|
569
691
|
// src/primitives/composer/index.ts
|
570
692
|
var composer_exports = {};
|
@@ -577,15 +699,15 @@ __export(composer_exports, {
|
|
577
699
|
});
|
578
700
|
|
579
701
|
// src/primitives/composer/ComposerRoot.tsx
|
580
|
-
import { composeEventHandlers as
|
702
|
+
import { composeEventHandlers as composeEventHandlers3 } from "@radix-ui/primitive";
|
581
703
|
import { useComposedRefs as useComposedRefs2 } from "@radix-ui/react-compose-refs";
|
582
|
-
import { Primitive as
|
704
|
+
import { Primitive as Primitive4 } from "@radix-ui/react-primitive";
|
583
705
|
import {
|
584
|
-
forwardRef as
|
706
|
+
forwardRef as forwardRef4,
|
585
707
|
useRef as useRef2
|
586
708
|
} from "react";
|
587
|
-
import { jsx as
|
588
|
-
var ComposerRoot =
|
709
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
710
|
+
var ComposerRoot = forwardRef4(
|
589
711
|
({ onSubmit, ...rest }, forwardedRef) => {
|
590
712
|
const { useViewport } = useThreadContext();
|
591
713
|
const { useComposer } = useComposerContext();
|
@@ -598,12 +720,12 @@ var ComposerRoot = forwardRef5(
|
|
598
720
|
composerState.send();
|
599
721
|
useViewport.getState().scrollToBottom();
|
600
722
|
};
|
601
|
-
return /* @__PURE__ */
|
602
|
-
|
723
|
+
return /* @__PURE__ */ jsx7(
|
724
|
+
Primitive4.form,
|
603
725
|
{
|
604
726
|
...rest,
|
605
727
|
ref,
|
606
|
-
onSubmit:
|
728
|
+
onSubmit: composeEventHandlers3(onSubmit, handleSubmit)
|
607
729
|
}
|
608
730
|
);
|
609
731
|
}
|
@@ -611,18 +733,18 @@ var ComposerRoot = forwardRef5(
|
|
611
733
|
ComposerRoot.displayName = "ComposerRoot";
|
612
734
|
|
613
735
|
// src/primitives/composer/ComposerInput.tsx
|
614
|
-
import { composeEventHandlers as
|
736
|
+
import { composeEventHandlers as composeEventHandlers4 } from "@radix-ui/primitive";
|
615
737
|
import { useComposedRefs as useComposedRefs3 } from "@radix-ui/react-compose-refs";
|
616
738
|
import { Slot } from "@radix-ui/react-slot";
|
617
739
|
import {
|
618
|
-
forwardRef as
|
619
|
-
useCallback as
|
740
|
+
forwardRef as forwardRef5,
|
741
|
+
useCallback as useCallback10,
|
620
742
|
useEffect as useEffect4,
|
621
743
|
useRef as useRef3
|
622
744
|
} from "react";
|
623
745
|
import TextareaAutosize from "react-textarea-autosize";
|
624
|
-
import { jsx as
|
625
|
-
var ComposerInput =
|
746
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
747
|
+
var ComposerInput = forwardRef5(
|
626
748
|
({ autoFocus = false, asChild, disabled, onChange, onKeyDown, ...rest }, forwardedRef) => {
|
627
749
|
const { useThread } = useThreadContext();
|
628
750
|
const { useComposer, type } = useComposerContext();
|
@@ -649,10 +771,9 @@ var ComposerInput = forwardRef6(
|
|
649
771
|
}
|
650
772
|
};
|
651
773
|
const autoFocusEnabled = autoFocus && !disabled;
|
652
|
-
const focus =
|
774
|
+
const focus = useCallback10(() => {
|
653
775
|
const textarea = textareaRef.current;
|
654
776
|
if (!textarea || !autoFocusEnabled) return;
|
655
|
-
console.log("focus");
|
656
777
|
textarea.focus();
|
657
778
|
textarea.setSelectionRange(
|
658
779
|
textareaRef.current.value.length,
|
@@ -665,7 +786,7 @@ var ComposerInput = forwardRef6(
|
|
665
786
|
focus();
|
666
787
|
}
|
667
788
|
});
|
668
|
-
return /* @__PURE__ */
|
789
|
+
return /* @__PURE__ */ jsx8(
|
669
790
|
Component,
|
670
791
|
{
|
671
792
|
value,
|
@@ -673,12 +794,12 @@ var ComposerInput = forwardRef6(
|
|
673
794
|
ref,
|
674
795
|
autoFocus,
|
675
796
|
disabled,
|
676
|
-
onChange:
|
797
|
+
onChange: composeEventHandlers4(onChange, (e) => {
|
677
798
|
const composerState = useComposer.getState();
|
678
799
|
if (!composerState.isEditing) return;
|
679
800
|
return composerState.setValue(e.target.value);
|
680
801
|
}),
|
681
|
-
onKeyDown:
|
802
|
+
onKeyDown: composeEventHandlers4(onKeyDown, handleKeyPress)
|
682
803
|
}
|
683
804
|
);
|
684
805
|
}
|
@@ -686,47 +807,13 @@ var ComposerInput = forwardRef6(
|
|
686
807
|
ComposerInput.displayName = "ComposerInput";
|
687
808
|
|
688
809
|
// src/primitives/composer/ComposerSend.tsx
|
689
|
-
|
690
|
-
import { forwardRef as forwardRef7 } from "react";
|
691
|
-
import { jsx as jsx10 } from "react/jsx-runtime";
|
692
|
-
var ComposerSend = forwardRef7(
|
693
|
-
({ disabled, ...rest }, ref) => {
|
694
|
-
const { useComposer } = useComposerContext();
|
695
|
-
const hasValue = useComposer((c) => c.isEditing && c.value.length > 0);
|
696
|
-
return /* @__PURE__ */ jsx10(
|
697
|
-
Primitive6.button,
|
698
|
-
{
|
699
|
-
type: "submit",
|
700
|
-
...rest,
|
701
|
-
ref,
|
702
|
-
disabled: disabled || !hasValue
|
703
|
-
}
|
704
|
-
);
|
705
|
-
}
|
706
|
-
);
|
707
|
-
ComposerSend.displayName = "ComposerSend";
|
810
|
+
var ComposerSend = createActionButton("ComposerSend", useComposerSend);
|
708
811
|
|
709
812
|
// src/primitives/composer/ComposerCancel.tsx
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
var ComposerCancel = forwardRef8(({ onClick, ...rest }, ref) => {
|
715
|
-
const { useComposer } = useComposerContext();
|
716
|
-
const handleCancel = () => {
|
717
|
-
useComposer.getState().cancel();
|
718
|
-
};
|
719
|
-
return /* @__PURE__ */ jsx11(
|
720
|
-
Primitive7.button,
|
721
|
-
{
|
722
|
-
type: "button",
|
723
|
-
...rest,
|
724
|
-
ref,
|
725
|
-
onClick: composeEventHandlers6(onClick, handleCancel)
|
726
|
-
}
|
727
|
-
);
|
728
|
-
});
|
729
|
-
ComposerCancel.displayName = "ComposerCancel";
|
813
|
+
var ComposerCancel = createActionButton(
|
814
|
+
"ComposerCancel",
|
815
|
+
useComposerCancel
|
816
|
+
);
|
730
817
|
|
731
818
|
// src/primitives/message/index.ts
|
732
819
|
var message_exports = {};
|
@@ -738,11 +825,11 @@ __export(message_exports, {
|
|
738
825
|
});
|
739
826
|
|
740
827
|
// src/primitives/message/MessageRoot.tsx
|
741
|
-
import { composeEventHandlers as
|
742
|
-
import { Primitive as
|
743
|
-
import { forwardRef as
|
744
|
-
import { jsx as
|
745
|
-
var MessageRoot =
|
828
|
+
import { composeEventHandlers as composeEventHandlers5 } from "@radix-ui/primitive";
|
829
|
+
import { Primitive as Primitive5 } from "@radix-ui/react-primitive";
|
830
|
+
import { forwardRef as forwardRef6 } from "react";
|
831
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
832
|
+
var MessageRoot = forwardRef6(
|
746
833
|
({ onMouseEnter, onMouseLeave, ...rest }, ref) => {
|
747
834
|
const { useMessageUtils } = useMessageContext();
|
748
835
|
const setIsHovering = useMessageUtils((s) => s.setIsHovering);
|
@@ -752,13 +839,13 @@ var MessageRoot = forwardRef9(
|
|
752
839
|
const handleMouseLeave = () => {
|
753
840
|
setIsHovering(false);
|
754
841
|
};
|
755
|
-
return /* @__PURE__ */
|
756
|
-
|
842
|
+
return /* @__PURE__ */ jsx9(
|
843
|
+
Primitive5.div,
|
757
844
|
{
|
758
845
|
...rest,
|
759
846
|
ref,
|
760
|
-
onMouseEnter:
|
761
|
-
onMouseLeave:
|
847
|
+
onMouseEnter: composeEventHandlers5(onMouseEnter, handleMouseEnter),
|
848
|
+
onMouseLeave: composeEventHandlers5(onMouseLeave, handleMouseLeave)
|
762
849
|
}
|
763
850
|
);
|
764
851
|
}
|
@@ -771,7 +858,7 @@ import { memo as memo2 } from "react";
|
|
771
858
|
// src/context/providers/ContentPartProvider.tsx
|
772
859
|
import { useEffect as useEffect5, useState as useState2 } from "react";
|
773
860
|
import { create as create4 } from "zustand";
|
774
|
-
import { jsx as
|
861
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
775
862
|
var syncContentPart = ({ message }, useContentPart, partIndex) => {
|
776
863
|
const part = message.content[partIndex];
|
777
864
|
if (!part) return;
|
@@ -808,65 +895,46 @@ var ContentPartProvider = ({
|
|
808
895
|
children
|
809
896
|
}) => {
|
810
897
|
const context = useContentPartContext2(partIndex);
|
811
|
-
return /* @__PURE__ */
|
898
|
+
return /* @__PURE__ */ jsx10(ContentPartContext.Provider, { value: context, children });
|
812
899
|
};
|
813
900
|
|
814
901
|
// src/primitives/contentPart/ContentPartDisplay.tsx
|
815
902
|
var ContentPartDisplay = () => {
|
816
|
-
const
|
817
|
-
const display = useContentPart((c) => {
|
818
|
-
if (c.part.type !== "ui")
|
819
|
-
throw new Error(
|
820
|
-
"ContentPartDisplay can only be used inside ui content parts."
|
821
|
-
);
|
822
|
-
return c.part.display;
|
823
|
-
});
|
903
|
+
const display = useContentPartDisplay();
|
824
904
|
return display ?? null;
|
825
905
|
};
|
826
906
|
|
827
907
|
// src/primitives/contentPart/ContentPartInProgressIndicator.tsx
|
828
908
|
var ContentPartInProgressIndicator = () => {
|
829
|
-
const
|
830
|
-
const { useContentPart } = useContentPartContext();
|
831
|
-
const indicator = useCombinedStore(
|
832
|
-
[useMessageUtils, useContentPart],
|
833
|
-
(m, c) => c.status === "in_progress" ? m.inProgressIndicator : null
|
834
|
-
);
|
909
|
+
const indicator = useContentPartInProgressIndicator();
|
835
910
|
return indicator;
|
836
911
|
};
|
837
912
|
|
838
913
|
// src/primitives/contentPart/ContentPartText.tsx
|
839
|
-
import { Primitive as
|
840
|
-
import { forwardRef as
|
841
|
-
import { jsx as
|
842
|
-
var ContentPartText =
|
843
|
-
const
|
844
|
-
|
845
|
-
if (c.part.type !== "text")
|
846
|
-
throw new Error(
|
847
|
-
"ContentPartText can only be used inside text content parts."
|
848
|
-
);
|
849
|
-
return c.part.text;
|
850
|
-
});
|
851
|
-
return /* @__PURE__ */ jsx14(Primitive9.span, { ...props, ref: forwardedRef, children: text });
|
914
|
+
import { Primitive as Primitive6 } from "@radix-ui/react-primitive";
|
915
|
+
import { forwardRef as forwardRef7 } from "react";
|
916
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
917
|
+
var ContentPartText = forwardRef7((props, forwardedRef) => {
|
918
|
+
const text = useContentPartText();
|
919
|
+
return /* @__PURE__ */ jsx11(Primitive6.span, { ...props, ref: forwardedRef, children: text });
|
852
920
|
});
|
853
921
|
ContentPartText.displayName = "ContentPartText";
|
854
922
|
|
855
923
|
// src/primitives/message/MessageContent.tsx
|
856
|
-
import { Fragment, jsx as
|
924
|
+
import { Fragment, jsx as jsx12, jsxs as jsxs3 } from "react/jsx-runtime";
|
857
925
|
var defaultComponents = {
|
858
926
|
Text: () => /* @__PURE__ */ jsxs3(Fragment, { children: [
|
859
|
-
/* @__PURE__ */
|
860
|
-
/* @__PURE__ */
|
927
|
+
/* @__PURE__ */ jsx12(ContentPartText, {}),
|
928
|
+
/* @__PURE__ */ jsx12(ContentPartInProgressIndicator, {})
|
861
929
|
] }),
|
862
930
|
Image: () => null,
|
863
|
-
UI: () => /* @__PURE__ */
|
931
|
+
UI: () => /* @__PURE__ */ jsx12(ContentPartDisplay, {}),
|
864
932
|
tools: {
|
865
933
|
Fallback: (props) => {
|
866
934
|
const { useToolUIs } = useAssistantContext();
|
867
935
|
const Render = useToolUIs((s) => s.getToolUI(props.part.toolName));
|
868
936
|
if (!Render) return null;
|
869
|
-
return /* @__PURE__ */
|
937
|
+
return /* @__PURE__ */ jsx12(Render, { ...props });
|
870
938
|
}
|
871
939
|
}
|
872
940
|
};
|
@@ -885,15 +953,15 @@ var MessageContentPartComponent = ({
|
|
885
953
|
const type = part.type;
|
886
954
|
switch (type) {
|
887
955
|
case "text":
|
888
|
-
return /* @__PURE__ */
|
956
|
+
return /* @__PURE__ */ jsx12(Text, { part, status });
|
889
957
|
case "image":
|
890
|
-
return /* @__PURE__ */
|
958
|
+
return /* @__PURE__ */ jsx12(Image, { part, status });
|
891
959
|
case "ui":
|
892
|
-
return /* @__PURE__ */
|
960
|
+
return /* @__PURE__ */ jsx12(UI, { part, status });
|
893
961
|
case "tool-call": {
|
894
962
|
const Tool = by_name[part.toolName] || Fallback;
|
895
963
|
const addResult = (result) => addToolResult(part.toolCallId, result);
|
896
|
-
return /* @__PURE__ */
|
964
|
+
return /* @__PURE__ */ jsx12(Tool, { part, status, addResult });
|
897
965
|
}
|
898
966
|
default:
|
899
967
|
throw new Error(`Unknown content part type: ${type}`);
|
@@ -903,7 +971,7 @@ var MessageContentPartImpl = ({
|
|
903
971
|
partIndex,
|
904
972
|
components
|
905
973
|
}) => {
|
906
|
-
return /* @__PURE__ */
|
974
|
+
return /* @__PURE__ */ jsx12(ContentPartProvider, { partIndex, children: /* @__PURE__ */ jsx12(MessageContentPartComponent, { components }) });
|
907
975
|
};
|
908
976
|
var MessageContentPart = memo2(
|
909
977
|
MessageContentPartImpl,
|
@@ -914,7 +982,7 @@ var MessageContent = ({ components }) => {
|
|
914
982
|
const contentLength = useMessage((s) => s.message.content.length);
|
915
983
|
return new Array(contentLength).fill(null).map((_, idx) => {
|
916
984
|
const partIndex = idx;
|
917
|
-
return /* @__PURE__ */
|
985
|
+
return /* @__PURE__ */ jsx12(
|
918
986
|
MessageContentPart,
|
919
987
|
{
|
920
988
|
partIndex,
|
@@ -926,16 +994,16 @@ var MessageContent = ({ components }) => {
|
|
926
994
|
};
|
927
995
|
|
928
996
|
// src/primitives/message/MessageInProgress.tsx
|
929
|
-
import { Primitive as
|
997
|
+
import { Primitive as Primitive7 } from "@radix-ui/react-primitive";
|
930
998
|
import {
|
931
|
-
forwardRef as
|
999
|
+
forwardRef as forwardRef8,
|
932
1000
|
useMemo as useMemo2
|
933
1001
|
} from "react";
|
934
|
-
import { jsx as
|
935
|
-
var MessageInProgress =
|
1002
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
1003
|
+
var MessageInProgress = forwardRef8((props, ref) => {
|
936
1004
|
const { useMessageUtils } = useMessageContext();
|
937
1005
|
useMemo2(() => {
|
938
|
-
useMessageUtils.getState().setInProgressIndicator(/* @__PURE__ */
|
1006
|
+
useMessageUtils.getState().setInProgressIndicator(/* @__PURE__ */ jsx13(Primitive7.span, { ...props, ref }));
|
939
1007
|
}, [useMessageUtils, props, ref]);
|
940
1008
|
return null;
|
941
1009
|
});
|
@@ -951,57 +1019,38 @@ __export(branchPicker_exports, {
|
|
951
1019
|
Root: () => BranchPickerRoot
|
952
1020
|
});
|
953
1021
|
|
954
|
-
// src/utils/createActionButton.tsx
|
955
|
-
import { composeEventHandlers as composeEventHandlers8 } from "@radix-ui/primitive";
|
956
|
-
import { Primitive as Primitive11 } from "@radix-ui/react-primitive";
|
957
|
-
import { forwardRef as forwardRef12 } from "react";
|
958
|
-
import { jsx as jsx17 } from "react/jsx-runtime";
|
959
|
-
var createActionButton = (useActionButton) => {
|
960
|
-
const ActionButton = forwardRef12((props, forwardedRef) => {
|
961
|
-
const onClick = useActionButton(props);
|
962
|
-
return /* @__PURE__ */ jsx17(
|
963
|
-
Primitive11.button,
|
964
|
-
{
|
965
|
-
type: "button",
|
966
|
-
disabled: !onClick,
|
967
|
-
...props,
|
968
|
-
ref: forwardedRef,
|
969
|
-
onClick: composeEventHandlers8(props.onClick, onClick ?? void 0)
|
970
|
-
}
|
971
|
-
);
|
972
|
-
});
|
973
|
-
ActionButton.displayName = "ActionButton";
|
974
|
-
return ActionButton;
|
975
|
-
};
|
976
|
-
|
977
1022
|
// src/primitives/branchPicker/BranchPickerNext.tsx
|
978
|
-
var BranchPickerNext = createActionButton(
|
1023
|
+
var BranchPickerNext = createActionButton(
|
1024
|
+
"BranchPickerNext",
|
1025
|
+
useBranchPickerNext
|
1026
|
+
);
|
979
1027
|
|
980
1028
|
// src/primitives/branchPicker/BranchPickerPrevious.tsx
|
981
|
-
var BranchPickerPrevious = createActionButton(
|
1029
|
+
var BranchPickerPrevious = createActionButton(
|
1030
|
+
"BranchPickerPrevious",
|
1031
|
+
useBranchPickerPrevious
|
1032
|
+
);
|
982
1033
|
|
983
1034
|
// src/primitives/branchPicker/BranchPickerCount.tsx
|
984
|
-
import { Fragment as Fragment2, jsx as
|
1035
|
+
import { Fragment as Fragment2, jsx as jsx14 } from "react/jsx-runtime";
|
985
1036
|
var BranchPickerCount = () => {
|
986
|
-
const
|
987
|
-
|
988
|
-
return /* @__PURE__ */ jsx18(Fragment2, { children: branchCount });
|
1037
|
+
const branchCount = useBranchPickerCount();
|
1038
|
+
return /* @__PURE__ */ jsx14(Fragment2, { children: branchCount });
|
989
1039
|
};
|
990
1040
|
|
991
1041
|
// src/primitives/branchPicker/BranchPickerNumber.tsx
|
992
|
-
import { Fragment as Fragment3, jsx as
|
1042
|
+
import { Fragment as Fragment3, jsx as jsx15 } from "react/jsx-runtime";
|
993
1043
|
var BranchPickerNumber = () => {
|
994
|
-
const
|
995
|
-
|
996
|
-
return /* @__PURE__ */ jsx19(Fragment3, { children: branchIdx + 1 });
|
1044
|
+
const branchNumber = useBranchPickerNumber();
|
1045
|
+
return /* @__PURE__ */ jsx15(Fragment3, { children: branchNumber });
|
997
1046
|
};
|
998
1047
|
|
999
1048
|
// src/primitives/branchPicker/BranchPickerRoot.tsx
|
1000
|
-
import { Primitive as
|
1001
|
-
import { forwardRef as
|
1002
|
-
import { jsx as
|
1003
|
-
var BranchPickerRoot =
|
1004
|
-
return /* @__PURE__ */
|
1049
|
+
import { Primitive as Primitive8 } from "@radix-ui/react-primitive";
|
1050
|
+
import { forwardRef as forwardRef9 } from "react";
|
1051
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
1052
|
+
var BranchPickerRoot = forwardRef9(({ hideWhenSingleBranch, ...rest }, ref) => {
|
1053
|
+
return /* @__PURE__ */ jsx16(MessageIf, { hasBranches: hideWhenSingleBranch ? true : void 0, children: /* @__PURE__ */ jsx16(Primitive8.div, { ...rest, ref }) });
|
1005
1054
|
});
|
1006
1055
|
BranchPickerRoot.displayName = "BranchPickerRoot";
|
1007
1056
|
|
@@ -1015,13 +1064,17 @@ __export(actionBar_exports, {
|
|
1015
1064
|
});
|
1016
1065
|
|
1017
1066
|
// src/primitives/actionBar/ActionBarRoot.tsx
|
1018
|
-
import { Primitive as
|
1019
|
-
import { forwardRef as
|
1020
|
-
import { jsx as
|
1021
|
-
var
|
1067
|
+
import { Primitive as Primitive9 } from "@radix-ui/react-primitive";
|
1068
|
+
import { forwardRef as forwardRef10 } from "react";
|
1069
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
1070
|
+
var useActionBarFloatStatus = ({
|
1071
|
+
hideWhenRunning,
|
1072
|
+
autohide,
|
1073
|
+
autohideFloat
|
1074
|
+
}) => {
|
1022
1075
|
const { useThread } = useThreadContext();
|
1023
1076
|
const { useMessage, useMessageUtils } = useMessageContext();
|
1024
|
-
|
1077
|
+
return useCombinedStore(
|
1025
1078
|
[useThread, useMessage, useMessageUtils],
|
1026
1079
|
(t, m, mu) => {
|
1027
1080
|
if (hideWhenRunning && t.isRunning) return "hidden" /* Hidden */;
|
@@ -1033,9 +1086,16 @@ var ActionBarRoot = forwardRef14(({ hideWhenRunning, autohide, autohideFloat, ..
|
|
1033
1086
|
return "normal" /* Normal */;
|
1034
1087
|
}
|
1035
1088
|
);
|
1089
|
+
};
|
1090
|
+
var ActionBarRoot = forwardRef10(({ hideWhenRunning, autohide, autohideFloat, ...rest }, ref) => {
|
1091
|
+
const hideAndfloatStatus = useActionBarFloatStatus({
|
1092
|
+
hideWhenRunning,
|
1093
|
+
autohide,
|
1094
|
+
autohideFloat
|
1095
|
+
});
|
1036
1096
|
if (hideAndfloatStatus === "hidden" /* Hidden */) return null;
|
1037
|
-
return /* @__PURE__ */
|
1038
|
-
|
1097
|
+
return /* @__PURE__ */ jsx17(
|
1098
|
+
Primitive9.div,
|
1039
1099
|
{
|
1040
1100
|
...hideAndfloatStatus === "floating" /* Floating */ ? { "data-floating": "true" } : null,
|
1041
1101
|
...rest,
|
@@ -1046,13 +1106,22 @@ var ActionBarRoot = forwardRef14(({ hideWhenRunning, autohide, autohideFloat, ..
|
|
1046
1106
|
ActionBarRoot.displayName = "ActionBarRoot";
|
1047
1107
|
|
1048
1108
|
// src/primitives/actionBar/ActionBarCopy.tsx
|
1049
|
-
var ActionBarCopy = createActionButton(
|
1109
|
+
var ActionBarCopy = createActionButton(
|
1110
|
+
"ActionBarCopy",
|
1111
|
+
useActionBarCopy
|
1112
|
+
);
|
1050
1113
|
|
1051
1114
|
// src/primitives/actionBar/ActionBarReload.tsx
|
1052
|
-
var ActionBarReload = createActionButton(
|
1115
|
+
var ActionBarReload = createActionButton(
|
1116
|
+
"ActionBarReload",
|
1117
|
+
useActionBarReload
|
1118
|
+
);
|
1053
1119
|
|
1054
1120
|
// src/primitives/actionBar/ActionBarEdit.tsx
|
1055
|
-
var ActionBarEdit = createActionButton(
|
1121
|
+
var ActionBarEdit = createActionButton(
|
1122
|
+
"ActionBarEdit",
|
1123
|
+
useActionBarEdit
|
1124
|
+
);
|
1056
1125
|
|
1057
1126
|
// src/primitives/contentPart/index.ts
|
1058
1127
|
var contentPart_exports = {};
|
@@ -1064,19 +1133,12 @@ __export(contentPart_exports, {
|
|
1064
1133
|
});
|
1065
1134
|
|
1066
1135
|
// src/primitives/contentPart/ContentPartImage.tsx
|
1067
|
-
import { Primitive as
|
1068
|
-
import { forwardRef as
|
1069
|
-
import { jsx as
|
1070
|
-
var ContentPartImage =
|
1071
|
-
const
|
1072
|
-
|
1073
|
-
if (c.part.type !== "image")
|
1074
|
-
throw new Error(
|
1075
|
-
"ContentPartImage can only be used inside image content parts."
|
1076
|
-
);
|
1077
|
-
return c.part.image;
|
1078
|
-
});
|
1079
|
-
return /* @__PURE__ */ jsx22(Primitive14.img, { src: image, ...props, ref: forwardedRef });
|
1136
|
+
import { Primitive as Primitive10 } from "@radix-ui/react-primitive";
|
1137
|
+
import { forwardRef as forwardRef11 } from "react";
|
1138
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
1139
|
+
var ContentPartImage = forwardRef11((props, forwardedRef) => {
|
1140
|
+
const image = useContentPartImage();
|
1141
|
+
return /* @__PURE__ */ jsx18(Primitive10.img, { src: image, ...props, ref: forwardedRef });
|
1080
1142
|
});
|
1081
1143
|
ContentPartImage.displayName = "ContentPartImage";
|
1082
1144
|
|
@@ -1513,7 +1575,7 @@ var makeThreadActionStore = (runtimeRef) => {
|
|
1513
1575
|
};
|
1514
1576
|
|
1515
1577
|
// src/context/providers/ThreadProvider.tsx
|
1516
|
-
import { jsx as
|
1578
|
+
import { jsx as jsx19, jsxs as jsxs4 } from "react/jsx-runtime";
|
1517
1579
|
var ThreadProvider = ({
|
1518
1580
|
children,
|
1519
1581
|
runtime
|
@@ -1549,13 +1611,13 @@ var ThreadProvider = ({
|
|
1549
1611
|
}, [context, runtime]);
|
1550
1612
|
const RuntimeSynchronizer = runtime.unstable_synchronizer;
|
1551
1613
|
return /* @__PURE__ */ jsxs4(ThreadContext.Provider, { value: context, children: [
|
1552
|
-
RuntimeSynchronizer && /* @__PURE__ */
|
1614
|
+
RuntimeSynchronizer && /* @__PURE__ */ jsx19(RuntimeSynchronizer, {}),
|
1553
1615
|
children
|
1554
1616
|
] });
|
1555
1617
|
};
|
1556
1618
|
|
1557
1619
|
// src/context/providers/AssistantProvider.tsx
|
1558
|
-
import { jsx as
|
1620
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
1559
1621
|
var AssistantProvider = ({ children, runtime }) => {
|
1560
1622
|
const runtimeRef = useRef5(runtime);
|
1561
1623
|
useInsertionEffect3(() => {
|
@@ -1570,13 +1632,13 @@ var AssistantProvider = ({ children, runtime }) => {
|
|
1570
1632
|
useEffect7(() => {
|
1571
1633
|
return runtime.registerModelConfigProvider(getModelCOnfig);
|
1572
1634
|
}, [runtime, getModelCOnfig]);
|
1573
|
-
return /* @__PURE__ */
|
1635
|
+
return /* @__PURE__ */ jsx20(AssistantContext.Provider, { value: context, children: /* @__PURE__ */ jsx20(ThreadProvider, { runtime, children }) });
|
1574
1636
|
};
|
1575
1637
|
|
1576
1638
|
// src/context/providers/AssistantRuntimeProvider.tsx
|
1577
|
-
import { jsx as
|
1639
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
1578
1640
|
var AssistantRuntimeProviderImpl = ({ children, runtime }) => {
|
1579
|
-
return /* @__PURE__ */
|
1641
|
+
return /* @__PURE__ */ jsx21(AssistantProvider, { runtime, children });
|
1580
1642
|
};
|
1581
1643
|
var AssistantRuntimeProvider = memo3(AssistantRuntimeProviderImpl);
|
1582
1644
|
|
@@ -1595,11 +1657,25 @@ export {
|
|
1595
1657
|
internal_exports as INTERNAL,
|
1596
1658
|
message_exports as MessagePrimitive,
|
1597
1659
|
thread_exports as ThreadPrimitive,
|
1598
|
-
|
1599
|
-
|
1600
|
-
|
1601
|
-
|
1660
|
+
useActionBarCopy,
|
1661
|
+
useActionBarEdit,
|
1662
|
+
useActionBarReload,
|
1663
|
+
useBranchPickerCount,
|
1664
|
+
useBranchPickerNext,
|
1665
|
+
useBranchPickerNumber,
|
1666
|
+
useBranchPickerPrevious,
|
1667
|
+
useComposerCancel,
|
1668
|
+
useComposerIf,
|
1669
|
+
useComposerSend,
|
1670
|
+
useContentPartDisplay,
|
1671
|
+
useContentPartImage,
|
1672
|
+
useContentPartInProgressIndicator,
|
1673
|
+
useContentPartText,
|
1602
1674
|
useLocalRuntime,
|
1603
|
-
|
1675
|
+
useMessageIf,
|
1676
|
+
useThreadEmpty,
|
1677
|
+
useThreadIf,
|
1678
|
+
useThreadScrollToBottom,
|
1679
|
+
useThreadSuggestion
|
1604
1680
|
};
|
1605
1681
|
//# sourceMappingURL=index.mjs.map
|