@assistant-ui/react 0.5.50 → 0.5.52
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.d.mts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +39 -17
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +231 -209
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -2271,14 +2271,47 @@ var AssistantRuntimeProviderImpl = ({ children, runtime }) => {
|
|
2271
2271
|
};
|
2272
2272
|
var AssistantRuntimeProvider = memo(AssistantRuntimeProviderImpl);
|
2273
2273
|
|
2274
|
+
// src/context/providers/TextContentPartProvider.tsx
|
2275
|
+
import { useState as useState9 } from "react";
|
2276
|
+
import { create as create12 } from "zustand";
|
2277
|
+
|
2278
|
+
// src/context/react/ContentPartContext.ts
|
2279
|
+
import { createContext as createContext4, useContext as useContext4 } from "react";
|
2280
|
+
var ContentPartContext = createContext4(
|
2281
|
+
null
|
2282
|
+
);
|
2283
|
+
function useContentPartContext(options) {
|
2284
|
+
const context = useContext4(ContentPartContext);
|
2285
|
+
if (!options?.optional && !context)
|
2286
|
+
throw new Error(
|
2287
|
+
"This component can only be used inside a component passed to <MessagePrimitive.Content components={...} >."
|
2288
|
+
);
|
2289
|
+
return context;
|
2290
|
+
}
|
2291
|
+
|
2292
|
+
// src/context/providers/TextContentPartProvider.tsx
|
2293
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
2294
|
+
var TextContentPartProvider = ({ children, text }) => {
|
2295
|
+
const [context] = useState9(() => {
|
2296
|
+
const useContentPart = create12(() => ({
|
2297
|
+
status: { type: "complete" },
|
2298
|
+
part: { type: "text", text }
|
2299
|
+
}));
|
2300
|
+
return {
|
2301
|
+
useContentPart
|
2302
|
+
};
|
2303
|
+
});
|
2304
|
+
return /* @__PURE__ */ jsx9(ContentPartContext.Provider, { value: context, children });
|
2305
|
+
};
|
2306
|
+
|
2274
2307
|
// src/context/react/ComposerContext.ts
|
2275
2308
|
import { useMemo as useMemo3 } from "react";
|
2276
2309
|
|
2277
2310
|
// src/context/react/MessageContext.ts
|
2278
|
-
import { createContext as
|
2279
|
-
var MessageContext =
|
2311
|
+
import { createContext as createContext5, useContext as useContext5 } from "react";
|
2312
|
+
var MessageContext = createContext5(null);
|
2280
2313
|
function useMessageContext(options) {
|
2281
|
-
const context =
|
2314
|
+
const context = useContext5(MessageContext);
|
2282
2315
|
if (!options?.optional && !context)
|
2283
2316
|
throw new Error(
|
2284
2317
|
"This component can only be used inside a component passed to <ThreadPrimitive.Messages components={...} />."
|
@@ -2299,20 +2332,6 @@ var useComposerContext = () => {
|
|
2299
2332
|
);
|
2300
2333
|
};
|
2301
2334
|
|
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
2335
|
// src/hooks/useAppendMessage.tsx
|
2317
2336
|
import { useCallback } from "react";
|
2318
2337
|
var toAppendMessage = (useThreadMessages, message) => {
|
@@ -2829,7 +2848,7 @@ var useActionBarFloatStatus = ({
|
|
2829
2848
|
};
|
2830
2849
|
|
2831
2850
|
// src/primitives/actionBar/ActionBarRoot.tsx
|
2832
|
-
import { jsx as
|
2851
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
2833
2852
|
var ActionBarPrimitiveRoot = forwardRef5(({ hideWhenRunning, autohide, autohideFloat, ...rest }, ref) => {
|
2834
2853
|
const hideAndfloatStatus = useActionBarFloatStatus({
|
2835
2854
|
hideWhenRunning,
|
@@ -2837,7 +2856,7 @@ var ActionBarPrimitiveRoot = forwardRef5(({ hideWhenRunning, autohide, autohideF
|
|
2837
2856
|
autohideFloat
|
2838
2857
|
});
|
2839
2858
|
if (hideAndfloatStatus === "hidden" /* Hidden */) return null;
|
2840
|
-
return /* @__PURE__ */
|
2859
|
+
return /* @__PURE__ */ jsx10(
|
2841
2860
|
Primitive2.div,
|
2842
2861
|
{
|
2843
2862
|
...hideAndfloatStatus === "floating" /* Floating */ ? { "data-floating": "true" } : null,
|
@@ -2852,7 +2871,7 @@ ActionBarPrimitiveRoot.displayName = "ActionBarPrimitive.Root";
|
|
2852
2871
|
import { forwardRef as forwardRef6 } from "react";
|
2853
2872
|
import { Primitive as Primitive3 } from "@radix-ui/react-primitive";
|
2854
2873
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
2855
|
-
import { jsx as
|
2874
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
2856
2875
|
var createActionButton = (displayName, useActionButton, forwardProps = []) => {
|
2857
2876
|
const ActionButton = forwardRef6((props, forwardedRef) => {
|
2858
2877
|
const forwardedProps = {};
|
@@ -2865,13 +2884,13 @@ var createActionButton = (displayName, useActionButton, forwardProps = []) => {
|
|
2865
2884
|
}
|
2866
2885
|
});
|
2867
2886
|
const callback = useActionButton(forwardedProps);
|
2868
|
-
return /* @__PURE__ */
|
2887
|
+
return /* @__PURE__ */ jsx11(
|
2869
2888
|
Primitive3.button,
|
2870
2889
|
{
|
2871
2890
|
type: "button",
|
2872
|
-
disabled: !callback,
|
2873
2891
|
...primitiveProps,
|
2874
2892
|
ref: forwardedRef,
|
2893
|
+
disabled: primitiveProps.disabled || !callback,
|
2875
2894
|
onClick: composeEventHandlers(primitiveProps.onClick, () => {
|
2876
2895
|
callback?.();
|
2877
2896
|
})
|
@@ -2912,7 +2931,7 @@ import { forwardRef as forwardRef7 } from "react";
|
|
2912
2931
|
import { useEscapeKeydown } from "@radix-ui/react-use-escape-keydown";
|
2913
2932
|
import { Primitive as Primitive4 } from "@radix-ui/react-primitive";
|
2914
2933
|
import { composeEventHandlers as composeEventHandlers2 } from "@radix-ui/primitive";
|
2915
|
-
import { jsx as
|
2934
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
2916
2935
|
var ActionBarPrimitiveStopSpeaking = forwardRef7((props, ref) => {
|
2917
2936
|
const callback = useActionBarStopSpeaking();
|
2918
2937
|
useEscapeKeydown((e) => {
|
@@ -2921,7 +2940,7 @@ var ActionBarPrimitiveStopSpeaking = forwardRef7((props, ref) => {
|
|
2921
2940
|
callback();
|
2922
2941
|
}
|
2923
2942
|
});
|
2924
|
-
return /* @__PURE__ */
|
2943
|
+
return /* @__PURE__ */ jsx12(
|
2925
2944
|
Primitive4.button,
|
2926
2945
|
{
|
2927
2946
|
type: "button",
|
@@ -2945,7 +2964,7 @@ __export(assistantModal_exports, {
|
|
2945
2964
|
});
|
2946
2965
|
|
2947
2966
|
// src/primitives/assistantModal/AssistantModalRoot.tsx
|
2948
|
-
import { useState as
|
2967
|
+
import { useState as useState10 } from "react";
|
2949
2968
|
import * as PopoverPrimitive2 from "@radix-ui/react-popover";
|
2950
2969
|
import { composeEventHandlers as composeEventHandlers3 } from "@radix-ui/primitive";
|
2951
2970
|
|
@@ -2967,9 +2986,9 @@ import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
2967
2986
|
var usePopoverScope = PopoverPrimitive.createPopoverScope();
|
2968
2987
|
|
2969
2988
|
// src/primitives/assistantModal/AssistantModalRoot.tsx
|
2970
|
-
import { jsx as
|
2989
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
2971
2990
|
var useAssistantModalOpenState = (defaultOpen = false) => {
|
2972
|
-
const state =
|
2991
|
+
const state = useState10(defaultOpen);
|
2973
2992
|
const [, setOpen] = state;
|
2974
2993
|
useOnComposerFocus(() => {
|
2975
2994
|
setOpen(true);
|
@@ -2985,7 +3004,7 @@ var AssistantModalPrimitiveRoot = ({
|
|
2985
3004
|
}) => {
|
2986
3005
|
const scope = usePopoverScope(__scopeAssistantModal);
|
2987
3006
|
const [modalOpen, setOpen] = useAssistantModalOpenState(defaultOpen);
|
2988
|
-
return /* @__PURE__ */
|
3007
|
+
return /* @__PURE__ */ jsx13(
|
2989
3008
|
PopoverPrimitive2.Root,
|
2990
3009
|
{
|
2991
3010
|
...scope,
|
@@ -3000,14 +3019,14 @@ AssistantModalPrimitiveRoot.displayName = "AssistantModalPrimitive.Root";
|
|
3000
3019
|
// src/primitives/assistantModal/AssistantModalTrigger.tsx
|
3001
3020
|
import { forwardRef as forwardRef8 } from "react";
|
3002
3021
|
import * as PopoverPrimitive3 from "@radix-ui/react-popover";
|
3003
|
-
import { jsx as
|
3022
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
3004
3023
|
var AssistantModalPrimitiveTrigger = forwardRef8(
|
3005
3024
|
({
|
3006
3025
|
__scopeAssistantModal,
|
3007
3026
|
...rest
|
3008
3027
|
}, ref) => {
|
3009
3028
|
const scope = usePopoverScope(__scopeAssistantModal);
|
3010
|
-
return /* @__PURE__ */
|
3029
|
+
return /* @__PURE__ */ jsx14(PopoverPrimitive3.Trigger, { ...scope, ...rest, ref });
|
3011
3030
|
}
|
3012
3031
|
);
|
3013
3032
|
AssistantModalPrimitiveTrigger.displayName = "AssistantModalPrimitive.Trigger";
|
@@ -3016,7 +3035,7 @@ AssistantModalPrimitiveTrigger.displayName = "AssistantModalPrimitive.Trigger";
|
|
3016
3035
|
import { forwardRef as forwardRef9 } from "react";
|
3017
3036
|
import * as PopoverPrimitive4 from "@radix-ui/react-popover";
|
3018
3037
|
import { composeEventHandlers as composeEventHandlers4 } from "@radix-ui/primitive";
|
3019
|
-
import { jsx as
|
3038
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
3020
3039
|
var AssistantModalPrimitiveContent = forwardRef9(
|
3021
3040
|
({
|
3022
3041
|
__scopeAssistantModal,
|
@@ -3027,7 +3046,7 @@ var AssistantModalPrimitiveContent = forwardRef9(
|
|
3027
3046
|
...props
|
3028
3047
|
}, forwardedRef) => {
|
3029
3048
|
const scope = usePopoverScope(__scopeAssistantModal);
|
3030
|
-
return /* @__PURE__ */
|
3049
|
+
return /* @__PURE__ */ jsx15(PopoverPrimitive4.Portal, { ...scope, children: /* @__PURE__ */ jsx15(
|
3031
3050
|
PopoverPrimitive4.Content,
|
3032
3051
|
{
|
3033
3052
|
...scope,
|
@@ -3048,14 +3067,14 @@ AssistantModalPrimitiveContent.displayName = "AssistantModalPrimitive.Content";
|
|
3048
3067
|
// src/primitives/assistantModal/AssistantModalAnchor.tsx
|
3049
3068
|
import { forwardRef as forwardRef10 } from "react";
|
3050
3069
|
import * as PopoverPrimitive5 from "@radix-ui/react-popover";
|
3051
|
-
import { jsx as
|
3070
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
3052
3071
|
var AssistantModalPrimitiveAnchor = forwardRef10(
|
3053
3072
|
({
|
3054
3073
|
__scopeAssistantModal,
|
3055
3074
|
...rest
|
3056
3075
|
}, ref) => {
|
3057
3076
|
const scope = usePopoverScope(__scopeAssistantModal);
|
3058
|
-
return /* @__PURE__ */
|
3077
|
+
return /* @__PURE__ */ jsx16(PopoverPrimitive5.Anchor, { ...scope, ...rest, ref });
|
3059
3078
|
}
|
3060
3079
|
);
|
3061
3080
|
AssistantModalPrimitiveAnchor.displayName = "AssistantModalPrimitive.Anchor";
|
@@ -3083,18 +3102,18 @@ var BranchPickerPrevious = createActionButton(
|
|
3083
3102
|
);
|
3084
3103
|
|
3085
3104
|
// src/primitives/branchPicker/BranchPickerCount.tsx
|
3086
|
-
import { Fragment, jsx as
|
3105
|
+
import { Fragment, jsx as jsx17 } from "react/jsx-runtime";
|
3087
3106
|
var BranchPickerPrimitiveCount = () => {
|
3088
3107
|
const branchCount = useBranchPickerCount();
|
3089
|
-
return /* @__PURE__ */
|
3108
|
+
return /* @__PURE__ */ jsx17(Fragment, { children: branchCount });
|
3090
3109
|
};
|
3091
3110
|
BranchPickerPrimitiveCount.displayName = "BranchPickerPrimitive.Count";
|
3092
3111
|
|
3093
3112
|
// src/primitives/branchPicker/BranchPickerNumber.tsx
|
3094
|
-
import { Fragment as Fragment2, jsx as
|
3113
|
+
import { Fragment as Fragment2, jsx as jsx18 } from "react/jsx-runtime";
|
3095
3114
|
var BranchPickerPrimitiveNumber = () => {
|
3096
3115
|
const branchNumber = useBranchPickerNumber();
|
3097
|
-
return /* @__PURE__ */
|
3116
|
+
return /* @__PURE__ */ jsx18(Fragment2, { children: branchNumber });
|
3098
3117
|
};
|
3099
3118
|
BranchPickerPrimitiveNumber.displayName = "BranchPickerPrimitive.Number";
|
3100
3119
|
|
@@ -3139,7 +3158,7 @@ var useManagedRef = (callback) => {
|
|
3139
3158
|
|
3140
3159
|
// src/primitives/message/MessageRoot.tsx
|
3141
3160
|
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
3142
|
-
import { jsx as
|
3161
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
3143
3162
|
var useIsHoveringRef = () => {
|
3144
3163
|
const { useMessageUtils } = useMessageContext();
|
3145
3164
|
const callbackRef = useCallback16(
|
@@ -3166,7 +3185,7 @@ var useIsHoveringRef = () => {
|
|
3166
3185
|
var MessagePrimitiveRoot = forwardRef11(({ onMouseEnter, onMouseLeave, ...rest }, forwardRef30) => {
|
3167
3186
|
const isHoveringRef = useIsHoveringRef();
|
3168
3187
|
const ref = useComposedRefs(forwardRef30, isHoveringRef);
|
3169
|
-
return /* @__PURE__ */
|
3188
|
+
return /* @__PURE__ */ jsx19(Primitive5.div, { ...rest, ref });
|
3170
3189
|
});
|
3171
3190
|
MessagePrimitiveRoot.displayName = "MessagePrimitive.Root";
|
3172
3191
|
|
@@ -3184,9 +3203,9 @@ MessagePrimitiveIf.displayName = "MessagePrimitive.If";
|
|
3184
3203
|
import { memo as memo2 } from "react";
|
3185
3204
|
|
3186
3205
|
// src/context/providers/ContentPartProvider.tsx
|
3187
|
-
import { useEffect as useEffect9, useState as
|
3188
|
-
import { create as
|
3189
|
-
import { jsx as
|
3206
|
+
import { useEffect as useEffect9, useState as useState11 } from "react";
|
3207
|
+
import { create as create13 } from "zustand";
|
3208
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
3190
3209
|
var COMPLETE_STATUS = {
|
3191
3210
|
type: "complete"
|
3192
3211
|
};
|
@@ -3223,8 +3242,8 @@ var getContentPartState = ({ message }, useContentPart, partIndex) => {
|
|
3223
3242
|
};
|
3224
3243
|
var useContentPartContext2 = (partIndex) => {
|
3225
3244
|
const { useMessage } = useMessageContext();
|
3226
|
-
const [context] =
|
3227
|
-
const useContentPart =
|
3245
|
+
const [context] = useState11(() => {
|
3246
|
+
const useContentPart = create13(
|
3228
3247
|
() => getContentPartState(useMessage.getState(), void 0, partIndex)
|
3229
3248
|
);
|
3230
3249
|
return { useContentPart };
|
@@ -3249,32 +3268,32 @@ var ContentPartProvider = ({
|
|
3249
3268
|
children
|
3250
3269
|
}) => {
|
3251
3270
|
const context = useContentPartContext2(partIndex);
|
3252
|
-
return /* @__PURE__ */
|
3271
|
+
return /* @__PURE__ */ jsx20(ContentPartContext.Provider, { value: context, children });
|
3253
3272
|
};
|
3254
3273
|
|
3255
3274
|
// src/primitives/contentPart/ContentPartText.tsx
|
3256
3275
|
import {
|
3257
3276
|
forwardRef as forwardRef12
|
3258
3277
|
} from "react";
|
3259
|
-
import { jsx as
|
3278
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
3260
3279
|
var ContentPartPrimitiveText = forwardRef12(({ smooth = true, component: Component = "span", ...rest }, forwardedRef) => {
|
3261
3280
|
const {
|
3262
3281
|
part: { text },
|
3263
3282
|
status
|
3264
3283
|
} = useSmooth(useContentPartText(), smooth);
|
3265
|
-
return /* @__PURE__ */
|
3284
|
+
return /* @__PURE__ */ jsx21(Component, { "data-status": status.type, ...rest, ref: forwardedRef, children: text });
|
3266
3285
|
});
|
3267
3286
|
ContentPartPrimitiveText.displayName = "ContentPartPrimitive.Text";
|
3268
3287
|
|
3269
3288
|
// src/primitives/contentPart/ContentPartImage.tsx
|
3270
3289
|
import { Primitive as Primitive6 } from "@radix-ui/react-primitive";
|
3271
3290
|
import { forwardRef as forwardRef13 } from "react";
|
3272
|
-
import { jsx as
|
3291
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
3273
3292
|
var ContentPartPrimitiveImage = forwardRef13((props, forwardedRef) => {
|
3274
3293
|
const {
|
3275
3294
|
part: { image }
|
3276
3295
|
} = useContentPartImage();
|
3277
|
-
return /* @__PURE__ */
|
3296
|
+
return /* @__PURE__ */ jsx22(Primitive6.img, { src: image, ...props, ref: forwardedRef });
|
3278
3297
|
});
|
3279
3298
|
ContentPartPrimitiveImage.displayName = "ContentPartPrimitive.Image";
|
3280
3299
|
|
@@ -3296,7 +3315,7 @@ var ContentPartPrimitiveInProgress = ({ children }) => {
|
|
3296
3315
|
ContentPartPrimitiveInProgress.displayName = "ContentPartPrimitive.InProgress";
|
3297
3316
|
|
3298
3317
|
// src/primitives/message/MessageContent.tsx
|
3299
|
-
import { jsx as
|
3318
|
+
import { jsx as jsx23, jsxs as jsxs3 } from "react/jsx-runtime";
|
3300
3319
|
var ToolUIDisplay = ({
|
3301
3320
|
UI,
|
3302
3321
|
...props
|
@@ -3304,15 +3323,15 @@ var ToolUIDisplay = ({
|
|
3304
3323
|
const { useToolUIs } = useAssistantContext();
|
3305
3324
|
const Render = useToolUIs((s) => s.getToolUI(props.part.toolName)) ?? UI;
|
3306
3325
|
if (!Render) return null;
|
3307
|
-
return /* @__PURE__ */
|
3326
|
+
return /* @__PURE__ */ jsx23(Render, { ...props });
|
3308
3327
|
};
|
3309
3328
|
var defaultComponents = {
|
3310
3329
|
Text: () => /* @__PURE__ */ jsxs3("p", { style: { whiteSpace: "pre-line" }, children: [
|
3311
|
-
/* @__PURE__ */
|
3312
|
-
/* @__PURE__ */
|
3330
|
+
/* @__PURE__ */ jsx23(ContentPartPrimitiveText, {}),
|
3331
|
+
/* @__PURE__ */ jsx23(ContentPartPrimitiveInProgress, { children: /* @__PURE__ */ jsx23("span", { style: { fontFamily: "revert" }, children: " \u25CF" }) })
|
3313
3332
|
] }),
|
3314
|
-
Image: () => /* @__PURE__ */
|
3315
|
-
UI: () => /* @__PURE__ */
|
3333
|
+
Image: () => /* @__PURE__ */ jsx23(ContentPartPrimitiveImage, {}),
|
3334
|
+
UI: () => /* @__PURE__ */ jsx23(ContentPartPrimitiveDisplay, {})
|
3316
3335
|
};
|
3317
3336
|
var MessageContentPartComponent = ({
|
3318
3337
|
components: {
|
@@ -3333,16 +3352,16 @@ var MessageContentPartComponent = ({
|
|
3333
3352
|
case "text":
|
3334
3353
|
if (status.type === "requires-action")
|
3335
3354
|
throw new Error("Encountered unexpected requires-action status");
|
3336
|
-
if (part === EMPTY_CONTENT) return /* @__PURE__ */
|
3337
|
-
return /* @__PURE__ */
|
3355
|
+
if (part === EMPTY_CONTENT) return /* @__PURE__ */ jsx23(Empty, { part, status });
|
3356
|
+
return /* @__PURE__ */ jsx23(Text2, { part, status });
|
3338
3357
|
case "image":
|
3339
3358
|
if (status.type === "requires-action")
|
3340
3359
|
throw new Error("Encountered unexpected requires-action status");
|
3341
|
-
return /* @__PURE__ */
|
3360
|
+
return /* @__PURE__ */ jsx23(Image2, { part, status });
|
3342
3361
|
case "ui":
|
3343
3362
|
if (status.type === "requires-action")
|
3344
3363
|
throw new Error("Encountered unexpected requires-action status");
|
3345
|
-
return /* @__PURE__ */
|
3364
|
+
return /* @__PURE__ */ jsx23(UI, { part, status });
|
3346
3365
|
case "tool-call": {
|
3347
3366
|
const Tool = by_name[part.toolName] || Fallback2;
|
3348
3367
|
const addResult = (result) => addToolResult({
|
@@ -3351,7 +3370,7 @@ var MessageContentPartComponent = ({
|
|
3351
3370
|
toolCallId: part.toolCallId,
|
3352
3371
|
result
|
3353
3372
|
});
|
3354
|
-
return /* @__PURE__ */
|
3373
|
+
return /* @__PURE__ */ jsx23(
|
3355
3374
|
ToolUIDisplay,
|
3356
3375
|
{
|
3357
3376
|
UI: Tool,
|
@@ -3370,7 +3389,7 @@ var MessageContentPartImpl = ({
|
|
3370
3389
|
partIndex,
|
3371
3390
|
components
|
3372
3391
|
}) => {
|
3373
|
-
return /* @__PURE__ */
|
3392
|
+
return /* @__PURE__ */ jsx23(ContentPartProvider, { partIndex, children: /* @__PURE__ */ jsx23(MessageContentPartComponent, { components }) });
|
3374
3393
|
};
|
3375
3394
|
var MessageContentPart = memo2(
|
3376
3395
|
MessageContentPartImpl,
|
@@ -3381,7 +3400,7 @@ var MessagePrimitiveContent = ({
|
|
3381
3400
|
}) => {
|
3382
3401
|
const { useMessage } = useMessageContext();
|
3383
3402
|
const contentLength = useMessage((s) => s.message.content.length) || 1;
|
3384
|
-
return Array.from({ length: contentLength }, (_, index) => /* @__PURE__ */
|
3403
|
+
return Array.from({ length: contentLength }, (_, index) => /* @__PURE__ */ jsx23(MessageContentPart, { partIndex: index, components }, index));
|
3385
3404
|
};
|
3386
3405
|
MessagePrimitiveContent.displayName = "MessagePrimitive.Content";
|
3387
3406
|
|
@@ -3417,9 +3436,9 @@ function useAttachmentContext(options) {
|
|
3417
3436
|
}
|
3418
3437
|
|
3419
3438
|
// src/context/providers/MessageAttachmentProvider.tsx
|
3420
|
-
import { useEffect as useEffect10, useState as
|
3421
|
-
import { create as
|
3422
|
-
import { jsx as
|
3439
|
+
import { useEffect as useEffect10, useState as useState12 } from "react";
|
3440
|
+
import { create as create14 } from "zustand";
|
3441
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
3423
3442
|
var getAttachment = ({ message }, useAttachment, partIndex) => {
|
3424
3443
|
if (message.role !== "user") return null;
|
3425
3444
|
const attachments = message.attachments;
|
@@ -3431,9 +3450,9 @@ var getAttachment = ({ message }, useAttachment, partIndex) => {
|
|
3431
3450
|
};
|
3432
3451
|
var useMessageAttachmentContext = (partIndex) => {
|
3433
3452
|
const { useMessage } = useMessageContext();
|
3434
|
-
const [context] =
|
3453
|
+
const [context] = useState12(
|
3435
3454
|
() => {
|
3436
|
-
const useAttachment =
|
3455
|
+
const useAttachment = create14(
|
3437
3456
|
() => getAttachment(useMessage.getState(), void 0, partIndex)
|
3438
3457
|
);
|
3439
3458
|
return { type: "message", useAttachment };
|
@@ -3459,11 +3478,11 @@ var MessageAttachmentProvider = ({
|
|
3459
3478
|
children
|
3460
3479
|
}) => {
|
3461
3480
|
const context = useMessageAttachmentContext(partIndex);
|
3462
|
-
return /* @__PURE__ */
|
3481
|
+
return /* @__PURE__ */ jsx24(AttachmentContext.Provider, { value: context, children });
|
3463
3482
|
};
|
3464
3483
|
|
3465
3484
|
// src/primitives/message/MessageAttachments.tsx
|
3466
|
-
import { jsx as
|
3485
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
3467
3486
|
var getComponent = (components, attachment) => {
|
3468
3487
|
const type = attachment.type;
|
3469
3488
|
switch (type) {
|
@@ -3484,10 +3503,10 @@ var AttachmentComponent = ({ components }) => {
|
|
3484
3503
|
(a) => getComponent(components, a.attachment)
|
3485
3504
|
);
|
3486
3505
|
if (!Component) return null;
|
3487
|
-
return /* @__PURE__ */
|
3506
|
+
return /* @__PURE__ */ jsx25(Component, {});
|
3488
3507
|
};
|
3489
3508
|
var MessageAttachmentImpl = ({ components, attachmentIndex }) => {
|
3490
|
-
return /* @__PURE__ */
|
3509
|
+
return /* @__PURE__ */ jsx25(MessageAttachmentProvider, { attachmentIndex, children: /* @__PURE__ */ jsx25(AttachmentComponent, { components }) });
|
3491
3510
|
};
|
3492
3511
|
var MessageAttachment = memo3(
|
3493
3512
|
MessageAttachmentImpl,
|
@@ -3499,7 +3518,7 @@ var MessagePrimitiveAttachments = ({ components }) => {
|
|
3499
3518
|
if (message.role !== "user") return 0;
|
3500
3519
|
return message.attachments.length;
|
3501
3520
|
});
|
3502
|
-
return Array.from({ length: attachmentsCount }, (_, index) => /* @__PURE__ */
|
3521
|
+
return Array.from({ length: attachmentsCount }, (_, index) => /* @__PURE__ */ jsx25(
|
3503
3522
|
MessageAttachment,
|
3504
3523
|
{
|
3505
3524
|
attachmentIndex: index,
|
@@ -3511,9 +3530,9 @@ var MessagePrimitiveAttachments = ({ components }) => {
|
|
3511
3530
|
MessagePrimitiveAttachments.displayName = "MessagePrimitive.Attachments";
|
3512
3531
|
|
3513
3532
|
// src/primitives/branchPicker/BranchPickerRoot.tsx
|
3514
|
-
import { jsx as
|
3533
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
3515
3534
|
var BranchPickerPrimitiveRoot = forwardRef14(({ hideWhenSingleBranch, ...rest }, ref) => {
|
3516
|
-
return /* @__PURE__ */
|
3535
|
+
return /* @__PURE__ */ jsx26(MessagePrimitiveIf, { hasBranches: hideWhenSingleBranch ? true : void 0, children: /* @__PURE__ */ jsx26(Primitive7.div, { ...rest, ref }) });
|
3517
3536
|
});
|
3518
3537
|
BranchPickerPrimitiveRoot.displayName = "BranchPickerPrimitive.Root";
|
3519
3538
|
|
@@ -3535,7 +3554,7 @@ import { Primitive as Primitive8 } from "@radix-ui/react-primitive";
|
|
3535
3554
|
import {
|
3536
3555
|
forwardRef as forwardRef15
|
3537
3556
|
} from "react";
|
3538
|
-
import { jsx as
|
3557
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
3539
3558
|
var ComposerPrimitiveRoot = forwardRef15(({ onSubmit, ...rest }, forwardedRef) => {
|
3540
3559
|
const send = useComposerSend();
|
3541
3560
|
const handleSubmit = (e) => {
|
@@ -3543,7 +3562,7 @@ var ComposerPrimitiveRoot = forwardRef15(({ onSubmit, ...rest }, forwardedRef) =
|
|
3543
3562
|
if (!send) return;
|
3544
3563
|
send();
|
3545
3564
|
};
|
3546
|
-
return /* @__PURE__ */
|
3565
|
+
return /* @__PURE__ */ jsx27(
|
3547
3566
|
Primitive8.form,
|
3548
3567
|
{
|
3549
3568
|
...rest,
|
@@ -3566,7 +3585,7 @@ import {
|
|
3566
3585
|
} from "react";
|
3567
3586
|
import TextareaAutosize from "react-textarea-autosize";
|
3568
3587
|
import { useEscapeKeydown as useEscapeKeydown2 } from "@radix-ui/react-use-escape-keydown";
|
3569
|
-
import { jsx as
|
3588
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
3570
3589
|
var ComposerPrimitiveInput = forwardRef16(
|
3571
3590
|
({
|
3572
3591
|
autoFocus = false,
|
@@ -3620,7 +3639,7 @@ var ComposerPrimitiveInput = forwardRef16(
|
|
3620
3639
|
focus();
|
3621
3640
|
}
|
3622
3641
|
});
|
3623
|
-
return /* @__PURE__ */
|
3642
|
+
return /* @__PURE__ */ jsx28(
|
3624
3643
|
Component,
|
3625
3644
|
{
|
3626
3645
|
name: "input",
|
@@ -3662,9 +3681,9 @@ var ComposerPrimitiveAddAttachment = createActionButton(
|
|
3662
3681
|
import { memo as memo4 } from "react";
|
3663
3682
|
|
3664
3683
|
// src/context/providers/ComposerAttachmentProvider.tsx
|
3665
|
-
import { useEffect as useEffect12, useState as
|
3666
|
-
import { create as
|
3667
|
-
import { jsx as
|
3684
|
+
import { useEffect as useEffect12, useState as useState13 } from "react";
|
3685
|
+
import { create as create15 } from "zustand";
|
3686
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
3668
3687
|
var getAttachment2 = ({ attachments }, useAttachment, partIndex) => {
|
3669
3688
|
let attachment = attachments[partIndex];
|
3670
3689
|
if (!attachment) return null;
|
@@ -3674,9 +3693,9 @@ var getAttachment2 = ({ attachments }, useAttachment, partIndex) => {
|
|
3674
3693
|
};
|
3675
3694
|
var useComposerAttachmentContext = (partIndex) => {
|
3676
3695
|
const { useComposer } = useThreadContext();
|
3677
|
-
const [context] =
|
3696
|
+
const [context] = useState13(
|
3678
3697
|
() => {
|
3679
|
-
const useAttachment =
|
3698
|
+
const useAttachment = create15(
|
3680
3699
|
() => getAttachment2(useComposer.getState(), void 0, partIndex)
|
3681
3700
|
);
|
3682
3701
|
return { type: "composer", useAttachment };
|
@@ -3699,11 +3718,11 @@ var useComposerAttachmentContext = (partIndex) => {
|
|
3699
3718
|
};
|
3700
3719
|
var ComposerAttachmentProvider = ({ attachmentIndex: partIndex, children }) => {
|
3701
3720
|
const context = useComposerAttachmentContext(partIndex);
|
3702
|
-
return /* @__PURE__ */
|
3721
|
+
return /* @__PURE__ */ jsx29(AttachmentContext.Provider, { value: context, children });
|
3703
3722
|
};
|
3704
3723
|
|
3705
3724
|
// src/primitives/composer/ComposerAttachments.tsx
|
3706
|
-
import { jsx as
|
3725
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
3707
3726
|
var getComponent2 = (components, attachment) => {
|
3708
3727
|
const type = attachment.type;
|
3709
3728
|
switch (type) {
|
@@ -3724,10 +3743,10 @@ var AttachmentComponent2 = ({ components }) => {
|
|
3724
3743
|
(a) => getComponent2(components, a.attachment)
|
3725
3744
|
);
|
3726
3745
|
if (!Component) return null;
|
3727
|
-
return /* @__PURE__ */
|
3746
|
+
return /* @__PURE__ */ jsx30(Component, {});
|
3728
3747
|
};
|
3729
3748
|
var ComposerAttachmentImpl = ({ components, attachmentIndex }) => {
|
3730
|
-
return /* @__PURE__ */
|
3749
|
+
return /* @__PURE__ */ jsx30(ComposerAttachmentProvider, { attachmentIndex, children: /* @__PURE__ */ jsx30(AttachmentComponent2, { components }) });
|
3731
3750
|
};
|
3732
3751
|
var ComposerAttachment = memo4(
|
3733
3752
|
ComposerAttachmentImpl,
|
@@ -3736,7 +3755,7 @@ var ComposerAttachment = memo4(
|
|
3736
3755
|
var ComposerPrimitiveAttachments = ({ components }) => {
|
3737
3756
|
const { useComposer } = useThreadContext();
|
3738
3757
|
const attachmentsCount = useComposer((s) => s.attachments.length);
|
3739
|
-
return Array.from({ length: attachmentsCount }, (_, index) => /* @__PURE__ */
|
3758
|
+
return Array.from({ length: attachmentsCount }, (_, index) => /* @__PURE__ */ jsx30(
|
3740
3759
|
ComposerAttachment,
|
3741
3760
|
{
|
3742
3761
|
attachmentIndex: index,
|
@@ -3781,9 +3800,9 @@ __export(thread_exports, {
|
|
3781
3800
|
// src/primitives/thread/ThreadRoot.tsx
|
3782
3801
|
import { Primitive as Primitive9 } from "@radix-ui/react-primitive";
|
3783
3802
|
import { forwardRef as forwardRef17 } from "react";
|
3784
|
-
import { jsx as
|
3803
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
3785
3804
|
var ThreadPrimitiveRoot = forwardRef17((props, ref) => {
|
3786
|
-
return /* @__PURE__ */
|
3805
|
+
return /* @__PURE__ */ jsx31(Primitive9.div, { ...props, ref });
|
3787
3806
|
});
|
3788
3807
|
ThreadPrimitiveRoot.displayName = "ThreadPrimitive.Root";
|
3789
3808
|
|
@@ -3918,13 +3937,13 @@ var useThreadViewportAutoScroll = ({
|
|
3918
3937
|
};
|
3919
3938
|
|
3920
3939
|
// src/primitives/thread/ThreadViewport.tsx
|
3921
|
-
import { jsx as
|
3940
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
3922
3941
|
var ThreadPrimitiveViewport = forwardRef18(({ autoScroll, onScroll, children, ...rest }, forwardedRef) => {
|
3923
3942
|
const autoScrollRef = useThreadViewportAutoScroll({
|
3924
3943
|
autoScroll
|
3925
3944
|
});
|
3926
3945
|
const ref = useComposedRefs4(forwardedRef, autoScrollRef);
|
3927
|
-
return /* @__PURE__ */
|
3946
|
+
return /* @__PURE__ */ jsx32(Primitive10.div, { ...rest, ref, children });
|
3928
3947
|
});
|
3929
3948
|
ThreadPrimitiveViewport.displayName = "ThreadPrimitive.Viewport";
|
3930
3949
|
|
@@ -3932,15 +3951,15 @@ ThreadPrimitiveViewport.displayName = "ThreadPrimitive.Viewport";
|
|
3932
3951
|
import { memo as memo5 } from "react";
|
3933
3952
|
|
3934
3953
|
// src/context/providers/MessageProvider.tsx
|
3935
|
-
import { useEffect as useEffect14, useState as
|
3936
|
-
import { create as
|
3954
|
+
import { useEffect as useEffect14, useState as useState14 } from "react";
|
3955
|
+
import { create as create18 } from "zustand";
|
3937
3956
|
|
3938
3957
|
// src/context/stores/EditComposer.ts
|
3939
|
-
import { create as
|
3958
|
+
import { create as create16 } from "zustand";
|
3940
3959
|
var makeEditComposerStore = ({
|
3941
3960
|
onEdit,
|
3942
3961
|
onSend
|
3943
|
-
}) =>
|
3962
|
+
}) => create16()((set, get) => ({
|
3944
3963
|
get value() {
|
3945
3964
|
return get().text;
|
3946
3965
|
},
|
@@ -3974,8 +3993,8 @@ var makeEditComposerStore = ({
|
|
3974
3993
|
}));
|
3975
3994
|
|
3976
3995
|
// src/context/stores/MessageUtils.ts
|
3977
|
-
import { create as
|
3978
|
-
var makeMessageUtilsStore = () =>
|
3996
|
+
import { create as create17 } from "zustand";
|
3997
|
+
var makeMessageUtilsStore = () => create17((set) => {
|
3979
3998
|
let utterance = null;
|
3980
3999
|
return {
|
3981
4000
|
isCopied: false,
|
@@ -4001,7 +4020,7 @@ var makeMessageUtilsStore = () => create16((set) => {
|
|
4001
4020
|
});
|
4002
4021
|
|
4003
4022
|
// src/context/providers/MessageProvider.tsx
|
4004
|
-
import { jsx as
|
4023
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
4005
4024
|
var getIsLast = (messages, message) => {
|
4006
4025
|
return messages[messages.length - 1]?.id === message.id;
|
4007
4026
|
};
|
@@ -4023,8 +4042,8 @@ var getMessageState = (messages, getBranches, useMessage, messageIndex) => {
|
|
4023
4042
|
};
|
4024
4043
|
var useMessageContext2 = (messageIndex) => {
|
4025
4044
|
const { useThreadMessages, useThreadActions } = useThreadContext();
|
4026
|
-
const [context] =
|
4027
|
-
const useMessage =
|
4045
|
+
const [context] = useState14(() => {
|
4046
|
+
const useMessage = create18(
|
4028
4047
|
() => getMessageState(
|
4029
4048
|
useThreadMessages.getState(),
|
4030
4049
|
useThreadActions.getState().getBranches,
|
@@ -4049,6 +4068,8 @@ var useMessageContext2 = (messageIndex) => {
|
|
4049
4068
|
throw new Error(
|
4050
4069
|
"Tried to edit a non-user message. Editing is only supported for user messages. This is likely an internal bug in assistant-ui."
|
4051
4070
|
);
|
4071
|
+
const previousText = getThreadMessageText(message);
|
4072
|
+
if (previousText === text) return;
|
4052
4073
|
const nonTextParts = message.content.filter(
|
4053
4074
|
(part) => part.type !== "text" && part.type !== "ui"
|
4054
4075
|
);
|
@@ -4083,11 +4104,11 @@ var MessageProvider = ({
|
|
4083
4104
|
children
|
4084
4105
|
}) => {
|
4085
4106
|
const context = useMessageContext2(messageIndex);
|
4086
|
-
return /* @__PURE__ */
|
4107
|
+
return /* @__PURE__ */ jsx33(MessageContext.Provider, { value: context, children });
|
4087
4108
|
};
|
4088
4109
|
|
4089
4110
|
// src/primitives/thread/ThreadMessages.tsx
|
4090
|
-
import { jsx as
|
4111
|
+
import { jsx as jsx34, jsxs as jsxs4 } from "react/jsx-runtime";
|
4091
4112
|
var DEFAULT_SYSTEM_MESSAGE = () => null;
|
4092
4113
|
var getComponents = (components) => {
|
4093
4114
|
return {
|
@@ -4104,11 +4125,11 @@ var ThreadMessageImpl = ({
|
|
4104
4125
|
const { UserMessage: UserMessage2, EditComposer: EditComposer2, AssistantMessage: AssistantMessage2, SystemMessage: SystemMessage2 } = getComponents(components);
|
4105
4126
|
return /* @__PURE__ */ jsxs4(MessageProvider, { messageIndex, children: [
|
4106
4127
|
/* @__PURE__ */ jsxs4(MessagePrimitiveIf, { user: true, children: [
|
4107
|
-
/* @__PURE__ */
|
4108
|
-
/* @__PURE__ */
|
4128
|
+
/* @__PURE__ */ jsx34(ComposerPrimitiveIf, { editing: false, children: /* @__PURE__ */ jsx34(UserMessage2, {}) }),
|
4129
|
+
/* @__PURE__ */ jsx34(ComposerPrimitiveIf, { editing: true, children: /* @__PURE__ */ jsx34(EditComposer2, {}) })
|
4109
4130
|
] }),
|
4110
|
-
/* @__PURE__ */
|
4111
|
-
/* @__PURE__ */
|
4131
|
+
/* @__PURE__ */ jsx34(MessagePrimitiveIf, { assistant: true, children: /* @__PURE__ */ jsx34(AssistantMessage2, {}) }),
|
4132
|
+
/* @__PURE__ */ jsx34(MessagePrimitiveIf, { system: true, children: /* @__PURE__ */ jsx34(SystemMessage2, {}) })
|
4112
4133
|
] });
|
4113
4134
|
};
|
4114
4135
|
var ThreadMessage = memo5(
|
@@ -4121,7 +4142,7 @@ var ThreadPrimitiveMessagesImpl = ({
|
|
4121
4142
|
const { useThreadMessages } = useThreadContext();
|
4122
4143
|
const messagesLength = useThreadMessages((t) => t.length);
|
4123
4144
|
if (messagesLength === 0) return null;
|
4124
|
-
return Array.from({ length: messagesLength }, (_, index) => /* @__PURE__ */
|
4145
|
+
return Array.from({ length: messagesLength }, (_, index) => /* @__PURE__ */ jsx34(ThreadMessage, { messageIndex: index, components }, index));
|
4125
4146
|
};
|
4126
4147
|
ThreadPrimitiveMessagesImpl.displayName = "ThreadPrimitive.Messages";
|
4127
4148
|
var ThreadPrimitiveMessages = memo5(
|
@@ -4147,7 +4168,7 @@ import {
|
|
4147
4168
|
createContext as createContext7,
|
4148
4169
|
useContext as useContext7
|
4149
4170
|
} from "react";
|
4150
|
-
import { Fragment as Fragment3, jsx as
|
4171
|
+
import { Fragment as Fragment3, jsx as jsx35 } from "react/jsx-runtime";
|
4151
4172
|
var ThreadConfigContext = createContext7({});
|
4152
4173
|
var useThreadConfig = () => {
|
4153
4174
|
return useContext7(ThreadConfigContext);
|
@@ -4157,14 +4178,14 @@ var ThreadConfigProvider = ({
|
|
4157
4178
|
config
|
4158
4179
|
}) => {
|
4159
4180
|
const assistant = useAssistantContext({ optional: true });
|
4160
|
-
const configProvider = config && Object.keys(config ?? {}).length > 0 ? /* @__PURE__ */
|
4181
|
+
const configProvider = config && Object.keys(config ?? {}).length > 0 ? /* @__PURE__ */ jsx35(ThreadConfigContext.Provider, { value: config, children }) : /* @__PURE__ */ jsx35(Fragment3, { children });
|
4161
4182
|
if (!config?.runtime) return configProvider;
|
4162
4183
|
if (assistant) {
|
4163
4184
|
throw new Error(
|
4164
4185
|
"You provided a runtime to <Thread> while simulataneously using <AssistantRuntimeProvider>. This is not allowed."
|
4165
4186
|
);
|
4166
4187
|
}
|
4167
|
-
return /* @__PURE__ */
|
4188
|
+
return /* @__PURE__ */ jsx35(AssistantRuntimeProvider, { runtime: config.runtime, children: configProvider });
|
4168
4189
|
};
|
4169
4190
|
ThreadConfigProvider.displayName = "ThreadConfigProvider";
|
4170
4191
|
|
@@ -4177,7 +4198,7 @@ import {
|
|
4177
4198
|
RefreshCwIcon,
|
4178
4199
|
StopCircleIcon
|
4179
4200
|
} from "lucide-react";
|
4180
|
-
import { Fragment as Fragment4, jsx as
|
4201
|
+
import { Fragment as Fragment4, jsx as jsx36, jsxs as jsxs5 } from "react/jsx-runtime";
|
4181
4202
|
var useAllowCopy = (ensureCapability = false) => {
|
4182
4203
|
const { assistantMessage: { allowCopy = true } = {} } = useThreadConfig();
|
4183
4204
|
const { useThread } = useThreadContext();
|
@@ -4208,9 +4229,9 @@ var AssistantActionBar = () => {
|
|
4208
4229
|
autohide: "not-last",
|
4209
4230
|
autohideFloat: "single-branch",
|
4210
4231
|
children: [
|
4211
|
-
allowSpeak && /* @__PURE__ */
|
4212
|
-
allowCopy && /* @__PURE__ */
|
4213
|
-
allowReload && /* @__PURE__ */
|
4232
|
+
allowSpeak && /* @__PURE__ */ jsx36(AssistantActionBarSpeechControl, {}),
|
4233
|
+
allowCopy && /* @__PURE__ */ jsx36(AssistantActionBarCopy, {}),
|
4234
|
+
allowReload && /* @__PURE__ */ jsx36(AssistantActionBarReload, {})
|
4214
4235
|
]
|
4215
4236
|
}
|
4216
4237
|
);
|
@@ -4226,16 +4247,16 @@ var AssistantActionBarCopy = forwardRef19((props, ref) => {
|
|
4226
4247
|
assistantMessage: { copy: { tooltip = "Copy" } = {} } = {}
|
4227
4248
|
} = {}
|
4228
4249
|
} = useThreadConfig();
|
4229
|
-
return /* @__PURE__ */
|
4230
|
-
/* @__PURE__ */
|
4231
|
-
/* @__PURE__ */
|
4250
|
+
return /* @__PURE__ */ jsx36(actionBar_exports.Copy, { asChild: true, children: /* @__PURE__ */ jsx36(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
4251
|
+
/* @__PURE__ */ jsx36(message_exports.If, { copied: true, children: /* @__PURE__ */ jsx36(CheckIcon, {}) }),
|
4252
|
+
/* @__PURE__ */ jsx36(message_exports.If, { copied: false, children: /* @__PURE__ */ jsx36(CopyIcon, {}) })
|
4232
4253
|
] }) }) });
|
4233
4254
|
});
|
4234
4255
|
AssistantActionBarCopy.displayName = "AssistantActionBarCopy";
|
4235
4256
|
var AssistantActionBarSpeechControl = () => {
|
4236
4257
|
return /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
4237
|
-
/* @__PURE__ */
|
4238
|
-
/* @__PURE__ */
|
4258
|
+
/* @__PURE__ */ jsx36(message_exports.If, { speaking: false, children: /* @__PURE__ */ jsx36(AssistantActionBarSpeak, {}) }),
|
4259
|
+
/* @__PURE__ */ jsx36(message_exports.If, { speaking: true, children: /* @__PURE__ */ jsx36(AssistantActionBarStopSpeaking, {}) })
|
4239
4260
|
] });
|
4240
4261
|
};
|
4241
4262
|
var AssistantActionBarSpeak = forwardRef19((props, ref) => {
|
@@ -4245,7 +4266,7 @@ var AssistantActionBarSpeak = forwardRef19((props, ref) => {
|
|
4245
4266
|
} = {}
|
4246
4267
|
} = useThreadConfig();
|
4247
4268
|
const allowSpeak = useAllowSpeak();
|
4248
|
-
return /* @__PURE__ */
|
4269
|
+
return /* @__PURE__ */ jsx36(actionBar_exports.Speak, { disabled: !allowSpeak, asChild: true, children: /* @__PURE__ */ jsx36(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx36(AudioLinesIcon, {}) }) });
|
4249
4270
|
});
|
4250
4271
|
AssistantActionBarSpeak.displayName = "AssistantActionBarSpeak";
|
4251
4272
|
var AssistantActionBarStopSpeaking = forwardRef19((props, ref) => {
|
@@ -4257,7 +4278,7 @@ var AssistantActionBarStopSpeaking = forwardRef19((props, ref) => {
|
|
4257
4278
|
} = {}
|
4258
4279
|
} = useThreadConfig();
|
4259
4280
|
const allowSpeak = useAllowSpeak();
|
4260
|
-
return /* @__PURE__ */
|
4281
|
+
return /* @__PURE__ */ jsx36(actionBar_exports.StopSpeaking, { disabled: !allowSpeak, asChild: true, children: /* @__PURE__ */ jsx36(TooltipIconButton, { tooltip: stopTooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx36(StopCircleIcon, {}) }) });
|
4261
4282
|
});
|
4262
4283
|
AssistantActionBarStopSpeaking.displayName = "AssistantActionBarStopSpeaking";
|
4263
4284
|
var AssistantActionBarReload = forwardRef19((props, ref) => {
|
@@ -4267,7 +4288,7 @@ var AssistantActionBarReload = forwardRef19((props, ref) => {
|
|
4267
4288
|
} = {}
|
4268
4289
|
} = useThreadConfig();
|
4269
4290
|
const allowReload = useAllowReload();
|
4270
|
-
return /* @__PURE__ */
|
4291
|
+
return /* @__PURE__ */ jsx36(actionBar_exports.Reload, { disabled: !allowReload, asChild: true, children: /* @__PURE__ */ jsx36(TooltipIconButton, { tooltip, ...props, ref, children: /* @__PURE__ */ jsx36(RefreshCwIcon, {}) }) });
|
4271
4292
|
});
|
4272
4293
|
AssistantActionBarReload.displayName = "AssistantActionBarReload";
|
4273
4294
|
var exports = {
|
@@ -4289,7 +4310,7 @@ import { forwardRef as forwardRef21, useMemo as useMemo5 } from "react";
|
|
4289
4310
|
// src/ui/branch-picker.tsx
|
4290
4311
|
import { forwardRef as forwardRef20 } from "react";
|
4291
4312
|
import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
|
4292
|
-
import { jsx as
|
4313
|
+
import { jsx as jsx37, jsxs as jsxs6 } from "react/jsx-runtime";
|
4293
4314
|
var useAllowBranchPicker = (ensureCapability = false) => {
|
4294
4315
|
const { branchPicker: { allowBranchPicker = true } = {} } = useThreadConfig();
|
4295
4316
|
const { useThread } = useThreadContext();
|
@@ -4300,9 +4321,9 @@ var BranchPicker = () => {
|
|
4300
4321
|
const allowBranchPicker = useAllowBranchPicker();
|
4301
4322
|
if (!allowBranchPicker) return null;
|
4302
4323
|
return /* @__PURE__ */ jsxs6(BranchPickerRoot, { hideWhenSingleBranch: true, children: [
|
4303
|
-
/* @__PURE__ */
|
4304
|
-
/* @__PURE__ */
|
4305
|
-
/* @__PURE__ */
|
4324
|
+
/* @__PURE__ */ jsx37(BranchPickerPrevious2, {}),
|
4325
|
+
/* @__PURE__ */ jsx37(BranchPickerState, {}),
|
4326
|
+
/* @__PURE__ */ jsx37(BranchPickerNext, {})
|
4306
4327
|
] });
|
4307
4328
|
};
|
4308
4329
|
BranchPicker.displayName = "BranchPicker";
|
@@ -4317,7 +4338,7 @@ var BranchPickerPrevious2 = forwardRef20((props, ref) => {
|
|
4317
4338
|
} = {}
|
4318
4339
|
} = useThreadConfig();
|
4319
4340
|
const allowBranchPicker = useAllowBranchPicker();
|
4320
|
-
return /* @__PURE__ */
|
4341
|
+
return /* @__PURE__ */ jsx37(branchPicker_exports.Previous, { disabled: !allowBranchPicker, asChild: true, children: /* @__PURE__ */ jsx37(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx37(ChevronLeftIcon, {}) }) });
|
4321
4342
|
});
|
4322
4343
|
BranchPickerPrevious2.displayName = "BranchPickerPrevious";
|
4323
4344
|
var BranchPickerStateWrapper = withDefaults("span", {
|
@@ -4325,9 +4346,9 @@ var BranchPickerStateWrapper = withDefaults("span", {
|
|
4325
4346
|
});
|
4326
4347
|
var BranchPickerState = forwardRef20((props, ref) => {
|
4327
4348
|
return /* @__PURE__ */ jsxs6(BranchPickerStateWrapper, { ...props, ref, children: [
|
4328
|
-
/* @__PURE__ */
|
4349
|
+
/* @__PURE__ */ jsx37(branchPicker_exports.Number, {}),
|
4329
4350
|
" / ",
|
4330
|
-
/* @__PURE__ */
|
4351
|
+
/* @__PURE__ */ jsx37(branchPicker_exports.Count, {})
|
4331
4352
|
] });
|
4332
4353
|
});
|
4333
4354
|
BranchPickerState.displayName = "BranchPickerState";
|
@@ -4336,7 +4357,7 @@ var BranchPickerNext = forwardRef20((props, ref) => {
|
|
4336
4357
|
strings: { branchPicker: { next: { tooltip = "Next" } = {} } = {} } = {}
|
4337
4358
|
} = useThreadConfig();
|
4338
4359
|
const allowBranchPicker = useAllowBranchPicker();
|
4339
|
-
return /* @__PURE__ */
|
4360
|
+
return /* @__PURE__ */ jsx37(branchPicker_exports.Next, { disabled: !allowBranchPicker, asChild: true, children: /* @__PURE__ */ jsx37(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx37(ChevronRightIcon, {}) }) });
|
4340
4361
|
});
|
4341
4362
|
BranchPickerNext.displayName = "BranchPickerNext";
|
4342
4363
|
var exports2 = {
|
@@ -4348,12 +4369,12 @@ var branch_picker_default = Object.assign(BranchPicker, exports2);
|
|
4348
4369
|
|
4349
4370
|
// src/ui/base/avatar.tsx
|
4350
4371
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
4351
|
-
import { jsx as
|
4372
|
+
import { jsx as jsx38, jsxs as jsxs7 } from "react/jsx-runtime";
|
4352
4373
|
var Avatar = ({ src, alt, fallback }) => {
|
4353
4374
|
if (src == null && fallback == null) return null;
|
4354
4375
|
return /* @__PURE__ */ jsxs7(AvatarRoot, { children: [
|
4355
|
-
src != null && /* @__PURE__ */
|
4356
|
-
fallback != null && /* @__PURE__ */
|
4376
|
+
src != null && /* @__PURE__ */ jsx38(AvatarImage, { src, alt }),
|
4377
|
+
fallback != null && /* @__PURE__ */ jsx38(AvatarFallback, { children: fallback })
|
4357
4378
|
] });
|
4358
4379
|
};
|
4359
4380
|
Avatar.displayName = "Avatar";
|
@@ -4372,10 +4393,10 @@ AvatarFallback.displayName = "AvatarFallback";
|
|
4372
4393
|
|
4373
4394
|
// src/ui/content-part.tsx
|
4374
4395
|
import classNames2 from "classnames";
|
4375
|
-
import { jsx as
|
4396
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
4376
4397
|
var Text = () => {
|
4377
4398
|
const status = useSmoothStatus();
|
4378
|
-
return /* @__PURE__ */
|
4399
|
+
return /* @__PURE__ */ jsx39(
|
4379
4400
|
contentPart_exports.Text,
|
4380
4401
|
{
|
4381
4402
|
className: classNames2(
|
@@ -4390,19 +4411,19 @@ var exports3 = { Text: withSmoothContextProvider(Text) };
|
|
4390
4411
|
var content_part_default = exports3;
|
4391
4412
|
|
4392
4413
|
// src/ui/assistant-message.tsx
|
4393
|
-
import { jsx as
|
4414
|
+
import { jsx as jsx40, jsxs as jsxs8 } from "react/jsx-runtime";
|
4394
4415
|
var AssistantMessage = () => {
|
4395
4416
|
return /* @__PURE__ */ jsxs8(AssistantMessageRoot, { children: [
|
4396
|
-
/* @__PURE__ */
|
4397
|
-
/* @__PURE__ */
|
4398
|
-
/* @__PURE__ */
|
4399
|
-
/* @__PURE__ */
|
4417
|
+
/* @__PURE__ */ jsx40(AssistantMessageAvatar, {}),
|
4418
|
+
/* @__PURE__ */ jsx40(AssistantMessageContent, {}),
|
4419
|
+
/* @__PURE__ */ jsx40(branch_picker_default, {}),
|
4420
|
+
/* @__PURE__ */ jsx40(assistant_action_bar_default, {})
|
4400
4421
|
] });
|
4401
4422
|
};
|
4402
4423
|
AssistantMessage.displayName = "AssistantMessage";
|
4403
4424
|
var AssistantMessageAvatar = () => {
|
4404
4425
|
const { assistantAvatar: avatar = { fallback: "A" } } = useThreadConfig();
|
4405
|
-
return /* @__PURE__ */
|
4426
|
+
return /* @__PURE__ */ jsx40(Avatar, { ...avatar });
|
4406
4427
|
};
|
4407
4428
|
var AssistantMessageRoot = withDefaults(message_exports.Root, {
|
4408
4429
|
className: "aui-assistant-message-root"
|
@@ -4426,7 +4447,7 @@ var AssistantMessageContent = forwardRef21(({ components: componentsProp, ...res
|
|
4426
4447
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
4427
4448
|
[...tools ?? [], components.ToolFallback]
|
4428
4449
|
);
|
4429
|
-
return /* @__PURE__ */
|
4450
|
+
return /* @__PURE__ */ jsx40(AssistantMessageContentWrapper, { ...rest, ref, children: /* @__PURE__ */ jsx40(
|
4430
4451
|
message_exports.Content,
|
4431
4452
|
{
|
4432
4453
|
components: {
|
@@ -4461,9 +4482,9 @@ import { forwardRef as forwardRef23 } from "react";
|
|
4461
4482
|
import { PaperclipIcon, SendHorizontalIcon } from "lucide-react";
|
4462
4483
|
|
4463
4484
|
// src/ui/base/CircleStopIcon.tsx
|
4464
|
-
import { jsx as
|
4485
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
4465
4486
|
var CircleStopIcon = () => {
|
4466
|
-
return /* @__PURE__ */
|
4487
|
+
return /* @__PURE__ */ jsx41(
|
4467
4488
|
"svg",
|
4468
4489
|
{
|
4469
4490
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -4471,7 +4492,7 @@ var CircleStopIcon = () => {
|
|
4471
4492
|
fill: "currentColor",
|
4472
4493
|
width: "16",
|
4473
4494
|
height: "16",
|
4474
|
-
children: /* @__PURE__ */
|
4495
|
+
children: /* @__PURE__ */ jsx41("rect", { width: "10", height: "10", x: "3", y: "3", rx: "2" })
|
4475
4496
|
}
|
4476
4497
|
);
|
4477
4498
|
};
|
@@ -4480,7 +4501,7 @@ CircleStopIcon.displayName = "CircleStopIcon";
|
|
4480
4501
|
// src/ui/composer-attachment.tsx
|
4481
4502
|
import { forwardRef as forwardRef22 } from "react";
|
4482
4503
|
import { CircleXIcon } from "lucide-react";
|
4483
|
-
import { jsx as
|
4504
|
+
import { jsx as jsx42, jsxs as jsxs9 } from "react/jsx-runtime";
|
4484
4505
|
var ComposerAttachmentRoot = withDefaults("div", {
|
4485
4506
|
className: "aui-composer-attachment-root"
|
4486
4507
|
});
|
@@ -4491,7 +4512,7 @@ var ComposerAttachment2 = () => {
|
|
4491
4512
|
return /* @__PURE__ */ jsxs9(ComposerAttachmentRoot, { children: [
|
4492
4513
|
".",
|
4493
4514
|
attachment.name.split(".").pop(),
|
4494
|
-
/* @__PURE__ */
|
4515
|
+
/* @__PURE__ */ jsx42(ComposerAttachmentRemove, {})
|
4495
4516
|
] });
|
4496
4517
|
};
|
4497
4518
|
ComposerAttachment2.displayName = "ComposerAttachment";
|
@@ -4506,7 +4527,7 @@ var ComposerAttachmentRemove = forwardRef22((props, ref) => {
|
|
4506
4527
|
const handleRemoveAttachment = () => {
|
4507
4528
|
useComposer.getState().removeAttachment(useAttachment.getState().attachment.id);
|
4508
4529
|
};
|
4509
|
-
return /* @__PURE__ */
|
4530
|
+
return /* @__PURE__ */ jsx42(
|
4510
4531
|
TooltipIconButton,
|
4511
4532
|
{
|
4512
4533
|
tooltip,
|
@@ -4515,7 +4536,7 @@ var ComposerAttachmentRemove = forwardRef22((props, ref) => {
|
|
4515
4536
|
...props,
|
4516
4537
|
onClick: handleRemoveAttachment,
|
4517
4538
|
ref,
|
4518
|
-
children: props.children ?? /* @__PURE__ */
|
4539
|
+
children: props.children ?? /* @__PURE__ */ jsx42(CircleXIcon, {})
|
4519
4540
|
}
|
4520
4541
|
);
|
4521
4542
|
});
|
@@ -4530,7 +4551,7 @@ var composer_attachment_default = Object.assign(
|
|
4530
4551
|
);
|
4531
4552
|
|
4532
4553
|
// src/ui/composer.tsx
|
4533
|
-
import { Fragment as Fragment5, jsx as
|
4554
|
+
import { Fragment as Fragment5, jsx as jsx43, jsxs as jsxs10 } from "react/jsx-runtime";
|
4534
4555
|
var useAllowAttachments = (ensureCapability = false) => {
|
4535
4556
|
const { composer: { allowAttachments = true } = {} } = useThreadConfig();
|
4536
4557
|
const { useThread } = useThreadContext();
|
@@ -4540,10 +4561,10 @@ var useAllowAttachments = (ensureCapability = false) => {
|
|
4540
4561
|
var Composer = () => {
|
4541
4562
|
const allowAttachments = useAllowAttachments(true);
|
4542
4563
|
return /* @__PURE__ */ jsxs10(ComposerRoot, { children: [
|
4543
|
-
allowAttachments && /* @__PURE__ */
|
4544
|
-
allowAttachments && /* @__PURE__ */
|
4545
|
-
/* @__PURE__ */
|
4546
|
-
/* @__PURE__ */
|
4564
|
+
allowAttachments && /* @__PURE__ */ jsx43(ComposerAttachments, {}),
|
4565
|
+
allowAttachments && /* @__PURE__ */ jsx43(ComposerAddAttachment, {}),
|
4566
|
+
/* @__PURE__ */ jsx43(ComposerInput, { autoFocus: true }),
|
4567
|
+
/* @__PURE__ */ jsx43(ComposerAction, {})
|
4547
4568
|
] });
|
4548
4569
|
};
|
4549
4570
|
Composer.displayName = "Composer";
|
@@ -4563,7 +4584,7 @@ var ComposerInput = forwardRef23(
|
|
4563
4584
|
composer: { input: { placeholder = "Write a message..." } = {} } = {}
|
4564
4585
|
} = {}
|
4565
4586
|
} = useThreadConfig();
|
4566
|
-
return /* @__PURE__ */
|
4587
|
+
return /* @__PURE__ */ jsx43(ComposerInputStyled, { placeholder, ...props, ref });
|
4567
4588
|
}
|
4568
4589
|
);
|
4569
4590
|
ComposerInput.displayName = "ComposerInput";
|
@@ -4571,7 +4592,7 @@ var ComposerAttachmentsContainer = withDefaults("div", {
|
|
4571
4592
|
className: "aui-composer-attachments"
|
4572
4593
|
});
|
4573
4594
|
var ComposerAttachments = ({ components }) => {
|
4574
|
-
return /* @__PURE__ */
|
4595
|
+
return /* @__PURE__ */ jsx43(ComposerAttachmentsContainer, { children: /* @__PURE__ */ jsx43(
|
4575
4596
|
composer_exports.Attachments,
|
4576
4597
|
{
|
4577
4598
|
components: {
|
@@ -4592,14 +4613,14 @@ var ComposerAddAttachment = forwardRef23((props, ref) => {
|
|
4592
4613
|
} = {}
|
4593
4614
|
} = useThreadConfig();
|
4594
4615
|
const allowAttachments = useAllowAttachments();
|
4595
|
-
return /* @__PURE__ */
|
4616
|
+
return /* @__PURE__ */ jsx43(composer_exports.AddAttachment, { disabled: !allowAttachments, asChild: true, children: /* @__PURE__ */ jsx43(
|
4596
4617
|
ComposerAttachButton,
|
4597
4618
|
{
|
4598
4619
|
tooltip,
|
4599
4620
|
variant: "ghost",
|
4600
4621
|
...props,
|
4601
4622
|
ref,
|
4602
|
-
children: props.children ?? /* @__PURE__ */
|
4623
|
+
children: props.children ?? /* @__PURE__ */ jsx43(PaperclipIcon, {})
|
4603
4624
|
}
|
4604
4625
|
) });
|
4605
4626
|
});
|
@@ -4611,10 +4632,10 @@ var useAllowCancel = () => {
|
|
4611
4632
|
};
|
4612
4633
|
var ComposerAction = () => {
|
4613
4634
|
const allowCancel = useAllowCancel();
|
4614
|
-
if (!allowCancel) return /* @__PURE__ */
|
4635
|
+
if (!allowCancel) return /* @__PURE__ */ jsx43(ComposerSend, {});
|
4615
4636
|
return /* @__PURE__ */ jsxs10(Fragment5, { children: [
|
4616
|
-
/* @__PURE__ */
|
4617
|
-
/* @__PURE__ */
|
4637
|
+
/* @__PURE__ */ jsx43(thread_exports.If, { running: false, children: /* @__PURE__ */ jsx43(ComposerSend, {}) }),
|
4638
|
+
/* @__PURE__ */ jsx43(thread_exports.If, { running: true, children: /* @__PURE__ */ jsx43(ComposerCancel, {}) })
|
4618
4639
|
] });
|
4619
4640
|
};
|
4620
4641
|
ComposerAction.displayName = "ComposerAction";
|
@@ -4626,7 +4647,7 @@ var ComposerSend = forwardRef23((props, ref) => {
|
|
4626
4647
|
const {
|
4627
4648
|
strings: { composer: { send: { tooltip = "Send" } = {} } = {} } = {}
|
4628
4649
|
} = useThreadConfig();
|
4629
|
-
return /* @__PURE__ */
|
4650
|
+
return /* @__PURE__ */ jsx43(composer_exports.Send, { asChild: true, children: /* @__PURE__ */ jsx43(ComposerSendButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx43(SendHorizontalIcon, {}) }) });
|
4630
4651
|
});
|
4631
4652
|
ComposerSend.displayName = "ComposerSend";
|
4632
4653
|
var ComposerCancelButton = withDefaults(TooltipIconButton, {
|
@@ -4637,7 +4658,7 @@ var ComposerCancel = forwardRef23((props, ref) => {
|
|
4637
4658
|
const {
|
4638
4659
|
strings: { composer: { cancel: { tooltip = "Cancel" } = {} } = {} } = {}
|
4639
4660
|
} = useThreadConfig();
|
4640
|
-
return /* @__PURE__ */
|
4661
|
+
return /* @__PURE__ */ jsx43(composer_exports.Cancel, { asChild: true, children: /* @__PURE__ */ jsx43(ComposerCancelButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx43(CircleStopIcon, {}) }) });
|
4641
4662
|
});
|
4642
4663
|
ComposerCancel.displayName = "ComposerCancel";
|
4643
4664
|
var exports6 = {
|
@@ -4653,14 +4674,14 @@ var composer_default = Object.assign(Composer, exports6);
|
|
4653
4674
|
|
4654
4675
|
// src/ui/thread-welcome.tsx
|
4655
4676
|
import { forwardRef as forwardRef24 } from "react";
|
4656
|
-
import { jsx as
|
4677
|
+
import { jsx as jsx44, jsxs as jsxs11 } from "react/jsx-runtime";
|
4657
4678
|
var ThreadWelcome = () => {
|
4658
4679
|
return /* @__PURE__ */ jsxs11(ThreadWelcomeRoot, { children: [
|
4659
4680
|
/* @__PURE__ */ jsxs11(ThreadWelcomeCenter, { children: [
|
4660
|
-
/* @__PURE__ */
|
4661
|
-
/* @__PURE__ */
|
4681
|
+
/* @__PURE__ */ jsx44(ThreadWelcomeAvatar, {}),
|
4682
|
+
/* @__PURE__ */ jsx44(ThreadWelcomeMessage, {})
|
4662
4683
|
] }),
|
4663
|
-
/* @__PURE__ */
|
4684
|
+
/* @__PURE__ */ jsx44(ThreadWelcomeSuggestions, {})
|
4664
4685
|
] });
|
4665
4686
|
};
|
4666
4687
|
ThreadWelcome.displayName = "ThreadWelcome";
|
@@ -4672,20 +4693,20 @@ var ThreadWelcomeCenter = withDefaults("div", {
|
|
4672
4693
|
});
|
4673
4694
|
var ThreadWelcomeRoot = forwardRef24(
|
4674
4695
|
(props, ref) => {
|
4675
|
-
return /* @__PURE__ */
|
4696
|
+
return /* @__PURE__ */ jsx44(thread_exports.Empty, { children: /* @__PURE__ */ jsx44(ThreadWelcomeRootStyled, { ...props, ref }) });
|
4676
4697
|
}
|
4677
4698
|
);
|
4678
4699
|
ThreadWelcomeRoot.displayName = "ThreadWelcomeRoot";
|
4679
4700
|
var ThreadWelcomeAvatar = () => {
|
4680
4701
|
const { assistantAvatar: avatar = { fallback: "A" } } = useThreadConfig();
|
4681
|
-
return /* @__PURE__ */
|
4702
|
+
return /* @__PURE__ */ jsx44(Avatar, { ...avatar });
|
4682
4703
|
};
|
4683
4704
|
var ThreadWelcomeMessageStyled = withDefaults("p", {
|
4684
4705
|
className: "aui-thread-welcome-message"
|
4685
4706
|
});
|
4686
4707
|
var ThreadWelcomeMessage = forwardRef24(({ message: messageProp, ...rest }, ref) => {
|
4687
4708
|
const { welcome: { message = "How can I help you today?" } = {} } = useThreadConfig();
|
4688
|
-
return /* @__PURE__ */
|
4709
|
+
return /* @__PURE__ */ jsx44(ThreadWelcomeMessageStyled, { ...rest, ref, children: messageProp ?? message });
|
4689
4710
|
});
|
4690
4711
|
ThreadWelcomeMessage.displayName = "ThreadWelcomeMessage";
|
4691
4712
|
var ThreadWelcomeSuggestionContainer = withDefaults("div", {
|
@@ -4697,21 +4718,21 @@ var ThreadWelcomeSuggestionStyled = withDefaults(thread_exports.Suggestion, {
|
|
4697
4718
|
var ThreadWelcomeSuggestion = ({
|
4698
4719
|
suggestion: { text, prompt }
|
4699
4720
|
}) => {
|
4700
|
-
return /* @__PURE__ */
|
4721
|
+
return /* @__PURE__ */ jsx44(
|
4701
4722
|
ThreadWelcomeSuggestionStyled,
|
4702
4723
|
{
|
4703
4724
|
prompt,
|
4704
4725
|
method: "replace",
|
4705
4726
|
autoSend: true,
|
4706
|
-
children: /* @__PURE__ */
|
4727
|
+
children: /* @__PURE__ */ jsx44("span", { className: "aui-thread-welcome-suggestion-text", children: text ?? prompt })
|
4707
4728
|
}
|
4708
4729
|
);
|
4709
4730
|
};
|
4710
4731
|
var ThreadWelcomeSuggestions = () => {
|
4711
4732
|
const { welcome: { suggestions } = {} } = useThreadConfig();
|
4712
|
-
return /* @__PURE__ */
|
4733
|
+
return /* @__PURE__ */ jsx44(ThreadWelcomeSuggestionContainer, { children: suggestions?.map((suggestion, idx) => {
|
4713
4734
|
const key = `${suggestion.prompt}-${idx}`;
|
4714
|
-
return /* @__PURE__ */
|
4735
|
+
return /* @__PURE__ */ jsx44(ThreadWelcomeSuggestion, { suggestion }, key);
|
4715
4736
|
}) });
|
4716
4737
|
};
|
4717
4738
|
ThreadWelcomeSuggestions.displayName = "ThreadWelcomeSuggestions";
|
@@ -4731,7 +4752,7 @@ import { forwardRef as forwardRef26 } from "react";
|
|
4731
4752
|
// src/ui/user-action-bar.tsx
|
4732
4753
|
import { forwardRef as forwardRef25 } from "react";
|
4733
4754
|
import { PencilIcon } from "lucide-react";
|
4734
|
-
import { jsx as
|
4755
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
4735
4756
|
var useAllowEdit = (ensureCapability = false) => {
|
4736
4757
|
const { userMessage: { allowEdit = true } = {} } = useThreadConfig();
|
4737
4758
|
const { useThread } = useThreadContext();
|
@@ -4741,7 +4762,7 @@ var useAllowEdit = (ensureCapability = false) => {
|
|
4741
4762
|
var UserActionBar = () => {
|
4742
4763
|
const allowEdit = useAllowEdit(true);
|
4743
4764
|
if (!allowEdit) return null;
|
4744
|
-
return /* @__PURE__ */
|
4765
|
+
return /* @__PURE__ */ jsx45(UserActionBarRoot, { hideWhenRunning: true, autohide: "not-last", children: /* @__PURE__ */ jsx45(UserActionBarEdit, {}) });
|
4745
4766
|
};
|
4746
4767
|
UserActionBar.displayName = "UserActionBar";
|
4747
4768
|
var UserActionBarRoot = withDefaults(actionBar_exports.Root, {
|
@@ -4753,7 +4774,7 @@ var UserActionBarEdit = forwardRef25((props, ref) => {
|
|
4753
4774
|
strings: { userMessage: { edit: { tooltip = "Edit" } = {} } = {} } = {}
|
4754
4775
|
} = useThreadConfig();
|
4755
4776
|
const allowEdit = useAllowEdit();
|
4756
|
-
return /* @__PURE__ */
|
4777
|
+
return /* @__PURE__ */ jsx45(actionBar_exports.Edit, { disabled: !allowEdit, asChild: true, children: /* @__PURE__ */ jsx45(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx45(PencilIcon, {}) }) });
|
4757
4778
|
});
|
4758
4779
|
UserActionBarEdit.displayName = "UserActionBarEdit";
|
4759
4780
|
var exports8 = {
|
@@ -4786,13 +4807,13 @@ var user_message_attachment_default = Object.assign(
|
|
4786
4807
|
);
|
4787
4808
|
|
4788
4809
|
// src/ui/user-message.tsx
|
4789
|
-
import { jsx as
|
4810
|
+
import { jsx as jsx46, jsxs as jsxs13 } from "react/jsx-runtime";
|
4790
4811
|
var UserMessage = () => {
|
4791
4812
|
return /* @__PURE__ */ jsxs13(UserMessageRoot, { children: [
|
4792
|
-
/* @__PURE__ */
|
4793
|
-
/* @__PURE__ */
|
4794
|
-
/* @__PURE__ */
|
4795
|
-
/* @__PURE__ */
|
4813
|
+
/* @__PURE__ */ jsx46(UserMessageAttachments, {}),
|
4814
|
+
/* @__PURE__ */ jsx46(user_action_bar_default, {}),
|
4815
|
+
/* @__PURE__ */ jsx46(UserMessageContent, {}),
|
4816
|
+
/* @__PURE__ */ jsx46(branch_picker_default, {})
|
4796
4817
|
] });
|
4797
4818
|
};
|
4798
4819
|
UserMessage.displayName = "UserMessage";
|
@@ -4805,7 +4826,7 @@ var UserMessageContentWrapper = withDefaults("div", {
|
|
4805
4826
|
});
|
4806
4827
|
var UserMessageContent = forwardRef26(
|
4807
4828
|
({ components, ...props }, ref) => {
|
4808
|
-
return /* @__PURE__ */
|
4829
|
+
return /* @__PURE__ */ jsx46(UserMessageContentWrapper, { ...props, ref, children: /* @__PURE__ */ jsx46(
|
4809
4830
|
message_exports.Content,
|
4810
4831
|
{
|
4811
4832
|
components: {
|
@@ -4823,7 +4844,7 @@ var UserMessageAttachmentsContainer = withDefaults("div", {
|
|
4823
4844
|
var UserMessageAttachments = ({
|
4824
4845
|
components
|
4825
4846
|
}) => {
|
4826
|
-
return /* @__PURE__ */
|
4847
|
+
return /* @__PURE__ */ jsx46(message_exports.If, { hasAttachments: true, children: /* @__PURE__ */ jsx46(UserMessageAttachmentsContainer, { children: /* @__PURE__ */ jsx46(
|
4827
4848
|
message_exports.Attachments,
|
4828
4849
|
{
|
4829
4850
|
components: {
|
@@ -4842,13 +4863,13 @@ var user_message_default = Object.assign(UserMessage, exports10);
|
|
4842
4863
|
|
4843
4864
|
// src/ui/edit-composer.tsx
|
4844
4865
|
import { forwardRef as forwardRef27 } from "react";
|
4845
|
-
import { jsx as
|
4866
|
+
import { jsx as jsx47, jsxs as jsxs14 } from "react/jsx-runtime";
|
4846
4867
|
var EditComposer = () => {
|
4847
4868
|
return /* @__PURE__ */ jsxs14(EditComposerRoot, { children: [
|
4848
|
-
/* @__PURE__ */
|
4869
|
+
/* @__PURE__ */ jsx47(EditComposerInput, {}),
|
4849
4870
|
/* @__PURE__ */ jsxs14(EditComposerFooter, { children: [
|
4850
|
-
/* @__PURE__ */
|
4851
|
-
/* @__PURE__ */
|
4871
|
+
/* @__PURE__ */ jsx47(EditComposerCancel, {}),
|
4872
|
+
/* @__PURE__ */ jsx47(EditComposerSend, {})
|
4852
4873
|
] })
|
4853
4874
|
] });
|
4854
4875
|
};
|
@@ -4872,7 +4893,7 @@ var EditComposerCancel = forwardRef27(
|
|
4872
4893
|
editComposer: { cancel: { label = "Cancel" } = {} } = {}
|
4873
4894
|
} = {}
|
4874
4895
|
} = useThreadConfig();
|
4875
|
-
return /* @__PURE__ */
|
4896
|
+
return /* @__PURE__ */ jsx47(composer_exports.Cancel, { asChild: true, children: /* @__PURE__ */ jsx47(Button, { variant: "ghost", ...props, ref, children: props.children ?? label }) });
|
4876
4897
|
}
|
4877
4898
|
);
|
4878
4899
|
EditComposerCancel.displayName = "EditComposerCancel";
|
@@ -4881,7 +4902,7 @@ var EditComposerSend = forwardRef27(
|
|
4881
4902
|
const {
|
4882
4903
|
strings: { editComposer: { send: { label = "Send" } = {} } = {} } = {}
|
4883
4904
|
} = useThreadConfig();
|
4884
|
-
return /* @__PURE__ */
|
4905
|
+
return /* @__PURE__ */ jsx47(composer_exports.Send, { asChild: true, children: /* @__PURE__ */ jsx47(Button, { ...props, ref, children: props.children ?? label }) });
|
4885
4906
|
}
|
4886
4907
|
);
|
4887
4908
|
EditComposerSend.displayName = "EditComposerSend";
|
@@ -4895,14 +4916,14 @@ var exports11 = {
|
|
4895
4916
|
var edit_composer_default = Object.assign(EditComposer, exports11);
|
4896
4917
|
|
4897
4918
|
// src/ui/thread.tsx
|
4898
|
-
import { jsx as
|
4919
|
+
import { jsx as jsx48, jsxs as jsxs15 } from "react/jsx-runtime";
|
4899
4920
|
var Thread = (config) => {
|
4900
|
-
return /* @__PURE__ */
|
4901
|
-
/* @__PURE__ */
|
4902
|
-
/* @__PURE__ */
|
4921
|
+
return /* @__PURE__ */ jsx48(ThreadRoot, { config, children: /* @__PURE__ */ jsxs15(ThreadViewport, { children: [
|
4922
|
+
/* @__PURE__ */ jsx48(thread_welcome_default, {}),
|
4923
|
+
/* @__PURE__ */ jsx48(ThreadMessages, {}),
|
4903
4924
|
/* @__PURE__ */ jsxs15(ThreadViewportFooter, { children: [
|
4904
|
-
/* @__PURE__ */
|
4905
|
-
/* @__PURE__ */
|
4925
|
+
/* @__PURE__ */ jsx48(ThreadScrollToBottom, {}),
|
4926
|
+
/* @__PURE__ */ jsx48(composer_default, {})
|
4906
4927
|
] })
|
4907
4928
|
] }) });
|
4908
4929
|
};
|
@@ -4911,7 +4932,7 @@ var ThreadRootStyled = withDefaults(thread_exports.Root, {
|
|
4911
4932
|
});
|
4912
4933
|
var ThreadRoot = forwardRef28(
|
4913
4934
|
({ config, ...props }, ref) => {
|
4914
|
-
return /* @__PURE__ */
|
4935
|
+
return /* @__PURE__ */ jsx48(ThreadConfigProvider, { config, children: /* @__PURE__ */ jsx48(ThreadRootStyled, { ...props, ref }) });
|
4915
4936
|
}
|
4916
4937
|
);
|
4917
4938
|
ThreadRoot.displayName = "ThreadRoot";
|
@@ -4925,7 +4946,7 @@ var ThreadViewportFooter = withDefaults("div", {
|
|
4925
4946
|
ThreadViewportFooter.displayName = "ThreadViewportFooter";
|
4926
4947
|
var SystemMessage = () => null;
|
4927
4948
|
var ThreadMessages = ({ components, ...rest }) => {
|
4928
|
-
return /* @__PURE__ */
|
4949
|
+
return /* @__PURE__ */ jsx48(
|
4929
4950
|
thread_exports.Messages,
|
4930
4951
|
{
|
4931
4952
|
components: {
|
@@ -4949,7 +4970,7 @@ var ThreadScrollToBottom = forwardRef28((props, ref) => {
|
|
4949
4970
|
thread: { scrollToBottom: { tooltip = "Scroll to bottom" } = {} } = {}
|
4950
4971
|
} = {}
|
4951
4972
|
} = useThreadConfig();
|
4952
|
-
return /* @__PURE__ */
|
4973
|
+
return /* @__PURE__ */ jsx48(thread_exports.ScrollToBottom, { asChild: true, children: /* @__PURE__ */ jsx48(ThreadScrollToBottomIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx48(ArrowDownIcon, {}) }) });
|
4953
4974
|
});
|
4954
4975
|
ThreadScrollToBottom.displayName = "ThreadScrollToBottom";
|
4955
4976
|
var exports12 = {
|
@@ -4962,20 +4983,20 @@ var exports12 = {
|
|
4962
4983
|
var thread_default = Object.assign(Thread, exports12);
|
4963
4984
|
|
4964
4985
|
// src/ui/assistant-modal.tsx
|
4965
|
-
import { Fragment as Fragment6, jsx as
|
4986
|
+
import { Fragment as Fragment6, jsx as jsx49, jsxs as jsxs16 } from "react/jsx-runtime";
|
4966
4987
|
var AssistantModal = (config) => {
|
4967
4988
|
return /* @__PURE__ */ jsxs16(AssistantModalRoot, { config, children: [
|
4968
|
-
/* @__PURE__ */
|
4969
|
-
/* @__PURE__ */
|
4989
|
+
/* @__PURE__ */ jsx49(AssistantModalTrigger, {}),
|
4990
|
+
/* @__PURE__ */ jsx49(AssistantModalContent, { children: /* @__PURE__ */ jsx49(thread_default, {}) })
|
4970
4991
|
] });
|
4971
4992
|
};
|
4972
4993
|
AssistantModal.displayName = "AssistantModal";
|
4973
4994
|
var AssistantModalRoot = ({ config, ...props }) => {
|
4974
|
-
return /* @__PURE__ */
|
4995
|
+
return /* @__PURE__ */ jsx49(ThreadConfigProvider, { config, children: /* @__PURE__ */ jsx49(assistantModal_exports.Root, { ...props }) });
|
4975
4996
|
};
|
4976
4997
|
AssistantModalRoot.displayName = "AssistantModalRoot";
|
4977
4998
|
var AssistantModalTrigger = forwardRef29((props, ref) => {
|
4978
|
-
return /* @__PURE__ */
|
4999
|
+
return /* @__PURE__ */ jsx49(AssistantModalAnchor, { children: /* @__PURE__ */ jsx49(assistantModal_exports.Trigger, { asChild: true, children: /* @__PURE__ */ jsx49(AssistantModalButton, { ...props, ref }) }) });
|
4979
5000
|
});
|
4980
5001
|
AssistantModalTrigger.displayName = "AssistantModalTrigger";
|
4981
5002
|
var AssistantModalAnchor = withDefaults(assistantModal_exports.Anchor, {
|
@@ -5000,7 +5021,7 @@ var AssistantModalButton = forwardRef29(({ "data-state": state, ...rest }, ref)
|
|
5000
5021
|
} = {}
|
5001
5022
|
} = useThreadConfig();
|
5002
5023
|
const tooltip = state === "open" ? openTooltip : closedTooltip;
|
5003
|
-
return /* @__PURE__ */
|
5024
|
+
return /* @__PURE__ */ jsx49(
|
5004
5025
|
ModalButtonStyled,
|
5005
5026
|
{
|
5006
5027
|
side: "left",
|
@@ -5009,14 +5030,14 @@ var AssistantModalButton = forwardRef29(({ "data-state": state, ...rest }, ref)
|
|
5009
5030
|
...rest,
|
5010
5031
|
ref,
|
5011
5032
|
children: rest.children ?? /* @__PURE__ */ jsxs16(Fragment6, { children: [
|
5012
|
-
/* @__PURE__ */
|
5033
|
+
/* @__PURE__ */ jsx49(
|
5013
5034
|
BotIcon,
|
5014
5035
|
{
|
5015
5036
|
"data-state": state,
|
5016
5037
|
className: "aui-modal-button-closed-icon"
|
5017
5038
|
}
|
5018
5039
|
),
|
5019
|
-
/* @__PURE__ */
|
5040
|
+
/* @__PURE__ */ jsx49(
|
5020
5041
|
ChevronDownIcon,
|
5021
5042
|
{
|
5022
5043
|
"data-state": state,
|
@@ -5063,6 +5084,7 @@ export {
|
|
5063
5084
|
message_exports as MessagePrimitive,
|
5064
5085
|
SimpleImageAttachmentAdapter,
|
5065
5086
|
SimpleTextAttachmentAdapter,
|
5087
|
+
TextContentPartProvider,
|
5066
5088
|
thread_default as Thread,
|
5067
5089
|
ThreadConfigProvider,
|
5068
5090
|
thread_exports as ThreadPrimitive,
|