@assistant-ui/react 0.5.51 → 0.5.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +22 -6
- package/dist/index.d.ts +22 -6
- package/dist/index.js +107 -76
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +303 -272
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -373,7 +373,8 @@ var fromCoreMessages = (message) => {
|
|
373
373
|
};
|
374
374
|
var fromCoreMessage = (message, {
|
375
375
|
id = generateId(),
|
376
|
-
status = { type: "complete", reason: "unknown" }
|
376
|
+
status = { type: "complete", reason: "unknown" },
|
377
|
+
attachments = []
|
377
378
|
} = {}) => {
|
378
379
|
const commonProps = {
|
379
380
|
id,
|
@@ -401,7 +402,7 @@ var fromCoreMessage = (message, {
|
|
401
402
|
...commonProps,
|
402
403
|
role,
|
403
404
|
content: message.content,
|
404
|
-
attachments
|
405
|
+
attachments
|
405
406
|
};
|
406
407
|
case "system":
|
407
408
|
return {
|
@@ -1218,20 +1219,16 @@ var LocalThreadRuntime = class {
|
|
1218
1219
|
this.notifySubscribers();
|
1219
1220
|
}
|
1220
1221
|
async append(message) {
|
1221
|
-
|
1222
|
-
|
1223
|
-
|
1224
|
-
|
1225
|
-
|
1226
|
-
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
|
1231
|
-
createdAt: /* @__PURE__ */ new Date()
|
1232
|
-
};
|
1233
|
-
this.repository.addOrUpdateMessage(message.parentId, userMessage);
|
1234
|
-
await this.startRun(userMessageId);
|
1222
|
+
const newMessage = fromCoreMessage(message, {
|
1223
|
+
attachments: message.attachments
|
1224
|
+
});
|
1225
|
+
this.repository.addOrUpdateMessage(message.parentId, newMessage);
|
1226
|
+
if (message.role === "user") {
|
1227
|
+
await this.startRun(newMessage.id);
|
1228
|
+
} else {
|
1229
|
+
this.repository.resetHead(newMessage.id);
|
1230
|
+
this.notifySubscribers();
|
1231
|
+
}
|
1235
1232
|
}
|
1236
1233
|
async startRun(parentId) {
|
1237
1234
|
this.repository.resetHead(parentId);
|
@@ -2271,14 +2268,47 @@ var AssistantRuntimeProviderImpl = ({ children, runtime }) => {
|
|
2271
2268
|
};
|
2272
2269
|
var AssistantRuntimeProvider = memo(AssistantRuntimeProviderImpl);
|
2273
2270
|
|
2271
|
+
// src/context/providers/TextContentPartProvider.tsx
|
2272
|
+
import { useState as useState9 } from "react";
|
2273
|
+
import { create as create12 } from "zustand";
|
2274
|
+
|
2275
|
+
// src/context/react/ContentPartContext.ts
|
2276
|
+
import { createContext as createContext4, useContext as useContext4 } from "react";
|
2277
|
+
var ContentPartContext = createContext4(
|
2278
|
+
null
|
2279
|
+
);
|
2280
|
+
function useContentPartContext(options) {
|
2281
|
+
const context = useContext4(ContentPartContext);
|
2282
|
+
if (!options?.optional && !context)
|
2283
|
+
throw new Error(
|
2284
|
+
"This component can only be used inside a component passed to <MessagePrimitive.Content components={...} >."
|
2285
|
+
);
|
2286
|
+
return context;
|
2287
|
+
}
|
2288
|
+
|
2289
|
+
// src/context/providers/TextContentPartProvider.tsx
|
2290
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
2291
|
+
var TextContentPartProvider = ({ children, text }) => {
|
2292
|
+
const [context] = useState9(() => {
|
2293
|
+
const useContentPart = create12(() => ({
|
2294
|
+
status: { type: "complete" },
|
2295
|
+
part: { type: "text", text }
|
2296
|
+
}));
|
2297
|
+
return {
|
2298
|
+
useContentPart
|
2299
|
+
};
|
2300
|
+
});
|
2301
|
+
return /* @__PURE__ */ jsx9(ContentPartContext.Provider, { value: context, children });
|
2302
|
+
};
|
2303
|
+
|
2274
2304
|
// src/context/react/ComposerContext.ts
|
2275
2305
|
import { useMemo as useMemo3 } from "react";
|
2276
2306
|
|
2277
2307
|
// src/context/react/MessageContext.ts
|
2278
|
-
import { createContext as
|
2279
|
-
var MessageContext =
|
2308
|
+
import { createContext as createContext5, useContext as useContext5 } from "react";
|
2309
|
+
var MessageContext = createContext5(null);
|
2280
2310
|
function useMessageContext(options) {
|
2281
|
-
const context =
|
2311
|
+
const context = useContext5(MessageContext);
|
2282
2312
|
if (!options?.optional && !context)
|
2283
2313
|
throw new Error(
|
2284
2314
|
"This component can only be used inside a component passed to <ThreadPrimitive.Messages components={...} />."
|
@@ -2299,20 +2329,6 @@ var useComposerContext = () => {
|
|
2299
2329
|
);
|
2300
2330
|
};
|
2301
2331
|
|
2302
|
-
// src/context/react/ContentPartContext.ts
|
2303
|
-
import { createContext as createContext5, useContext as useContext5 } from "react";
|
2304
|
-
var ContentPartContext = createContext5(
|
2305
|
-
null
|
2306
|
-
);
|
2307
|
-
function useContentPartContext(options) {
|
2308
|
-
const context = useContext5(ContentPartContext);
|
2309
|
-
if (!options?.optional && !context)
|
2310
|
-
throw new Error(
|
2311
|
-
"This component can only be used inside a component passed to <MessagePrimitive.Content components={...} >."
|
2312
|
-
);
|
2313
|
-
return context;
|
2314
|
-
}
|
2315
|
-
|
2316
2332
|
// src/hooks/useAppendMessage.tsx
|
2317
2333
|
import { useCallback } from "react";
|
2318
2334
|
var toAppendMessage = (useThreadMessages, message) => {
|
@@ -2487,11 +2503,8 @@ var useActionBarCopy = ({
|
|
2487
2503
|
// src/primitive-hooks/actionBar/useActionBarEdit.tsx
|
2488
2504
|
import { useCallback as useCallback4 } from "react";
|
2489
2505
|
var useActionBarEdit = () => {
|
2490
|
-
const {
|
2491
|
-
const disabled =
|
2492
|
-
[useMessage, useEditComposer],
|
2493
|
-
(m, c) => m.message.role !== "user" || c.isEditing
|
2494
|
-
);
|
2506
|
+
const { useEditComposer } = useMessageContext();
|
2507
|
+
const disabled = useEditComposer((c) => c.isEditing);
|
2495
2508
|
const callback = useCallback4(() => {
|
2496
2509
|
const { edit } = useEditComposer.getState();
|
2497
2510
|
edit();
|
@@ -2829,7 +2842,7 @@ var useActionBarFloatStatus = ({
|
|
2829
2842
|
};
|
2830
2843
|
|
2831
2844
|
// src/primitives/actionBar/ActionBarRoot.tsx
|
2832
|
-
import { jsx as
|
2845
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
2833
2846
|
var ActionBarPrimitiveRoot = forwardRef5(({ hideWhenRunning, autohide, autohideFloat, ...rest }, ref) => {
|
2834
2847
|
const hideAndfloatStatus = useActionBarFloatStatus({
|
2835
2848
|
hideWhenRunning,
|
@@ -2837,7 +2850,7 @@ var ActionBarPrimitiveRoot = forwardRef5(({ hideWhenRunning, autohide, autohideF
|
|
2837
2850
|
autohideFloat
|
2838
2851
|
});
|
2839
2852
|
if (hideAndfloatStatus === "hidden" /* Hidden */) return null;
|
2840
|
-
return /* @__PURE__ */
|
2853
|
+
return /* @__PURE__ */ jsx10(
|
2841
2854
|
Primitive2.div,
|
2842
2855
|
{
|
2843
2856
|
...hideAndfloatStatus === "floating" /* Floating */ ? { "data-floating": "true" } : null,
|
@@ -2852,7 +2865,7 @@ ActionBarPrimitiveRoot.displayName = "ActionBarPrimitive.Root";
|
|
2852
2865
|
import { forwardRef as forwardRef6 } from "react";
|
2853
2866
|
import { Primitive as Primitive3 } from "@radix-ui/react-primitive";
|
2854
2867
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
2855
|
-
import { jsx as
|
2868
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
2856
2869
|
var createActionButton = (displayName, useActionButton, forwardProps = []) => {
|
2857
2870
|
const ActionButton = forwardRef6((props, forwardedRef) => {
|
2858
2871
|
const forwardedProps = {};
|
@@ -2865,7 +2878,7 @@ var createActionButton = (displayName, useActionButton, forwardProps = []) => {
|
|
2865
2878
|
}
|
2866
2879
|
});
|
2867
2880
|
const callback = useActionButton(forwardedProps);
|
2868
|
-
return /* @__PURE__ */
|
2881
|
+
return /* @__PURE__ */ jsx11(
|
2869
2882
|
Primitive3.button,
|
2870
2883
|
{
|
2871
2884
|
type: "button",
|
@@ -2912,7 +2925,7 @@ import { forwardRef as forwardRef7 } from "react";
|
|
2912
2925
|
import { useEscapeKeydown } from "@radix-ui/react-use-escape-keydown";
|
2913
2926
|
import { Primitive as Primitive4 } from "@radix-ui/react-primitive";
|
2914
2927
|
import { composeEventHandlers as composeEventHandlers2 } from "@radix-ui/primitive";
|
2915
|
-
import { jsx as
|
2928
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
2916
2929
|
var ActionBarPrimitiveStopSpeaking = forwardRef7((props, ref) => {
|
2917
2930
|
const callback = useActionBarStopSpeaking();
|
2918
2931
|
useEscapeKeydown((e) => {
|
@@ -2921,7 +2934,7 @@ var ActionBarPrimitiveStopSpeaking = forwardRef7((props, ref) => {
|
|
2921
2934
|
callback();
|
2922
2935
|
}
|
2923
2936
|
});
|
2924
|
-
return /* @__PURE__ */
|
2937
|
+
return /* @__PURE__ */ jsx12(
|
2925
2938
|
Primitive4.button,
|
2926
2939
|
{
|
2927
2940
|
type: "button",
|
@@ -2945,7 +2958,7 @@ __export(assistantModal_exports, {
|
|
2945
2958
|
});
|
2946
2959
|
|
2947
2960
|
// src/primitives/assistantModal/AssistantModalRoot.tsx
|
2948
|
-
import { useState as
|
2961
|
+
import { useState as useState10 } from "react";
|
2949
2962
|
import * as PopoverPrimitive2 from "@radix-ui/react-popover";
|
2950
2963
|
import { composeEventHandlers as composeEventHandlers3 } from "@radix-ui/primitive";
|
2951
2964
|
|
@@ -2967,9 +2980,9 @@ import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
2967
2980
|
var usePopoverScope = PopoverPrimitive.createPopoverScope();
|
2968
2981
|
|
2969
2982
|
// src/primitives/assistantModal/AssistantModalRoot.tsx
|
2970
|
-
import { jsx as
|
2983
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
2971
2984
|
var useAssistantModalOpenState = (defaultOpen = false) => {
|
2972
|
-
const state =
|
2985
|
+
const state = useState10(defaultOpen);
|
2973
2986
|
const [, setOpen] = state;
|
2974
2987
|
useOnComposerFocus(() => {
|
2975
2988
|
setOpen(true);
|
@@ -2985,7 +2998,7 @@ var AssistantModalPrimitiveRoot = ({
|
|
2985
2998
|
}) => {
|
2986
2999
|
const scope = usePopoverScope(__scopeAssistantModal);
|
2987
3000
|
const [modalOpen, setOpen] = useAssistantModalOpenState(defaultOpen);
|
2988
|
-
return /* @__PURE__ */
|
3001
|
+
return /* @__PURE__ */ jsx13(
|
2989
3002
|
PopoverPrimitive2.Root,
|
2990
3003
|
{
|
2991
3004
|
...scope,
|
@@ -3000,14 +3013,14 @@ AssistantModalPrimitiveRoot.displayName = "AssistantModalPrimitive.Root";
|
|
3000
3013
|
// src/primitives/assistantModal/AssistantModalTrigger.tsx
|
3001
3014
|
import { forwardRef as forwardRef8 } from "react";
|
3002
3015
|
import * as PopoverPrimitive3 from "@radix-ui/react-popover";
|
3003
|
-
import { jsx as
|
3016
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
3004
3017
|
var AssistantModalPrimitiveTrigger = forwardRef8(
|
3005
3018
|
({
|
3006
3019
|
__scopeAssistantModal,
|
3007
3020
|
...rest
|
3008
3021
|
}, ref) => {
|
3009
3022
|
const scope = usePopoverScope(__scopeAssistantModal);
|
3010
|
-
return /* @__PURE__ */
|
3023
|
+
return /* @__PURE__ */ jsx14(PopoverPrimitive3.Trigger, { ...scope, ...rest, ref });
|
3011
3024
|
}
|
3012
3025
|
);
|
3013
3026
|
AssistantModalPrimitiveTrigger.displayName = "AssistantModalPrimitive.Trigger";
|
@@ -3016,7 +3029,7 @@ AssistantModalPrimitiveTrigger.displayName = "AssistantModalPrimitive.Trigger";
|
|
3016
3029
|
import { forwardRef as forwardRef9 } from "react";
|
3017
3030
|
import * as PopoverPrimitive4 from "@radix-ui/react-popover";
|
3018
3031
|
import { composeEventHandlers as composeEventHandlers4 } from "@radix-ui/primitive";
|
3019
|
-
import { jsx as
|
3032
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
3020
3033
|
var AssistantModalPrimitiveContent = forwardRef9(
|
3021
3034
|
({
|
3022
3035
|
__scopeAssistantModal,
|
@@ -3027,7 +3040,7 @@ var AssistantModalPrimitiveContent = forwardRef9(
|
|
3027
3040
|
...props
|
3028
3041
|
}, forwardedRef) => {
|
3029
3042
|
const scope = usePopoverScope(__scopeAssistantModal);
|
3030
|
-
return /* @__PURE__ */
|
3043
|
+
return /* @__PURE__ */ jsx15(PopoverPrimitive4.Portal, { ...scope, children: /* @__PURE__ */ jsx15(
|
3031
3044
|
PopoverPrimitive4.Content,
|
3032
3045
|
{
|
3033
3046
|
...scope,
|
@@ -3048,14 +3061,14 @@ AssistantModalPrimitiveContent.displayName = "AssistantModalPrimitive.Content";
|
|
3048
3061
|
// src/primitives/assistantModal/AssistantModalAnchor.tsx
|
3049
3062
|
import { forwardRef as forwardRef10 } from "react";
|
3050
3063
|
import * as PopoverPrimitive5 from "@radix-ui/react-popover";
|
3051
|
-
import { jsx as
|
3064
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
3052
3065
|
var AssistantModalPrimitiveAnchor = forwardRef10(
|
3053
3066
|
({
|
3054
3067
|
__scopeAssistantModal,
|
3055
3068
|
...rest
|
3056
3069
|
}, ref) => {
|
3057
3070
|
const scope = usePopoverScope(__scopeAssistantModal);
|
3058
|
-
return /* @__PURE__ */
|
3071
|
+
return /* @__PURE__ */ jsx16(PopoverPrimitive5.Anchor, { ...scope, ...rest, ref });
|
3059
3072
|
}
|
3060
3073
|
);
|
3061
3074
|
AssistantModalPrimitiveAnchor.displayName = "AssistantModalPrimitive.Anchor";
|
@@ -3083,18 +3096,18 @@ var BranchPickerPrevious = createActionButton(
|
|
3083
3096
|
);
|
3084
3097
|
|
3085
3098
|
// src/primitives/branchPicker/BranchPickerCount.tsx
|
3086
|
-
import { Fragment, jsx as
|
3099
|
+
import { Fragment, jsx as jsx17 } from "react/jsx-runtime";
|
3087
3100
|
var BranchPickerPrimitiveCount = () => {
|
3088
3101
|
const branchCount = useBranchPickerCount();
|
3089
|
-
return /* @__PURE__ */
|
3102
|
+
return /* @__PURE__ */ jsx17(Fragment, { children: branchCount });
|
3090
3103
|
};
|
3091
3104
|
BranchPickerPrimitiveCount.displayName = "BranchPickerPrimitive.Count";
|
3092
3105
|
|
3093
3106
|
// src/primitives/branchPicker/BranchPickerNumber.tsx
|
3094
|
-
import { Fragment as Fragment2, jsx as
|
3107
|
+
import { Fragment as Fragment2, jsx as jsx18 } from "react/jsx-runtime";
|
3095
3108
|
var BranchPickerPrimitiveNumber = () => {
|
3096
3109
|
const branchNumber = useBranchPickerNumber();
|
3097
|
-
return /* @__PURE__ */
|
3110
|
+
return /* @__PURE__ */ jsx18(Fragment2, { children: branchNumber });
|
3098
3111
|
};
|
3099
3112
|
BranchPickerPrimitiveNumber.displayName = "BranchPickerPrimitive.Number";
|
3100
3113
|
|
@@ -3139,7 +3152,7 @@ var useManagedRef = (callback) => {
|
|
3139
3152
|
|
3140
3153
|
// src/primitives/message/MessageRoot.tsx
|
3141
3154
|
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
3142
|
-
import { jsx as
|
3155
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
3143
3156
|
var useIsHoveringRef = () => {
|
3144
3157
|
const { useMessageUtils } = useMessageContext();
|
3145
3158
|
const callbackRef = useCallback16(
|
@@ -3166,7 +3179,7 @@ var useIsHoveringRef = () => {
|
|
3166
3179
|
var MessagePrimitiveRoot = forwardRef11(({ onMouseEnter, onMouseLeave, ...rest }, forwardRef30) => {
|
3167
3180
|
const isHoveringRef = useIsHoveringRef();
|
3168
3181
|
const ref = useComposedRefs(forwardRef30, isHoveringRef);
|
3169
|
-
return /* @__PURE__ */
|
3182
|
+
return /* @__PURE__ */ jsx19(Primitive5.div, { ...rest, ref });
|
3170
3183
|
});
|
3171
3184
|
MessagePrimitiveRoot.displayName = "MessagePrimitive.Root";
|
3172
3185
|
|
@@ -3184,9 +3197,9 @@ MessagePrimitiveIf.displayName = "MessagePrimitive.If";
|
|
3184
3197
|
import { memo as memo2 } from "react";
|
3185
3198
|
|
3186
3199
|
// src/context/providers/ContentPartProvider.tsx
|
3187
|
-
import { useEffect as useEffect9, useState as
|
3188
|
-
import { create as
|
3189
|
-
import { jsx as
|
3200
|
+
import { useEffect as useEffect9, useState as useState11 } from "react";
|
3201
|
+
import { create as create13 } from "zustand";
|
3202
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
3190
3203
|
var COMPLETE_STATUS = {
|
3191
3204
|
type: "complete"
|
3192
3205
|
};
|
@@ -3214,6 +3227,8 @@ var getContentPartState = ({ message }, useContentPart, partIndex) => {
|
|
3214
3227
|
} else {
|
3215
3228
|
return null;
|
3216
3229
|
}
|
3230
|
+
} else if (message.content.length === 1 && part.type === "text" && part.text.length === 0) {
|
3231
|
+
part = EMPTY_CONTENT;
|
3217
3232
|
}
|
3218
3233
|
const status = toContentPartStatus(message, partIndex, part);
|
3219
3234
|
const currentState = useContentPart?.getState();
|
@@ -3223,8 +3238,8 @@ var getContentPartState = ({ message }, useContentPart, partIndex) => {
|
|
3223
3238
|
};
|
3224
3239
|
var useContentPartContext2 = (partIndex) => {
|
3225
3240
|
const { useMessage } = useMessageContext();
|
3226
|
-
const [context] =
|
3227
|
-
const useContentPart =
|
3241
|
+
const [context] = useState11(() => {
|
3242
|
+
const useContentPart = create13(
|
3228
3243
|
() => getContentPartState(useMessage.getState(), void 0, partIndex)
|
3229
3244
|
);
|
3230
3245
|
return { useContentPart };
|
@@ -3249,32 +3264,32 @@ var ContentPartProvider = ({
|
|
3249
3264
|
children
|
3250
3265
|
}) => {
|
3251
3266
|
const context = useContentPartContext2(partIndex);
|
3252
|
-
return /* @__PURE__ */
|
3267
|
+
return /* @__PURE__ */ jsx20(ContentPartContext.Provider, { value: context, children });
|
3253
3268
|
};
|
3254
3269
|
|
3255
3270
|
// src/primitives/contentPart/ContentPartText.tsx
|
3256
3271
|
import {
|
3257
3272
|
forwardRef as forwardRef12
|
3258
3273
|
} from "react";
|
3259
|
-
import { jsx as
|
3274
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
3260
3275
|
var ContentPartPrimitiveText = forwardRef12(({ smooth = true, component: Component = "span", ...rest }, forwardedRef) => {
|
3261
3276
|
const {
|
3262
3277
|
part: { text },
|
3263
3278
|
status
|
3264
3279
|
} = useSmooth(useContentPartText(), smooth);
|
3265
|
-
return /* @__PURE__ */
|
3280
|
+
return /* @__PURE__ */ jsx21(Component, { "data-status": status.type, ...rest, ref: forwardedRef, children: text });
|
3266
3281
|
});
|
3267
3282
|
ContentPartPrimitiveText.displayName = "ContentPartPrimitive.Text";
|
3268
3283
|
|
3269
3284
|
// src/primitives/contentPart/ContentPartImage.tsx
|
3270
3285
|
import { Primitive as Primitive6 } from "@radix-ui/react-primitive";
|
3271
3286
|
import { forwardRef as forwardRef13 } from "react";
|
3272
|
-
import { jsx as
|
3287
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
3273
3288
|
var ContentPartPrimitiveImage = forwardRef13((props, forwardedRef) => {
|
3274
3289
|
const {
|
3275
3290
|
part: { image }
|
3276
3291
|
} = useContentPartImage();
|
3277
|
-
return /* @__PURE__ */
|
3292
|
+
return /* @__PURE__ */ jsx22(Primitive6.img, { src: image, ...props, ref: forwardedRef });
|
3278
3293
|
});
|
3279
3294
|
ContentPartPrimitiveImage.displayName = "ContentPartPrimitive.Image";
|
3280
3295
|
|
@@ -3296,7 +3311,7 @@ var ContentPartPrimitiveInProgress = ({ children }) => {
|
|
3296
3311
|
ContentPartPrimitiveInProgress.displayName = "ContentPartPrimitive.InProgress";
|
3297
3312
|
|
3298
3313
|
// src/primitives/message/MessageContent.tsx
|
3299
|
-
import { jsx as
|
3314
|
+
import { jsx as jsx23, jsxs as jsxs3 } from "react/jsx-runtime";
|
3300
3315
|
var ToolUIDisplay = ({
|
3301
3316
|
UI,
|
3302
3317
|
...props
|
@@ -3304,20 +3319,20 @@ var ToolUIDisplay = ({
|
|
3304
3319
|
const { useToolUIs } = useAssistantContext();
|
3305
3320
|
const Render = useToolUIs((s) => s.getToolUI(props.part.toolName)) ?? UI;
|
3306
3321
|
if (!Render) return null;
|
3307
|
-
return /* @__PURE__ */
|
3322
|
+
return /* @__PURE__ */ jsx23(Render, { ...props });
|
3308
3323
|
};
|
3309
3324
|
var defaultComponents = {
|
3310
3325
|
Text: () => /* @__PURE__ */ jsxs3("p", { style: { whiteSpace: "pre-line" }, children: [
|
3311
|
-
/* @__PURE__ */
|
3312
|
-
/* @__PURE__ */
|
3326
|
+
/* @__PURE__ */ jsx23(ContentPartPrimitiveText, {}),
|
3327
|
+
/* @__PURE__ */ jsx23(ContentPartPrimitiveInProgress, { children: /* @__PURE__ */ jsx23("span", { style: { fontFamily: "revert" }, children: " \u25CF" }) })
|
3313
3328
|
] }),
|
3314
|
-
Image: () => /* @__PURE__ */
|
3315
|
-
UI: () => /* @__PURE__ */
|
3329
|
+
Image: () => /* @__PURE__ */ jsx23(ContentPartPrimitiveImage, {}),
|
3330
|
+
UI: () => /* @__PURE__ */ jsx23(ContentPartPrimitiveDisplay, {})
|
3316
3331
|
};
|
3317
3332
|
var MessageContentPartComponent = ({
|
3318
3333
|
components: {
|
3319
|
-
Empty = defaultComponents.Text,
|
3320
3334
|
Text: Text2 = defaultComponents.Text,
|
3335
|
+
Empty,
|
3321
3336
|
Image: Image2 = defaultComponents.Image,
|
3322
3337
|
UI = defaultComponents.UI,
|
3323
3338
|
tools: { by_name = {}, Fallback: Fallback2 = void 0 } = {}
|
@@ -3333,16 +3348,18 @@ var MessageContentPartComponent = ({
|
|
3333
3348
|
case "text":
|
3334
3349
|
if (status.type === "requires-action")
|
3335
3350
|
throw new Error("Encountered unexpected requires-action status");
|
3336
|
-
if (part === EMPTY_CONTENT
|
3337
|
-
|
3351
|
+
if (part === EMPTY_CONTENT && !!Empty) {
|
3352
|
+
return /* @__PURE__ */ jsx23(Empty, { status });
|
3353
|
+
}
|
3354
|
+
return /* @__PURE__ */ jsx23(Text2, { part, status });
|
3338
3355
|
case "image":
|
3339
3356
|
if (status.type === "requires-action")
|
3340
3357
|
throw new Error("Encountered unexpected requires-action status");
|
3341
|
-
return /* @__PURE__ */
|
3358
|
+
return /* @__PURE__ */ jsx23(Image2, { part, status });
|
3342
3359
|
case "ui":
|
3343
3360
|
if (status.type === "requires-action")
|
3344
3361
|
throw new Error("Encountered unexpected requires-action status");
|
3345
|
-
return /* @__PURE__ */
|
3362
|
+
return /* @__PURE__ */ jsx23(UI, { part, status });
|
3346
3363
|
case "tool-call": {
|
3347
3364
|
const Tool = by_name[part.toolName] || Fallback2;
|
3348
3365
|
const addResult = (result) => addToolResult({
|
@@ -3351,7 +3368,7 @@ var MessageContentPartComponent = ({
|
|
3351
3368
|
toolCallId: part.toolCallId,
|
3352
3369
|
result
|
3353
3370
|
});
|
3354
|
-
return /* @__PURE__ */
|
3371
|
+
return /* @__PURE__ */ jsx23(
|
3355
3372
|
ToolUIDisplay,
|
3356
3373
|
{
|
3357
3374
|
UI: Tool,
|
@@ -3370,7 +3387,7 @@ var MessageContentPartImpl = ({
|
|
3370
3387
|
partIndex,
|
3371
3388
|
components
|
3372
3389
|
}) => {
|
3373
|
-
return /* @__PURE__ */
|
3390
|
+
return /* @__PURE__ */ jsx23(ContentPartProvider, { partIndex, children: /* @__PURE__ */ jsx23(MessageContentPartComponent, { components }) });
|
3374
3391
|
};
|
3375
3392
|
var MessageContentPart = memo2(
|
3376
3393
|
MessageContentPartImpl,
|
@@ -3381,7 +3398,7 @@ var MessagePrimitiveContent = ({
|
|
3381
3398
|
}) => {
|
3382
3399
|
const { useMessage } = useMessageContext();
|
3383
3400
|
const contentLength = useMessage((s) => s.message.content.length) || 1;
|
3384
|
-
return Array.from({ length: contentLength }, (_, index) => /* @__PURE__ */
|
3401
|
+
return Array.from({ length: contentLength }, (_, index) => /* @__PURE__ */ jsx23(MessageContentPart, { partIndex: index, components }, index));
|
3385
3402
|
};
|
3386
3403
|
MessagePrimitiveContent.displayName = "MessagePrimitive.Content";
|
3387
3404
|
|
@@ -3417,9 +3434,9 @@ function useAttachmentContext(options) {
|
|
3417
3434
|
}
|
3418
3435
|
|
3419
3436
|
// src/context/providers/MessageAttachmentProvider.tsx
|
3420
|
-
import { useEffect as useEffect10, useState as
|
3421
|
-
import { create as
|
3422
|
-
import { jsx as
|
3437
|
+
import { useEffect as useEffect10, useState as useState12 } from "react";
|
3438
|
+
import { create as create14 } from "zustand";
|
3439
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
3423
3440
|
var getAttachment = ({ message }, useAttachment, partIndex) => {
|
3424
3441
|
if (message.role !== "user") return null;
|
3425
3442
|
const attachments = message.attachments;
|
@@ -3431,9 +3448,9 @@ var getAttachment = ({ message }, useAttachment, partIndex) => {
|
|
3431
3448
|
};
|
3432
3449
|
var useMessageAttachmentContext = (partIndex) => {
|
3433
3450
|
const { useMessage } = useMessageContext();
|
3434
|
-
const [context] =
|
3451
|
+
const [context] = useState12(
|
3435
3452
|
() => {
|
3436
|
-
const useAttachment =
|
3453
|
+
const useAttachment = create14(
|
3437
3454
|
() => getAttachment(useMessage.getState(), void 0, partIndex)
|
3438
3455
|
);
|
3439
3456
|
return { type: "message", useAttachment };
|
@@ -3459,11 +3476,11 @@ var MessageAttachmentProvider = ({
|
|
3459
3476
|
children
|
3460
3477
|
}) => {
|
3461
3478
|
const context = useMessageAttachmentContext(partIndex);
|
3462
|
-
return /* @__PURE__ */
|
3479
|
+
return /* @__PURE__ */ jsx24(AttachmentContext.Provider, { value: context, children });
|
3463
3480
|
};
|
3464
3481
|
|
3465
3482
|
// src/primitives/message/MessageAttachments.tsx
|
3466
|
-
import { jsx as
|
3483
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
3467
3484
|
var getComponent = (components, attachment) => {
|
3468
3485
|
const type = attachment.type;
|
3469
3486
|
switch (type) {
|
@@ -3484,10 +3501,10 @@ var AttachmentComponent = ({ components }) => {
|
|
3484
3501
|
(a) => getComponent(components, a.attachment)
|
3485
3502
|
);
|
3486
3503
|
if (!Component) return null;
|
3487
|
-
return /* @__PURE__ */
|
3504
|
+
return /* @__PURE__ */ jsx25(Component, {});
|
3488
3505
|
};
|
3489
3506
|
var MessageAttachmentImpl = ({ components, attachmentIndex }) => {
|
3490
|
-
return /* @__PURE__ */
|
3507
|
+
return /* @__PURE__ */ jsx25(MessageAttachmentProvider, { attachmentIndex, children: /* @__PURE__ */ jsx25(AttachmentComponent, { components }) });
|
3491
3508
|
};
|
3492
3509
|
var MessageAttachment = memo3(
|
3493
3510
|
MessageAttachmentImpl,
|
@@ -3499,7 +3516,7 @@ var MessagePrimitiveAttachments = ({ components }) => {
|
|
3499
3516
|
if (message.role !== "user") return 0;
|
3500
3517
|
return message.attachments.length;
|
3501
3518
|
});
|
3502
|
-
return Array.from({ length: attachmentsCount }, (_, index) => /* @__PURE__ */
|
3519
|
+
return Array.from({ length: attachmentsCount }, (_, index) => /* @__PURE__ */ jsx25(
|
3503
3520
|
MessageAttachment,
|
3504
3521
|
{
|
3505
3522
|
attachmentIndex: index,
|
@@ -3511,9 +3528,9 @@ var MessagePrimitiveAttachments = ({ components }) => {
|
|
3511
3528
|
MessagePrimitiveAttachments.displayName = "MessagePrimitive.Attachments";
|
3512
3529
|
|
3513
3530
|
// src/primitives/branchPicker/BranchPickerRoot.tsx
|
3514
|
-
import { jsx as
|
3531
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
3515
3532
|
var BranchPickerPrimitiveRoot = forwardRef14(({ hideWhenSingleBranch, ...rest }, ref) => {
|
3516
|
-
return /* @__PURE__ */
|
3533
|
+
return /* @__PURE__ */ jsx26(MessagePrimitiveIf, { hasBranches: hideWhenSingleBranch ? true : void 0, children: /* @__PURE__ */ jsx26(Primitive7.div, { ...rest, ref }) });
|
3517
3534
|
});
|
3518
3535
|
BranchPickerPrimitiveRoot.displayName = "BranchPickerPrimitive.Root";
|
3519
3536
|
|
@@ -3535,7 +3552,7 @@ import { Primitive as Primitive8 } from "@radix-ui/react-primitive";
|
|
3535
3552
|
import {
|
3536
3553
|
forwardRef as forwardRef15
|
3537
3554
|
} from "react";
|
3538
|
-
import { jsx as
|
3555
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
3539
3556
|
var ComposerPrimitiveRoot = forwardRef15(({ onSubmit, ...rest }, forwardedRef) => {
|
3540
3557
|
const send = useComposerSend();
|
3541
3558
|
const handleSubmit = (e) => {
|
@@ -3543,7 +3560,7 @@ var ComposerPrimitiveRoot = forwardRef15(({ onSubmit, ...rest }, forwardedRef) =
|
|
3543
3560
|
if (!send) return;
|
3544
3561
|
send();
|
3545
3562
|
};
|
3546
|
-
return /* @__PURE__ */
|
3563
|
+
return /* @__PURE__ */ jsx27(
|
3547
3564
|
Primitive8.form,
|
3548
3565
|
{
|
3549
3566
|
...rest,
|
@@ -3566,7 +3583,7 @@ import {
|
|
3566
3583
|
} from "react";
|
3567
3584
|
import TextareaAutosize from "react-textarea-autosize";
|
3568
3585
|
import { useEscapeKeydown as useEscapeKeydown2 } from "@radix-ui/react-use-escape-keydown";
|
3569
|
-
import { jsx as
|
3586
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
3570
3587
|
var ComposerPrimitiveInput = forwardRef16(
|
3571
3588
|
({
|
3572
3589
|
autoFocus = false,
|
@@ -3620,7 +3637,7 @@ var ComposerPrimitiveInput = forwardRef16(
|
|
3620
3637
|
focus();
|
3621
3638
|
}
|
3622
3639
|
});
|
3623
|
-
return /* @__PURE__ */
|
3640
|
+
return /* @__PURE__ */ jsx28(
|
3624
3641
|
Component,
|
3625
3642
|
{
|
3626
3643
|
name: "input",
|
@@ -3662,9 +3679,9 @@ var ComposerPrimitiveAddAttachment = createActionButton(
|
|
3662
3679
|
import { memo as memo4 } from "react";
|
3663
3680
|
|
3664
3681
|
// src/context/providers/ComposerAttachmentProvider.tsx
|
3665
|
-
import { useEffect as useEffect12, useState as
|
3666
|
-
import { create as
|
3667
|
-
import { jsx as
|
3682
|
+
import { useEffect as useEffect12, useState as useState13 } from "react";
|
3683
|
+
import { create as create15 } from "zustand";
|
3684
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
3668
3685
|
var getAttachment2 = ({ attachments }, useAttachment, partIndex) => {
|
3669
3686
|
let attachment = attachments[partIndex];
|
3670
3687
|
if (!attachment) return null;
|
@@ -3674,9 +3691,9 @@ var getAttachment2 = ({ attachments }, useAttachment, partIndex) => {
|
|
3674
3691
|
};
|
3675
3692
|
var useComposerAttachmentContext = (partIndex) => {
|
3676
3693
|
const { useComposer } = useThreadContext();
|
3677
|
-
const [context] =
|
3694
|
+
const [context] = useState13(
|
3678
3695
|
() => {
|
3679
|
-
const useAttachment =
|
3696
|
+
const useAttachment = create15(
|
3680
3697
|
() => getAttachment2(useComposer.getState(), void 0, partIndex)
|
3681
3698
|
);
|
3682
3699
|
return { type: "composer", useAttachment };
|
@@ -3699,11 +3716,11 @@ var useComposerAttachmentContext = (partIndex) => {
|
|
3699
3716
|
};
|
3700
3717
|
var ComposerAttachmentProvider = ({ attachmentIndex: partIndex, children }) => {
|
3701
3718
|
const context = useComposerAttachmentContext(partIndex);
|
3702
|
-
return /* @__PURE__ */
|
3719
|
+
return /* @__PURE__ */ jsx29(AttachmentContext.Provider, { value: context, children });
|
3703
3720
|
};
|
3704
3721
|
|
3705
3722
|
// src/primitives/composer/ComposerAttachments.tsx
|
3706
|
-
import { jsx as
|
3723
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
3707
3724
|
var getComponent2 = (components, attachment) => {
|
3708
3725
|
const type = attachment.type;
|
3709
3726
|
switch (type) {
|
@@ -3724,10 +3741,10 @@ var AttachmentComponent2 = ({ components }) => {
|
|
3724
3741
|
(a) => getComponent2(components, a.attachment)
|
3725
3742
|
);
|
3726
3743
|
if (!Component) return null;
|
3727
|
-
return /* @__PURE__ */
|
3744
|
+
return /* @__PURE__ */ jsx30(Component, {});
|
3728
3745
|
};
|
3729
3746
|
var ComposerAttachmentImpl = ({ components, attachmentIndex }) => {
|
3730
|
-
return /* @__PURE__ */
|
3747
|
+
return /* @__PURE__ */ jsx30(ComposerAttachmentProvider, { attachmentIndex, children: /* @__PURE__ */ jsx30(AttachmentComponent2, { components }) });
|
3731
3748
|
};
|
3732
3749
|
var ComposerAttachment = memo4(
|
3733
3750
|
ComposerAttachmentImpl,
|
@@ -3736,7 +3753,7 @@ var ComposerAttachment = memo4(
|
|
3736
3753
|
var ComposerPrimitiveAttachments = ({ components }) => {
|
3737
3754
|
const { useComposer } = useThreadContext();
|
3738
3755
|
const attachmentsCount = useComposer((s) => s.attachments.length);
|
3739
|
-
return Array.from({ length: attachmentsCount }, (_, index) => /* @__PURE__ */
|
3756
|
+
return Array.from({ length: attachmentsCount }, (_, index) => /* @__PURE__ */ jsx30(
|
3740
3757
|
ComposerAttachment,
|
3741
3758
|
{
|
3742
3759
|
attachmentIndex: index,
|
@@ -3781,9 +3798,9 @@ __export(thread_exports, {
|
|
3781
3798
|
// src/primitives/thread/ThreadRoot.tsx
|
3782
3799
|
import { Primitive as Primitive9 } from "@radix-ui/react-primitive";
|
3783
3800
|
import { forwardRef as forwardRef17 } from "react";
|
3784
|
-
import { jsx as
|
3801
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
3785
3802
|
var ThreadPrimitiveRoot = forwardRef17((props, ref) => {
|
3786
|
-
return /* @__PURE__ */
|
3803
|
+
return /* @__PURE__ */ jsx31(Primitive9.div, { ...props, ref });
|
3787
3804
|
});
|
3788
3805
|
ThreadPrimitiveRoot.displayName = "ThreadPrimitive.Root";
|
3789
3806
|
|
@@ -3918,13 +3935,13 @@ var useThreadViewportAutoScroll = ({
|
|
3918
3935
|
};
|
3919
3936
|
|
3920
3937
|
// src/primitives/thread/ThreadViewport.tsx
|
3921
|
-
import { jsx as
|
3938
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
3922
3939
|
var ThreadPrimitiveViewport = forwardRef18(({ autoScroll, onScroll, children, ...rest }, forwardedRef) => {
|
3923
3940
|
const autoScrollRef = useThreadViewportAutoScroll({
|
3924
3941
|
autoScroll
|
3925
3942
|
});
|
3926
3943
|
const ref = useComposedRefs4(forwardedRef, autoScrollRef);
|
3927
|
-
return /* @__PURE__ */
|
3944
|
+
return /* @__PURE__ */ jsx32(Primitive10.div, { ...rest, ref, children });
|
3928
3945
|
});
|
3929
3946
|
ThreadPrimitiveViewport.displayName = "ThreadPrimitive.Viewport";
|
3930
3947
|
|
@@ -3932,15 +3949,15 @@ ThreadPrimitiveViewport.displayName = "ThreadPrimitive.Viewport";
|
|
3932
3949
|
import { memo as memo5 } from "react";
|
3933
3950
|
|
3934
3951
|
// src/context/providers/MessageProvider.tsx
|
3935
|
-
import { useEffect as useEffect14, useState as
|
3936
|
-
import { create as
|
3952
|
+
import { useEffect as useEffect14, useState as useState14 } from "react";
|
3953
|
+
import { create as create18 } from "zustand";
|
3937
3954
|
|
3938
3955
|
// src/context/stores/EditComposer.ts
|
3939
|
-
import { create as
|
3956
|
+
import { create as create16 } from "zustand";
|
3940
3957
|
var makeEditComposerStore = ({
|
3941
3958
|
onEdit,
|
3942
3959
|
onSend
|
3943
|
-
}) =>
|
3960
|
+
}) => create16()((set, get) => ({
|
3944
3961
|
get value() {
|
3945
3962
|
return get().text;
|
3946
3963
|
},
|
@@ -3974,8 +3991,8 @@ var makeEditComposerStore = ({
|
|
3974
3991
|
}));
|
3975
3992
|
|
3976
3993
|
// src/context/stores/MessageUtils.ts
|
3977
|
-
import { create as
|
3978
|
-
var makeMessageUtilsStore = () =>
|
3994
|
+
import { create as create17 } from "zustand";
|
3995
|
+
var makeMessageUtilsStore = () => create17((set) => {
|
3979
3996
|
let utterance = null;
|
3980
3997
|
return {
|
3981
3998
|
isCopied: false,
|
@@ -4001,7 +4018,7 @@ var makeMessageUtilsStore = () => create16((set) => {
|
|
4001
4018
|
});
|
4002
4019
|
|
4003
4020
|
// src/context/providers/MessageProvider.tsx
|
4004
|
-
import { jsx as
|
4021
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
4005
4022
|
var getIsLast = (messages, message) => {
|
4006
4023
|
return messages[messages.length - 1]?.id === message.id;
|
4007
4024
|
};
|
@@ -4023,8 +4040,8 @@ var getMessageState = (messages, getBranches, useMessage, messageIndex) => {
|
|
4023
4040
|
};
|
4024
4041
|
var useMessageContext2 = (messageIndex) => {
|
4025
4042
|
const { useThreadMessages, useThreadActions } = useThreadContext();
|
4026
|
-
const [context] =
|
4027
|
-
const useMessage =
|
4043
|
+
const [context] = useState14(() => {
|
4044
|
+
const useMessage = create18(
|
4028
4045
|
() => getMessageState(
|
4029
4046
|
useThreadMessages.getState(),
|
4030
4047
|
useThreadActions.getState().getBranches,
|
@@ -4036,19 +4053,11 @@ var useMessageContext2 = (messageIndex) => {
|
|
4036
4053
|
const useEditComposer = makeEditComposerStore({
|
4037
4054
|
onEdit: () => {
|
4038
4055
|
const message = useMessage.getState().message;
|
4039
|
-
if (message.role !== "user")
|
4040
|
-
throw new Error(
|
4041
|
-
"Tried to edit a non-user message. Editing is only supported for user messages. This is likely an internal bug in assistant-ui."
|
4042
|
-
);
|
4043
4056
|
const text = getThreadMessageText(message);
|
4044
4057
|
return text;
|
4045
4058
|
},
|
4046
4059
|
onSend: (text) => {
|
4047
4060
|
const { message, parentId } = useMessage.getState();
|
4048
|
-
if (message.role !== "user")
|
4049
|
-
throw new Error(
|
4050
|
-
"Tried to edit a non-user message. Editing is only supported for user messages. This is likely an internal bug in assistant-ui."
|
4051
|
-
);
|
4052
4061
|
const previousText = getThreadMessageText(message);
|
4053
4062
|
if (previousText === text) return;
|
4054
4063
|
const nonTextParts = message.content.filter(
|
@@ -4056,7 +4065,7 @@ var useMessageContext2 = (messageIndex) => {
|
|
4056
4065
|
);
|
4057
4066
|
useThreadActions.getState().append({
|
4058
4067
|
parentId,
|
4059
|
-
role:
|
4068
|
+
role: message.role,
|
4060
4069
|
content: [{ type: "text", text }, ...nonTextParts],
|
4061
4070
|
attachments: message.attachments
|
4062
4071
|
});
|
@@ -4085,37 +4094,58 @@ var MessageProvider = ({
|
|
4085
4094
|
children
|
4086
4095
|
}) => {
|
4087
4096
|
const context = useMessageContext2(messageIndex);
|
4088
|
-
return /* @__PURE__ */
|
4097
|
+
return /* @__PURE__ */ jsx33(MessageContext.Provider, { value: context, children });
|
4089
4098
|
};
|
4090
4099
|
|
4091
4100
|
// src/primitives/thread/ThreadMessages.tsx
|
4092
|
-
import { jsx as
|
4101
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
4102
|
+
var isComponentsSame = (prev, next) => {
|
4103
|
+
return prev.Message === next.Message && prev.EditComposer === next.EditComposer && prev.UserEditComposer === next.UserEditComposer && prev.AssistantEditComposer === next.AssistantEditComposer && prev.SystemEditComposer === next.SystemEditComposer && prev.UserMessage === next.UserMessage && prev.AssistantMessage === next.AssistantMessage && prev.SystemMessage === next.SystemMessage;
|
4104
|
+
};
|
4093
4105
|
var DEFAULT_SYSTEM_MESSAGE = () => null;
|
4094
|
-
var
|
4095
|
-
|
4096
|
-
|
4097
|
-
|
4098
|
-
|
4099
|
-
|
4100
|
-
|
4106
|
+
var getComponent3 = (components, role, isEditing) => {
|
4107
|
+
switch (role) {
|
4108
|
+
case "user":
|
4109
|
+
if (isEditing) {
|
4110
|
+
return components.UserEditComposer ?? components.EditComposer ?? components.UserMessage ?? components.Message;
|
4111
|
+
} else {
|
4112
|
+
return components.UserMessage ?? components.Message;
|
4113
|
+
}
|
4114
|
+
case "assistant":
|
4115
|
+
if (isEditing) {
|
4116
|
+
return components.AssistantEditComposer ?? components.EditComposer ?? components.AssistantMessage ?? components.Message;
|
4117
|
+
} else {
|
4118
|
+
return components.AssistantMessage ?? components.Message;
|
4119
|
+
}
|
4120
|
+
case "system":
|
4121
|
+
if (isEditing) {
|
4122
|
+
return components.SystemEditComposer ?? components.EditComposer ?? components.SystemMessage ?? components.Message;
|
4123
|
+
} else {
|
4124
|
+
return components.SystemMessage ?? DEFAULT_SYSTEM_MESSAGE;
|
4125
|
+
}
|
4126
|
+
default:
|
4127
|
+
const _exhaustiveCheck = role;
|
4128
|
+
throw new Error(`Unknown message role: ${_exhaustiveCheck}`);
|
4129
|
+
}
|
4130
|
+
};
|
4131
|
+
var ThreadMessageComponent = ({
|
4132
|
+
components
|
4133
|
+
}) => {
|
4134
|
+
const { useMessage, useEditComposer } = useMessageContext();
|
4135
|
+
const role = useMessage((m) => m.message.role);
|
4136
|
+
const isEditing = useEditComposer((c) => c.isEditing);
|
4137
|
+
const Component = getComponent3(components, role, isEditing);
|
4138
|
+
return /* @__PURE__ */ jsx34(Component, {});
|
4101
4139
|
};
|
4102
4140
|
var ThreadMessageImpl = ({
|
4103
4141
|
messageIndex,
|
4104
4142
|
components
|
4105
4143
|
}) => {
|
4106
|
-
|
4107
|
-
return /* @__PURE__ */ jsxs4(MessageProvider, { messageIndex, children: [
|
4108
|
-
/* @__PURE__ */ jsxs4(MessagePrimitiveIf, { user: true, children: [
|
4109
|
-
/* @__PURE__ */ jsx33(ComposerPrimitiveIf, { editing: false, children: /* @__PURE__ */ jsx33(UserMessage2, {}) }),
|
4110
|
-
/* @__PURE__ */ jsx33(ComposerPrimitiveIf, { editing: true, children: /* @__PURE__ */ jsx33(EditComposer2, {}) })
|
4111
|
-
] }),
|
4112
|
-
/* @__PURE__ */ jsx33(MessagePrimitiveIf, { assistant: true, children: /* @__PURE__ */ jsx33(AssistantMessage2, {}) }),
|
4113
|
-
/* @__PURE__ */ jsx33(MessagePrimitiveIf, { system: true, children: /* @__PURE__ */ jsx33(SystemMessage2, {}) })
|
4114
|
-
] });
|
4144
|
+
return /* @__PURE__ */ jsx34(MessageProvider, { messageIndex, children: /* @__PURE__ */ jsx34(ThreadMessageComponent, { components }) });
|
4115
4145
|
};
|
4116
4146
|
var ThreadMessage = memo5(
|
4117
4147
|
ThreadMessageImpl,
|
4118
|
-
(prev, next) => prev.messageIndex === next.messageIndex && prev.components
|
4148
|
+
(prev, next) => prev.messageIndex === next.messageIndex && isComponentsSame(prev.components, next.components)
|
4119
4149
|
);
|
4120
4150
|
var ThreadPrimitiveMessagesImpl = ({
|
4121
4151
|
components
|
@@ -4123,12 +4153,12 @@ var ThreadPrimitiveMessagesImpl = ({
|
|
4123
4153
|
const { useThreadMessages } = useThreadContext();
|
4124
4154
|
const messagesLength = useThreadMessages((t) => t.length);
|
4125
4155
|
if (messagesLength === 0) return null;
|
4126
|
-
return Array.from({ length: messagesLength }, (_, index) => /* @__PURE__ */
|
4156
|
+
return Array.from({ length: messagesLength }, (_, index) => /* @__PURE__ */ jsx34(ThreadMessage, { messageIndex: index, components }, index));
|
4127
4157
|
};
|
4128
4158
|
ThreadPrimitiveMessagesImpl.displayName = "ThreadPrimitive.Messages";
|
4129
4159
|
var ThreadPrimitiveMessages = memo5(
|
4130
4160
|
ThreadPrimitiveMessagesImpl,
|
4131
|
-
(prev, next) => prev.components
|
4161
|
+
(prev, next) => isComponentsSame(prev.components, next.components)
|
4132
4162
|
);
|
4133
4163
|
|
4134
4164
|
// src/primitives/thread/ThreadScrollToBottom.tsx
|
@@ -4149,7 +4179,7 @@ import {
|
|
4149
4179
|
createContext as createContext7,
|
4150
4180
|
useContext as useContext7
|
4151
4181
|
} from "react";
|
4152
|
-
import { Fragment as Fragment3, jsx as
|
4182
|
+
import { Fragment as Fragment3, jsx as jsx35 } from "react/jsx-runtime";
|
4153
4183
|
var ThreadConfigContext = createContext7({});
|
4154
4184
|
var useThreadConfig = () => {
|
4155
4185
|
return useContext7(ThreadConfigContext);
|
@@ -4159,14 +4189,14 @@ var ThreadConfigProvider = ({
|
|
4159
4189
|
config
|
4160
4190
|
}) => {
|
4161
4191
|
const assistant = useAssistantContext({ optional: true });
|
4162
|
-
const configProvider = config && Object.keys(config ?? {}).length > 0 ? /* @__PURE__ */
|
4192
|
+
const configProvider = config && Object.keys(config ?? {}).length > 0 ? /* @__PURE__ */ jsx35(ThreadConfigContext.Provider, { value: config, children }) : /* @__PURE__ */ jsx35(Fragment3, { children });
|
4163
4193
|
if (!config?.runtime) return configProvider;
|
4164
4194
|
if (assistant) {
|
4165
4195
|
throw new Error(
|
4166
4196
|
"You provided a runtime to <Thread> while simulataneously using <AssistantRuntimeProvider>. This is not allowed."
|
4167
4197
|
);
|
4168
4198
|
}
|
4169
|
-
return /* @__PURE__ */
|
4199
|
+
return /* @__PURE__ */ jsx35(AssistantRuntimeProvider, { runtime: config.runtime, children: configProvider });
|
4170
4200
|
};
|
4171
4201
|
ThreadConfigProvider.displayName = "ThreadConfigProvider";
|
4172
4202
|
|
@@ -4179,7 +4209,7 @@ import {
|
|
4179
4209
|
RefreshCwIcon,
|
4180
4210
|
StopCircleIcon
|
4181
4211
|
} from "lucide-react";
|
4182
|
-
import { Fragment as Fragment4, jsx as
|
4212
|
+
import { Fragment as Fragment4, jsx as jsx36, jsxs as jsxs4 } from "react/jsx-runtime";
|
4183
4213
|
var useAllowCopy = (ensureCapability = false) => {
|
4184
4214
|
const { assistantMessage: { allowCopy = true } = {} } = useThreadConfig();
|
4185
4215
|
const { useThread } = useThreadContext();
|
@@ -4203,16 +4233,16 @@ var AssistantActionBar = () => {
|
|
4203
4233
|
const allowReload = useAllowReload(true);
|
4204
4234
|
const allowSpeak = useAllowSpeak(true);
|
4205
4235
|
if (!allowCopy && !allowReload && !allowSpeak) return null;
|
4206
|
-
return /* @__PURE__ */
|
4236
|
+
return /* @__PURE__ */ jsxs4(
|
4207
4237
|
AssistantActionBarRoot,
|
4208
4238
|
{
|
4209
4239
|
hideWhenRunning: true,
|
4210
4240
|
autohide: "not-last",
|
4211
4241
|
autohideFloat: "single-branch",
|
4212
4242
|
children: [
|
4213
|
-
allowSpeak && /* @__PURE__ */
|
4214
|
-
allowCopy && /* @__PURE__ */
|
4215
|
-
allowReload && /* @__PURE__ */
|
4243
|
+
allowSpeak && /* @__PURE__ */ jsx36(AssistantActionBarSpeechControl, {}),
|
4244
|
+
allowCopy && /* @__PURE__ */ jsx36(AssistantActionBarCopy, {}),
|
4245
|
+
allowReload && /* @__PURE__ */ jsx36(AssistantActionBarReload, {})
|
4216
4246
|
]
|
4217
4247
|
}
|
4218
4248
|
);
|
@@ -4228,16 +4258,16 @@ var AssistantActionBarCopy = forwardRef19((props, ref) => {
|
|
4228
4258
|
assistantMessage: { copy: { tooltip = "Copy" } = {} } = {}
|
4229
4259
|
} = {}
|
4230
4260
|
} = useThreadConfig();
|
4231
|
-
return /* @__PURE__ */
|
4232
|
-
/* @__PURE__ */
|
4233
|
-
/* @__PURE__ */
|
4261
|
+
return /* @__PURE__ */ jsx36(actionBar_exports.Copy, { asChild: true, children: /* @__PURE__ */ jsx36(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsxs4(Fragment4, { children: [
|
4262
|
+
/* @__PURE__ */ jsx36(message_exports.If, { copied: true, children: /* @__PURE__ */ jsx36(CheckIcon, {}) }),
|
4263
|
+
/* @__PURE__ */ jsx36(message_exports.If, { copied: false, children: /* @__PURE__ */ jsx36(CopyIcon, {}) })
|
4234
4264
|
] }) }) });
|
4235
4265
|
});
|
4236
4266
|
AssistantActionBarCopy.displayName = "AssistantActionBarCopy";
|
4237
4267
|
var AssistantActionBarSpeechControl = () => {
|
4238
|
-
return /* @__PURE__ */
|
4239
|
-
/* @__PURE__ */
|
4240
|
-
/* @__PURE__ */
|
4268
|
+
return /* @__PURE__ */ jsxs4(Fragment4, { children: [
|
4269
|
+
/* @__PURE__ */ jsx36(message_exports.If, { speaking: false, children: /* @__PURE__ */ jsx36(AssistantActionBarSpeak, {}) }),
|
4270
|
+
/* @__PURE__ */ jsx36(message_exports.If, { speaking: true, children: /* @__PURE__ */ jsx36(AssistantActionBarStopSpeaking, {}) })
|
4241
4271
|
] });
|
4242
4272
|
};
|
4243
4273
|
var AssistantActionBarSpeak = forwardRef19((props, ref) => {
|
@@ -4247,7 +4277,7 @@ var AssistantActionBarSpeak = forwardRef19((props, ref) => {
|
|
4247
4277
|
} = {}
|
4248
4278
|
} = useThreadConfig();
|
4249
4279
|
const allowSpeak = useAllowSpeak();
|
4250
|
-
return /* @__PURE__ */
|
4280
|
+
return /* @__PURE__ */ jsx36(actionBar_exports.Speak, { disabled: !allowSpeak, asChild: true, children: /* @__PURE__ */ jsx36(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx36(AudioLinesIcon, {}) }) });
|
4251
4281
|
});
|
4252
4282
|
AssistantActionBarSpeak.displayName = "AssistantActionBarSpeak";
|
4253
4283
|
var AssistantActionBarStopSpeaking = forwardRef19((props, ref) => {
|
@@ -4259,7 +4289,7 @@ var AssistantActionBarStopSpeaking = forwardRef19((props, ref) => {
|
|
4259
4289
|
} = {}
|
4260
4290
|
} = useThreadConfig();
|
4261
4291
|
const allowSpeak = useAllowSpeak();
|
4262
|
-
return /* @__PURE__ */
|
4292
|
+
return /* @__PURE__ */ jsx36(actionBar_exports.StopSpeaking, { disabled: !allowSpeak, asChild: true, children: /* @__PURE__ */ jsx36(TooltipIconButton, { tooltip: stopTooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx36(StopCircleIcon, {}) }) });
|
4263
4293
|
});
|
4264
4294
|
AssistantActionBarStopSpeaking.displayName = "AssistantActionBarStopSpeaking";
|
4265
4295
|
var AssistantActionBarReload = forwardRef19((props, ref) => {
|
@@ -4269,7 +4299,7 @@ var AssistantActionBarReload = forwardRef19((props, ref) => {
|
|
4269
4299
|
} = {}
|
4270
4300
|
} = useThreadConfig();
|
4271
4301
|
const allowReload = useAllowReload();
|
4272
|
-
return /* @__PURE__ */
|
4302
|
+
return /* @__PURE__ */ jsx36(actionBar_exports.Reload, { disabled: !allowReload, asChild: true, children: /* @__PURE__ */ jsx36(TooltipIconButton, { tooltip, ...props, ref, children: /* @__PURE__ */ jsx36(RefreshCwIcon, {}) }) });
|
4273
4303
|
});
|
4274
4304
|
AssistantActionBarReload.displayName = "AssistantActionBarReload";
|
4275
4305
|
var exports = {
|
@@ -4291,7 +4321,7 @@ import { forwardRef as forwardRef21, useMemo as useMemo5 } from "react";
|
|
4291
4321
|
// src/ui/branch-picker.tsx
|
4292
4322
|
import { forwardRef as forwardRef20 } from "react";
|
4293
4323
|
import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
|
4294
|
-
import { jsx as
|
4324
|
+
import { jsx as jsx37, jsxs as jsxs5 } from "react/jsx-runtime";
|
4295
4325
|
var useAllowBranchPicker = (ensureCapability = false) => {
|
4296
4326
|
const { branchPicker: { allowBranchPicker = true } = {} } = useThreadConfig();
|
4297
4327
|
const { useThread } = useThreadContext();
|
@@ -4301,10 +4331,10 @@ var useAllowBranchPicker = (ensureCapability = false) => {
|
|
4301
4331
|
var BranchPicker = () => {
|
4302
4332
|
const allowBranchPicker = useAllowBranchPicker();
|
4303
4333
|
if (!allowBranchPicker) return null;
|
4304
|
-
return /* @__PURE__ */
|
4305
|
-
/* @__PURE__ */
|
4306
|
-
/* @__PURE__ */
|
4307
|
-
/* @__PURE__ */
|
4334
|
+
return /* @__PURE__ */ jsxs5(BranchPickerRoot, { hideWhenSingleBranch: true, children: [
|
4335
|
+
/* @__PURE__ */ jsx37(BranchPickerPrevious2, {}),
|
4336
|
+
/* @__PURE__ */ jsx37(BranchPickerState, {}),
|
4337
|
+
/* @__PURE__ */ jsx37(BranchPickerNext, {})
|
4308
4338
|
] });
|
4309
4339
|
};
|
4310
4340
|
BranchPicker.displayName = "BranchPicker";
|
@@ -4319,17 +4349,17 @@ var BranchPickerPrevious2 = forwardRef20((props, ref) => {
|
|
4319
4349
|
} = {}
|
4320
4350
|
} = useThreadConfig();
|
4321
4351
|
const allowBranchPicker = useAllowBranchPicker();
|
4322
|
-
return /* @__PURE__ */
|
4352
|
+
return /* @__PURE__ */ jsx37(branchPicker_exports.Previous, { disabled: !allowBranchPicker, asChild: true, children: /* @__PURE__ */ jsx37(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx37(ChevronLeftIcon, {}) }) });
|
4323
4353
|
});
|
4324
4354
|
BranchPickerPrevious2.displayName = "BranchPickerPrevious";
|
4325
4355
|
var BranchPickerStateWrapper = withDefaults("span", {
|
4326
4356
|
className: "aui-branch-picker-state"
|
4327
4357
|
});
|
4328
4358
|
var BranchPickerState = forwardRef20((props, ref) => {
|
4329
|
-
return /* @__PURE__ */
|
4330
|
-
/* @__PURE__ */
|
4359
|
+
return /* @__PURE__ */ jsxs5(BranchPickerStateWrapper, { ...props, ref, children: [
|
4360
|
+
/* @__PURE__ */ jsx37(branchPicker_exports.Number, {}),
|
4331
4361
|
" / ",
|
4332
|
-
/* @__PURE__ */
|
4362
|
+
/* @__PURE__ */ jsx37(branchPicker_exports.Count, {})
|
4333
4363
|
] });
|
4334
4364
|
});
|
4335
4365
|
BranchPickerState.displayName = "BranchPickerState";
|
@@ -4338,7 +4368,7 @@ var BranchPickerNext = forwardRef20((props, ref) => {
|
|
4338
4368
|
strings: { branchPicker: { next: { tooltip = "Next" } = {} } = {} } = {}
|
4339
4369
|
} = useThreadConfig();
|
4340
4370
|
const allowBranchPicker = useAllowBranchPicker();
|
4341
|
-
return /* @__PURE__ */
|
4371
|
+
return /* @__PURE__ */ jsx37(branchPicker_exports.Next, { disabled: !allowBranchPicker, asChild: true, children: /* @__PURE__ */ jsx37(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx37(ChevronRightIcon, {}) }) });
|
4342
4372
|
});
|
4343
4373
|
BranchPickerNext.displayName = "BranchPickerNext";
|
4344
4374
|
var exports2 = {
|
@@ -4350,12 +4380,12 @@ var branch_picker_default = Object.assign(BranchPicker, exports2);
|
|
4350
4380
|
|
4351
4381
|
// src/ui/base/avatar.tsx
|
4352
4382
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
4353
|
-
import { jsx as
|
4383
|
+
import { jsx as jsx38, jsxs as jsxs6 } from "react/jsx-runtime";
|
4354
4384
|
var Avatar = ({ src, alt, fallback }) => {
|
4355
4385
|
if (src == null && fallback == null) return null;
|
4356
|
-
return /* @__PURE__ */
|
4357
|
-
src != null && /* @__PURE__ */
|
4358
|
-
fallback != null && /* @__PURE__ */
|
4386
|
+
return /* @__PURE__ */ jsxs6(AvatarRoot, { children: [
|
4387
|
+
src != null && /* @__PURE__ */ jsx38(AvatarImage, { src, alt }),
|
4388
|
+
fallback != null && /* @__PURE__ */ jsx38(AvatarFallback, { children: fallback })
|
4359
4389
|
] });
|
4360
4390
|
};
|
4361
4391
|
Avatar.displayName = "Avatar";
|
@@ -4374,10 +4404,10 @@ AvatarFallback.displayName = "AvatarFallback";
|
|
4374
4404
|
|
4375
4405
|
// src/ui/content-part.tsx
|
4376
4406
|
import classNames2 from "classnames";
|
4377
|
-
import { jsx as
|
4407
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
4378
4408
|
var Text = () => {
|
4379
4409
|
const status = useSmoothStatus();
|
4380
|
-
return /* @__PURE__ */
|
4410
|
+
return /* @__PURE__ */ jsx39(
|
4381
4411
|
contentPart_exports.Text,
|
4382
4412
|
{
|
4383
4413
|
className: classNames2(
|
@@ -4392,19 +4422,19 @@ var exports3 = { Text: withSmoothContextProvider(Text) };
|
|
4392
4422
|
var content_part_default = exports3;
|
4393
4423
|
|
4394
4424
|
// src/ui/assistant-message.tsx
|
4395
|
-
import { jsx as
|
4425
|
+
import { jsx as jsx40, jsxs as jsxs7 } from "react/jsx-runtime";
|
4396
4426
|
var AssistantMessage = () => {
|
4397
|
-
return /* @__PURE__ */
|
4398
|
-
/* @__PURE__ */
|
4399
|
-
/* @__PURE__ */
|
4400
|
-
/* @__PURE__ */
|
4401
|
-
/* @__PURE__ */
|
4427
|
+
return /* @__PURE__ */ jsxs7(AssistantMessageRoot, { children: [
|
4428
|
+
/* @__PURE__ */ jsx40(AssistantMessageAvatar, {}),
|
4429
|
+
/* @__PURE__ */ jsx40(AssistantMessageContent, {}),
|
4430
|
+
/* @__PURE__ */ jsx40(branch_picker_default, {}),
|
4431
|
+
/* @__PURE__ */ jsx40(assistant_action_bar_default, {})
|
4402
4432
|
] });
|
4403
4433
|
};
|
4404
4434
|
AssistantMessage.displayName = "AssistantMessage";
|
4405
4435
|
var AssistantMessageAvatar = () => {
|
4406
4436
|
const { assistantAvatar: avatar = { fallback: "A" } } = useThreadConfig();
|
4407
|
-
return /* @__PURE__ */
|
4437
|
+
return /* @__PURE__ */ jsx40(Avatar, { ...avatar });
|
4408
4438
|
};
|
4409
4439
|
var AssistantMessageRoot = withDefaults(message_exports.Root, {
|
4410
4440
|
className: "aui-assistant-message-root"
|
@@ -4428,7 +4458,7 @@ var AssistantMessageContent = forwardRef21(({ components: componentsProp, ...res
|
|
4428
4458
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
4429
4459
|
[...tools ?? [], components.ToolFallback]
|
4430
4460
|
);
|
4431
|
-
return /* @__PURE__ */
|
4461
|
+
return /* @__PURE__ */ jsx40(AssistantMessageContentWrapper, { ...rest, ref, children: /* @__PURE__ */ jsx40(
|
4432
4462
|
message_exports.Content,
|
4433
4463
|
{
|
4434
4464
|
components: {
|
@@ -4463,9 +4493,9 @@ import { forwardRef as forwardRef23 } from "react";
|
|
4463
4493
|
import { PaperclipIcon, SendHorizontalIcon } from "lucide-react";
|
4464
4494
|
|
4465
4495
|
// src/ui/base/CircleStopIcon.tsx
|
4466
|
-
import { jsx as
|
4496
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
4467
4497
|
var CircleStopIcon = () => {
|
4468
|
-
return /* @__PURE__ */
|
4498
|
+
return /* @__PURE__ */ jsx41(
|
4469
4499
|
"svg",
|
4470
4500
|
{
|
4471
4501
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -4473,7 +4503,7 @@ var CircleStopIcon = () => {
|
|
4473
4503
|
fill: "currentColor",
|
4474
4504
|
width: "16",
|
4475
4505
|
height: "16",
|
4476
|
-
children: /* @__PURE__ */
|
4506
|
+
children: /* @__PURE__ */ jsx41("rect", { width: "10", height: "10", x: "3", y: "3", rx: "2" })
|
4477
4507
|
}
|
4478
4508
|
);
|
4479
4509
|
};
|
@@ -4482,7 +4512,7 @@ CircleStopIcon.displayName = "CircleStopIcon";
|
|
4482
4512
|
// src/ui/composer-attachment.tsx
|
4483
4513
|
import { forwardRef as forwardRef22 } from "react";
|
4484
4514
|
import { CircleXIcon } from "lucide-react";
|
4485
|
-
import { jsx as
|
4515
|
+
import { jsx as jsx42, jsxs as jsxs8 } from "react/jsx-runtime";
|
4486
4516
|
var ComposerAttachmentRoot = withDefaults("div", {
|
4487
4517
|
className: "aui-composer-attachment-root"
|
4488
4518
|
});
|
@@ -4490,10 +4520,10 @@ ComposerAttachmentRoot.displayName = "ComposerAttachmentRoot";
|
|
4490
4520
|
var ComposerAttachment2 = () => {
|
4491
4521
|
const { useAttachment } = useAttachmentContext({ type: "composer" });
|
4492
4522
|
const attachment = useAttachment((a) => a.attachment);
|
4493
|
-
return /* @__PURE__ */
|
4523
|
+
return /* @__PURE__ */ jsxs8(ComposerAttachmentRoot, { children: [
|
4494
4524
|
".",
|
4495
4525
|
attachment.name.split(".").pop(),
|
4496
|
-
/* @__PURE__ */
|
4526
|
+
/* @__PURE__ */ jsx42(ComposerAttachmentRemove, {})
|
4497
4527
|
] });
|
4498
4528
|
};
|
4499
4529
|
ComposerAttachment2.displayName = "ComposerAttachment";
|
@@ -4508,7 +4538,7 @@ var ComposerAttachmentRemove = forwardRef22((props, ref) => {
|
|
4508
4538
|
const handleRemoveAttachment = () => {
|
4509
4539
|
useComposer.getState().removeAttachment(useAttachment.getState().attachment.id);
|
4510
4540
|
};
|
4511
|
-
return /* @__PURE__ */
|
4541
|
+
return /* @__PURE__ */ jsx42(
|
4512
4542
|
TooltipIconButton,
|
4513
4543
|
{
|
4514
4544
|
tooltip,
|
@@ -4517,7 +4547,7 @@ var ComposerAttachmentRemove = forwardRef22((props, ref) => {
|
|
4517
4547
|
...props,
|
4518
4548
|
onClick: handleRemoveAttachment,
|
4519
4549
|
ref,
|
4520
|
-
children: props.children ?? /* @__PURE__ */
|
4550
|
+
children: props.children ?? /* @__PURE__ */ jsx42(CircleXIcon, {})
|
4521
4551
|
}
|
4522
4552
|
);
|
4523
4553
|
});
|
@@ -4532,7 +4562,7 @@ var composer_attachment_default = Object.assign(
|
|
4532
4562
|
);
|
4533
4563
|
|
4534
4564
|
// src/ui/composer.tsx
|
4535
|
-
import { Fragment as Fragment5, jsx as
|
4565
|
+
import { Fragment as Fragment5, jsx as jsx43, jsxs as jsxs9 } from "react/jsx-runtime";
|
4536
4566
|
var useAllowAttachments = (ensureCapability = false) => {
|
4537
4567
|
const { composer: { allowAttachments = true } = {} } = useThreadConfig();
|
4538
4568
|
const { useThread } = useThreadContext();
|
@@ -4541,11 +4571,11 @@ var useAllowAttachments = (ensureCapability = false) => {
|
|
4541
4571
|
};
|
4542
4572
|
var Composer = () => {
|
4543
4573
|
const allowAttachments = useAllowAttachments(true);
|
4544
|
-
return /* @__PURE__ */
|
4545
|
-
allowAttachments && /* @__PURE__ */
|
4546
|
-
allowAttachments && /* @__PURE__ */
|
4547
|
-
/* @__PURE__ */
|
4548
|
-
/* @__PURE__ */
|
4574
|
+
return /* @__PURE__ */ jsxs9(ComposerRoot, { children: [
|
4575
|
+
allowAttachments && /* @__PURE__ */ jsx43(ComposerAttachments, {}),
|
4576
|
+
allowAttachments && /* @__PURE__ */ jsx43(ComposerAddAttachment, {}),
|
4577
|
+
/* @__PURE__ */ jsx43(ComposerInput, { autoFocus: true }),
|
4578
|
+
/* @__PURE__ */ jsx43(ComposerAction, {})
|
4549
4579
|
] });
|
4550
4580
|
};
|
4551
4581
|
Composer.displayName = "Composer";
|
@@ -4565,7 +4595,7 @@ var ComposerInput = forwardRef23(
|
|
4565
4595
|
composer: { input: { placeholder = "Write a message..." } = {} } = {}
|
4566
4596
|
} = {}
|
4567
4597
|
} = useThreadConfig();
|
4568
|
-
return /* @__PURE__ */
|
4598
|
+
return /* @__PURE__ */ jsx43(ComposerInputStyled, { placeholder, ...props, ref });
|
4569
4599
|
}
|
4570
4600
|
);
|
4571
4601
|
ComposerInput.displayName = "ComposerInput";
|
@@ -4573,7 +4603,7 @@ var ComposerAttachmentsContainer = withDefaults("div", {
|
|
4573
4603
|
className: "aui-composer-attachments"
|
4574
4604
|
});
|
4575
4605
|
var ComposerAttachments = ({ components }) => {
|
4576
|
-
return /* @__PURE__ */
|
4606
|
+
return /* @__PURE__ */ jsx43(ComposerAttachmentsContainer, { children: /* @__PURE__ */ jsx43(
|
4577
4607
|
composer_exports.Attachments,
|
4578
4608
|
{
|
4579
4609
|
components: {
|
@@ -4594,14 +4624,14 @@ var ComposerAddAttachment = forwardRef23((props, ref) => {
|
|
4594
4624
|
} = {}
|
4595
4625
|
} = useThreadConfig();
|
4596
4626
|
const allowAttachments = useAllowAttachments();
|
4597
|
-
return /* @__PURE__ */
|
4627
|
+
return /* @__PURE__ */ jsx43(composer_exports.AddAttachment, { disabled: !allowAttachments, asChild: true, children: /* @__PURE__ */ jsx43(
|
4598
4628
|
ComposerAttachButton,
|
4599
4629
|
{
|
4600
4630
|
tooltip,
|
4601
4631
|
variant: "ghost",
|
4602
4632
|
...props,
|
4603
4633
|
ref,
|
4604
|
-
children: props.children ?? /* @__PURE__ */
|
4634
|
+
children: props.children ?? /* @__PURE__ */ jsx43(PaperclipIcon, {})
|
4605
4635
|
}
|
4606
4636
|
) });
|
4607
4637
|
});
|
@@ -4613,10 +4643,10 @@ var useAllowCancel = () => {
|
|
4613
4643
|
};
|
4614
4644
|
var ComposerAction = () => {
|
4615
4645
|
const allowCancel = useAllowCancel();
|
4616
|
-
if (!allowCancel) return /* @__PURE__ */
|
4617
|
-
return /* @__PURE__ */
|
4618
|
-
/* @__PURE__ */
|
4619
|
-
/* @__PURE__ */
|
4646
|
+
if (!allowCancel) return /* @__PURE__ */ jsx43(ComposerSend, {});
|
4647
|
+
return /* @__PURE__ */ jsxs9(Fragment5, { children: [
|
4648
|
+
/* @__PURE__ */ jsx43(thread_exports.If, { running: false, children: /* @__PURE__ */ jsx43(ComposerSend, {}) }),
|
4649
|
+
/* @__PURE__ */ jsx43(thread_exports.If, { running: true, children: /* @__PURE__ */ jsx43(ComposerCancel, {}) })
|
4620
4650
|
] });
|
4621
4651
|
};
|
4622
4652
|
ComposerAction.displayName = "ComposerAction";
|
@@ -4628,7 +4658,7 @@ var ComposerSend = forwardRef23((props, ref) => {
|
|
4628
4658
|
const {
|
4629
4659
|
strings: { composer: { send: { tooltip = "Send" } = {} } = {} } = {}
|
4630
4660
|
} = useThreadConfig();
|
4631
|
-
return /* @__PURE__ */
|
4661
|
+
return /* @__PURE__ */ jsx43(composer_exports.Send, { asChild: true, children: /* @__PURE__ */ jsx43(ComposerSendButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx43(SendHorizontalIcon, {}) }) });
|
4632
4662
|
});
|
4633
4663
|
ComposerSend.displayName = "ComposerSend";
|
4634
4664
|
var ComposerCancelButton = withDefaults(TooltipIconButton, {
|
@@ -4639,7 +4669,7 @@ var ComposerCancel = forwardRef23((props, ref) => {
|
|
4639
4669
|
const {
|
4640
4670
|
strings: { composer: { cancel: { tooltip = "Cancel" } = {} } = {} } = {}
|
4641
4671
|
} = useThreadConfig();
|
4642
|
-
return /* @__PURE__ */
|
4672
|
+
return /* @__PURE__ */ jsx43(composer_exports.Cancel, { asChild: true, children: /* @__PURE__ */ jsx43(ComposerCancelButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx43(CircleStopIcon, {}) }) });
|
4643
4673
|
});
|
4644
4674
|
ComposerCancel.displayName = "ComposerCancel";
|
4645
4675
|
var exports6 = {
|
@@ -4655,14 +4685,14 @@ var composer_default = Object.assign(Composer, exports6);
|
|
4655
4685
|
|
4656
4686
|
// src/ui/thread-welcome.tsx
|
4657
4687
|
import { forwardRef as forwardRef24 } from "react";
|
4658
|
-
import { jsx as
|
4688
|
+
import { jsx as jsx44, jsxs as jsxs10 } from "react/jsx-runtime";
|
4659
4689
|
var ThreadWelcome = () => {
|
4660
|
-
return /* @__PURE__ */
|
4661
|
-
/* @__PURE__ */
|
4662
|
-
/* @__PURE__ */
|
4663
|
-
/* @__PURE__ */
|
4690
|
+
return /* @__PURE__ */ jsxs10(ThreadWelcomeRoot, { children: [
|
4691
|
+
/* @__PURE__ */ jsxs10(ThreadWelcomeCenter, { children: [
|
4692
|
+
/* @__PURE__ */ jsx44(ThreadWelcomeAvatar, {}),
|
4693
|
+
/* @__PURE__ */ jsx44(ThreadWelcomeMessage, {})
|
4664
4694
|
] }),
|
4665
|
-
/* @__PURE__ */
|
4695
|
+
/* @__PURE__ */ jsx44(ThreadWelcomeSuggestions, {})
|
4666
4696
|
] });
|
4667
4697
|
};
|
4668
4698
|
ThreadWelcome.displayName = "ThreadWelcome";
|
@@ -4674,20 +4704,20 @@ var ThreadWelcomeCenter = withDefaults("div", {
|
|
4674
4704
|
});
|
4675
4705
|
var ThreadWelcomeRoot = forwardRef24(
|
4676
4706
|
(props, ref) => {
|
4677
|
-
return /* @__PURE__ */
|
4707
|
+
return /* @__PURE__ */ jsx44(thread_exports.Empty, { children: /* @__PURE__ */ jsx44(ThreadWelcomeRootStyled, { ...props, ref }) });
|
4678
4708
|
}
|
4679
4709
|
);
|
4680
4710
|
ThreadWelcomeRoot.displayName = "ThreadWelcomeRoot";
|
4681
4711
|
var ThreadWelcomeAvatar = () => {
|
4682
4712
|
const { assistantAvatar: avatar = { fallback: "A" } } = useThreadConfig();
|
4683
|
-
return /* @__PURE__ */
|
4713
|
+
return /* @__PURE__ */ jsx44(Avatar, { ...avatar });
|
4684
4714
|
};
|
4685
4715
|
var ThreadWelcomeMessageStyled = withDefaults("p", {
|
4686
4716
|
className: "aui-thread-welcome-message"
|
4687
4717
|
});
|
4688
4718
|
var ThreadWelcomeMessage = forwardRef24(({ message: messageProp, ...rest }, ref) => {
|
4689
4719
|
const { welcome: { message = "How can I help you today?" } = {} } = useThreadConfig();
|
4690
|
-
return /* @__PURE__ */
|
4720
|
+
return /* @__PURE__ */ jsx44(ThreadWelcomeMessageStyled, { ...rest, ref, children: messageProp ?? message });
|
4691
4721
|
});
|
4692
4722
|
ThreadWelcomeMessage.displayName = "ThreadWelcomeMessage";
|
4693
4723
|
var ThreadWelcomeSuggestionContainer = withDefaults("div", {
|
@@ -4699,21 +4729,21 @@ var ThreadWelcomeSuggestionStyled = withDefaults(thread_exports.Suggestion, {
|
|
4699
4729
|
var ThreadWelcomeSuggestion = ({
|
4700
4730
|
suggestion: { text, prompt }
|
4701
4731
|
}) => {
|
4702
|
-
return /* @__PURE__ */
|
4732
|
+
return /* @__PURE__ */ jsx44(
|
4703
4733
|
ThreadWelcomeSuggestionStyled,
|
4704
4734
|
{
|
4705
4735
|
prompt,
|
4706
4736
|
method: "replace",
|
4707
4737
|
autoSend: true,
|
4708
|
-
children: /* @__PURE__ */
|
4738
|
+
children: /* @__PURE__ */ jsx44("span", { className: "aui-thread-welcome-suggestion-text", children: text ?? prompt })
|
4709
4739
|
}
|
4710
4740
|
);
|
4711
4741
|
};
|
4712
4742
|
var ThreadWelcomeSuggestions = () => {
|
4713
4743
|
const { welcome: { suggestions } = {} } = useThreadConfig();
|
4714
|
-
return /* @__PURE__ */
|
4744
|
+
return /* @__PURE__ */ jsx44(ThreadWelcomeSuggestionContainer, { children: suggestions?.map((suggestion, idx) => {
|
4715
4745
|
const key = `${suggestion.prompt}-${idx}`;
|
4716
|
-
return /* @__PURE__ */
|
4746
|
+
return /* @__PURE__ */ jsx44(ThreadWelcomeSuggestion, { suggestion }, key);
|
4717
4747
|
}) });
|
4718
4748
|
};
|
4719
4749
|
ThreadWelcomeSuggestions.displayName = "ThreadWelcomeSuggestions";
|
@@ -4733,7 +4763,7 @@ import { forwardRef as forwardRef26 } from "react";
|
|
4733
4763
|
// src/ui/user-action-bar.tsx
|
4734
4764
|
import { forwardRef as forwardRef25 } from "react";
|
4735
4765
|
import { PencilIcon } from "lucide-react";
|
4736
|
-
import { jsx as
|
4766
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
4737
4767
|
var useAllowEdit = (ensureCapability = false) => {
|
4738
4768
|
const { userMessage: { allowEdit = true } = {} } = useThreadConfig();
|
4739
4769
|
const { useThread } = useThreadContext();
|
@@ -4743,7 +4773,7 @@ var useAllowEdit = (ensureCapability = false) => {
|
|
4743
4773
|
var UserActionBar = () => {
|
4744
4774
|
const allowEdit = useAllowEdit(true);
|
4745
4775
|
if (!allowEdit) return null;
|
4746
|
-
return /* @__PURE__ */
|
4776
|
+
return /* @__PURE__ */ jsx45(UserActionBarRoot, { hideWhenRunning: true, autohide: "not-last", children: /* @__PURE__ */ jsx45(UserActionBarEdit, {}) });
|
4747
4777
|
};
|
4748
4778
|
UserActionBar.displayName = "UserActionBar";
|
4749
4779
|
var UserActionBarRoot = withDefaults(actionBar_exports.Root, {
|
@@ -4755,7 +4785,7 @@ var UserActionBarEdit = forwardRef25((props, ref) => {
|
|
4755
4785
|
strings: { userMessage: { edit: { tooltip = "Edit" } = {} } = {} } = {}
|
4756
4786
|
} = useThreadConfig();
|
4757
4787
|
const allowEdit = useAllowEdit();
|
4758
|
-
return /* @__PURE__ */
|
4788
|
+
return /* @__PURE__ */ jsx45(actionBar_exports.Edit, { disabled: !allowEdit, asChild: true, children: /* @__PURE__ */ jsx45(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx45(PencilIcon, {}) }) });
|
4759
4789
|
});
|
4760
4790
|
UserActionBarEdit.displayName = "UserActionBarEdit";
|
4761
4791
|
var exports8 = {
|
@@ -4765,7 +4795,7 @@ var exports8 = {
|
|
4765
4795
|
var user_action_bar_default = Object.assign(UserActionBar, exports8);
|
4766
4796
|
|
4767
4797
|
// src/ui/user-message-attachment.tsx
|
4768
|
-
import { jsxs as
|
4798
|
+
import { jsxs as jsxs11 } from "react/jsx-runtime";
|
4769
4799
|
var UserMessageAttachmentRoot = withDefaults("div", {
|
4770
4800
|
className: "aui-user-message-attachment-root"
|
4771
4801
|
});
|
@@ -4773,7 +4803,7 @@ UserMessageAttachmentRoot.displayName = "UserMessageAttachmentRoot";
|
|
4773
4803
|
var UserMessageAttachment = () => {
|
4774
4804
|
const { useAttachment } = useAttachmentContext();
|
4775
4805
|
const attachment = useAttachment((a) => a.attachment);
|
4776
|
-
return /* @__PURE__ */
|
4806
|
+
return /* @__PURE__ */ jsxs11(UserMessageAttachmentRoot, { children: [
|
4777
4807
|
".",
|
4778
4808
|
attachment.name.split(".").pop()
|
4779
4809
|
] });
|
@@ -4788,13 +4818,13 @@ var user_message_attachment_default = Object.assign(
|
|
4788
4818
|
);
|
4789
4819
|
|
4790
4820
|
// src/ui/user-message.tsx
|
4791
|
-
import { jsx as
|
4821
|
+
import { jsx as jsx46, jsxs as jsxs12 } from "react/jsx-runtime";
|
4792
4822
|
var UserMessage = () => {
|
4793
|
-
return /* @__PURE__ */
|
4794
|
-
/* @__PURE__ */
|
4795
|
-
/* @__PURE__ */
|
4796
|
-
/* @__PURE__ */
|
4797
|
-
/* @__PURE__ */
|
4823
|
+
return /* @__PURE__ */ jsxs12(UserMessageRoot, { children: [
|
4824
|
+
/* @__PURE__ */ jsx46(UserMessageAttachments, {}),
|
4825
|
+
/* @__PURE__ */ jsx46(user_action_bar_default, {}),
|
4826
|
+
/* @__PURE__ */ jsx46(UserMessageContent, {}),
|
4827
|
+
/* @__PURE__ */ jsx46(branch_picker_default, {})
|
4798
4828
|
] });
|
4799
4829
|
};
|
4800
4830
|
UserMessage.displayName = "UserMessage";
|
@@ -4807,7 +4837,7 @@ var UserMessageContentWrapper = withDefaults("div", {
|
|
4807
4837
|
});
|
4808
4838
|
var UserMessageContent = forwardRef26(
|
4809
4839
|
({ components, ...props }, ref) => {
|
4810
|
-
return /* @__PURE__ */
|
4840
|
+
return /* @__PURE__ */ jsx46(UserMessageContentWrapper, { ...props, ref, children: /* @__PURE__ */ jsx46(
|
4811
4841
|
message_exports.Content,
|
4812
4842
|
{
|
4813
4843
|
components: {
|
@@ -4825,7 +4855,7 @@ var UserMessageAttachmentsContainer = withDefaults("div", {
|
|
4825
4855
|
var UserMessageAttachments = ({
|
4826
4856
|
components
|
4827
4857
|
}) => {
|
4828
|
-
return /* @__PURE__ */
|
4858
|
+
return /* @__PURE__ */ jsx46(message_exports.If, { hasAttachments: true, children: /* @__PURE__ */ jsx46(UserMessageAttachmentsContainer, { children: /* @__PURE__ */ jsx46(
|
4829
4859
|
message_exports.Attachments,
|
4830
4860
|
{
|
4831
4861
|
components: {
|
@@ -4844,13 +4874,13 @@ var user_message_default = Object.assign(UserMessage, exports10);
|
|
4844
4874
|
|
4845
4875
|
// src/ui/edit-composer.tsx
|
4846
4876
|
import { forwardRef as forwardRef27 } from "react";
|
4847
|
-
import { jsx as
|
4877
|
+
import { jsx as jsx47, jsxs as jsxs13 } from "react/jsx-runtime";
|
4848
4878
|
var EditComposer = () => {
|
4849
|
-
return /* @__PURE__ */
|
4850
|
-
/* @__PURE__ */
|
4851
|
-
/* @__PURE__ */
|
4852
|
-
/* @__PURE__ */
|
4853
|
-
/* @__PURE__ */
|
4879
|
+
return /* @__PURE__ */ jsxs13(EditComposerRoot, { children: [
|
4880
|
+
/* @__PURE__ */ jsx47(EditComposerInput, {}),
|
4881
|
+
/* @__PURE__ */ jsxs13(EditComposerFooter, { children: [
|
4882
|
+
/* @__PURE__ */ jsx47(EditComposerCancel, {}),
|
4883
|
+
/* @__PURE__ */ jsx47(EditComposerSend, {})
|
4854
4884
|
] })
|
4855
4885
|
] });
|
4856
4886
|
};
|
@@ -4874,7 +4904,7 @@ var EditComposerCancel = forwardRef27(
|
|
4874
4904
|
editComposer: { cancel: { label = "Cancel" } = {} } = {}
|
4875
4905
|
} = {}
|
4876
4906
|
} = useThreadConfig();
|
4877
|
-
return /* @__PURE__ */
|
4907
|
+
return /* @__PURE__ */ jsx47(composer_exports.Cancel, { asChild: true, children: /* @__PURE__ */ jsx47(Button, { variant: "ghost", ...props, ref, children: props.children ?? label }) });
|
4878
4908
|
}
|
4879
4909
|
);
|
4880
4910
|
EditComposerCancel.displayName = "EditComposerCancel";
|
@@ -4883,7 +4913,7 @@ var EditComposerSend = forwardRef27(
|
|
4883
4913
|
const {
|
4884
4914
|
strings: { editComposer: { send: { label = "Send" } = {} } = {} } = {}
|
4885
4915
|
} = useThreadConfig();
|
4886
|
-
return /* @__PURE__ */
|
4916
|
+
return /* @__PURE__ */ jsx47(composer_exports.Send, { asChild: true, children: /* @__PURE__ */ jsx47(Button, { ...props, ref, children: props.children ?? label }) });
|
4887
4917
|
}
|
4888
4918
|
);
|
4889
4919
|
EditComposerSend.displayName = "EditComposerSend";
|
@@ -4897,14 +4927,14 @@ var exports11 = {
|
|
4897
4927
|
var edit_composer_default = Object.assign(EditComposer, exports11);
|
4898
4928
|
|
4899
4929
|
// src/ui/thread.tsx
|
4900
|
-
import { jsx as
|
4930
|
+
import { jsx as jsx48, jsxs as jsxs14 } from "react/jsx-runtime";
|
4901
4931
|
var Thread = (config) => {
|
4902
|
-
return /* @__PURE__ */
|
4903
|
-
/* @__PURE__ */
|
4904
|
-
/* @__PURE__ */
|
4905
|
-
/* @__PURE__ */
|
4906
|
-
/* @__PURE__ */
|
4907
|
-
/* @__PURE__ */
|
4932
|
+
return /* @__PURE__ */ jsx48(ThreadRoot, { config, children: /* @__PURE__ */ jsxs14(ThreadViewport, { children: [
|
4933
|
+
/* @__PURE__ */ jsx48(thread_welcome_default, {}),
|
4934
|
+
/* @__PURE__ */ jsx48(ThreadMessages, {}),
|
4935
|
+
/* @__PURE__ */ jsxs14(ThreadViewportFooter, { children: [
|
4936
|
+
/* @__PURE__ */ jsx48(ThreadScrollToBottom, {}),
|
4937
|
+
/* @__PURE__ */ jsx48(composer_default, {})
|
4908
4938
|
] })
|
4909
4939
|
] }) });
|
4910
4940
|
};
|
@@ -4913,7 +4943,7 @@ var ThreadRootStyled = withDefaults(thread_exports.Root, {
|
|
4913
4943
|
});
|
4914
4944
|
var ThreadRoot = forwardRef28(
|
4915
4945
|
({ config, ...props }, ref) => {
|
4916
|
-
return /* @__PURE__ */
|
4946
|
+
return /* @__PURE__ */ jsx48(ThreadConfigProvider, { config, children: /* @__PURE__ */ jsx48(ThreadRootStyled, { ...props, ref }) });
|
4917
4947
|
}
|
4918
4948
|
);
|
4919
4949
|
ThreadRoot.displayName = "ThreadRoot";
|
@@ -4927,7 +4957,7 @@ var ThreadViewportFooter = withDefaults("div", {
|
|
4927
4957
|
ThreadViewportFooter.displayName = "ThreadViewportFooter";
|
4928
4958
|
var SystemMessage = () => null;
|
4929
4959
|
var ThreadMessages = ({ components, ...rest }) => {
|
4930
|
-
return /* @__PURE__ */
|
4960
|
+
return /* @__PURE__ */ jsx48(
|
4931
4961
|
thread_exports.Messages,
|
4932
4962
|
{
|
4933
4963
|
components: {
|
@@ -4951,7 +4981,7 @@ var ThreadScrollToBottom = forwardRef28((props, ref) => {
|
|
4951
4981
|
thread: { scrollToBottom: { tooltip = "Scroll to bottom" } = {} } = {}
|
4952
4982
|
} = {}
|
4953
4983
|
} = useThreadConfig();
|
4954
|
-
return /* @__PURE__ */
|
4984
|
+
return /* @__PURE__ */ jsx48(thread_exports.ScrollToBottom, { asChild: true, children: /* @__PURE__ */ jsx48(ThreadScrollToBottomIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx48(ArrowDownIcon, {}) }) });
|
4955
4985
|
});
|
4956
4986
|
ThreadScrollToBottom.displayName = "ThreadScrollToBottom";
|
4957
4987
|
var exports12 = {
|
@@ -4964,20 +4994,20 @@ var exports12 = {
|
|
4964
4994
|
var thread_default = Object.assign(Thread, exports12);
|
4965
4995
|
|
4966
4996
|
// src/ui/assistant-modal.tsx
|
4967
|
-
import { Fragment as Fragment6, jsx as
|
4997
|
+
import { Fragment as Fragment6, jsx as jsx49, jsxs as jsxs15 } from "react/jsx-runtime";
|
4968
4998
|
var AssistantModal = (config) => {
|
4969
|
-
return /* @__PURE__ */
|
4970
|
-
/* @__PURE__ */
|
4971
|
-
/* @__PURE__ */
|
4999
|
+
return /* @__PURE__ */ jsxs15(AssistantModalRoot, { config, children: [
|
5000
|
+
/* @__PURE__ */ jsx49(AssistantModalTrigger, {}),
|
5001
|
+
/* @__PURE__ */ jsx49(AssistantModalContent, { children: /* @__PURE__ */ jsx49(thread_default, {}) })
|
4972
5002
|
] });
|
4973
5003
|
};
|
4974
5004
|
AssistantModal.displayName = "AssistantModal";
|
4975
5005
|
var AssistantModalRoot = ({ config, ...props }) => {
|
4976
|
-
return /* @__PURE__ */
|
5006
|
+
return /* @__PURE__ */ jsx49(ThreadConfigProvider, { config, children: /* @__PURE__ */ jsx49(assistantModal_exports.Root, { ...props }) });
|
4977
5007
|
};
|
4978
5008
|
AssistantModalRoot.displayName = "AssistantModalRoot";
|
4979
5009
|
var AssistantModalTrigger = forwardRef29((props, ref) => {
|
4980
|
-
return /* @__PURE__ */
|
5010
|
+
return /* @__PURE__ */ jsx49(AssistantModalAnchor, { children: /* @__PURE__ */ jsx49(assistantModal_exports.Trigger, { asChild: true, children: /* @__PURE__ */ jsx49(AssistantModalButton, { ...props, ref }) }) });
|
4981
5011
|
});
|
4982
5012
|
AssistantModalTrigger.displayName = "AssistantModalTrigger";
|
4983
5013
|
var AssistantModalAnchor = withDefaults(assistantModal_exports.Anchor, {
|
@@ -5002,7 +5032,7 @@ var AssistantModalButton = forwardRef29(({ "data-state": state, ...rest }, ref)
|
|
5002
5032
|
} = {}
|
5003
5033
|
} = useThreadConfig();
|
5004
5034
|
const tooltip = state === "open" ? openTooltip : closedTooltip;
|
5005
|
-
return /* @__PURE__ */
|
5035
|
+
return /* @__PURE__ */ jsx49(
|
5006
5036
|
ModalButtonStyled,
|
5007
5037
|
{
|
5008
5038
|
side: "left",
|
@@ -5010,15 +5040,15 @@ var AssistantModalButton = forwardRef29(({ "data-state": state, ...rest }, ref)
|
|
5010
5040
|
"data-state": state,
|
5011
5041
|
...rest,
|
5012
5042
|
ref,
|
5013
|
-
children: rest.children ?? /* @__PURE__ */
|
5014
|
-
/* @__PURE__ */
|
5043
|
+
children: rest.children ?? /* @__PURE__ */ jsxs15(Fragment6, { children: [
|
5044
|
+
/* @__PURE__ */ jsx49(
|
5015
5045
|
BotIcon,
|
5016
5046
|
{
|
5017
5047
|
"data-state": state,
|
5018
5048
|
className: "aui-modal-button-closed-icon"
|
5019
5049
|
}
|
5020
5050
|
),
|
5021
|
-
/* @__PURE__ */
|
5051
|
+
/* @__PURE__ */ jsx49(
|
5022
5052
|
ChevronDownIcon,
|
5023
5053
|
{
|
5024
5054
|
"data-state": state,
|
@@ -5065,6 +5095,7 @@ export {
|
|
5065
5095
|
message_exports as MessagePrimitive,
|
5066
5096
|
SimpleImageAttachmentAdapter,
|
5067
5097
|
SimpleTextAttachmentAdapter,
|
5098
|
+
TextContentPartProvider,
|
5068
5099
|
thread_default as Thread,
|
5069
5100
|
ThreadConfigProvider,
|
5070
5101
|
thread_exports as ThreadPrimitive,
|