@assistant-ui/react 0.5.2 → 0.5.3
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/edge.js +17 -1
- package/dist/edge.js.map +1 -1
- package/dist/edge.mjs +17 -1
- package/dist/edge.mjs.map +1 -1
- package/dist/index.d.mts +126 -64
- package/dist/index.d.ts +126 -64
- package/dist/index.js +246 -35
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +211 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
@@ -45,6 +45,7 @@ __export(src_exports, {
|
|
45
45
|
ContentPartPrimitive: () => contentPart_exports,
|
46
46
|
EdgeChatAdapter: () => EdgeChatAdapter,
|
47
47
|
EditComposer: () => edit_composer_default,
|
48
|
+
ExternalStoreRuntime: () => ExternalStoreRuntime,
|
48
49
|
INTERNAL: () => internal_exports,
|
49
50
|
MessagePrimitive: () => message_exports,
|
50
51
|
Thread: () => thread_default,
|
@@ -57,6 +58,7 @@ __export(src_exports, {
|
|
57
58
|
fromCoreMessages: () => fromCoreMessages,
|
58
59
|
fromLanguageModelMessages: () => fromLanguageModelMessages,
|
59
60
|
fromLanguageModelTools: () => fromLanguageModelTools,
|
61
|
+
getExternalStoreMessage: () => getExternalStoreMessage,
|
60
62
|
makeAssistantTool: () => makeAssistantTool,
|
61
63
|
makeAssistantToolUI: () => makeAssistantToolUI,
|
62
64
|
toCoreMessage: () => toCoreMessage,
|
@@ -84,6 +86,7 @@ __export(src_exports, {
|
|
84
86
|
useContentPartImage: () => useContentPartImage,
|
85
87
|
useContentPartText: () => useContentPartText,
|
86
88
|
useEdgeRuntime: () => useEdgeRuntime,
|
89
|
+
useExternalStoreRuntime: () => useExternalStoreRuntime,
|
87
90
|
useLocalRuntime: () => useLocalRuntime,
|
88
91
|
useMessageContext: () => useMessageContext,
|
89
92
|
useMessageIf: () => useMessageIf,
|
@@ -3410,9 +3413,7 @@ var EdgeChatAdapter = class {
|
|
3410
3413
|
signal: abortSignal
|
3411
3414
|
});
|
3412
3415
|
if (result.status !== 200) {
|
3413
|
-
throw new Error(
|
3414
|
-
`Edge runtime returned status ${result.status}: ${await result.text()}`
|
3415
|
-
);
|
3416
|
+
throw new Error(`Status ${result.status}: ${await result.text()}`);
|
3416
3417
|
}
|
3417
3418
|
const stream = result.body.pipeThrough(new TextDecoderStream()).pipeThrough(chunkByLineStream()).pipeThrough(assistantDecoderStream()).pipeThrough(toolResultStream(config.tools)).pipeThrough(runResultStream());
|
3418
3419
|
let update;
|
@@ -3643,12 +3644,219 @@ var useLocalRuntime = (adapter, options) => {
|
|
3643
3644
|
return runtime;
|
3644
3645
|
};
|
3645
3646
|
|
3646
|
-
// src/
|
3647
|
+
// src/runtimes/external-store/ExternalStoreThreadRuntime.tsx
|
3648
|
+
var import_zustand14 = require("zustand");
|
3649
|
+
|
3650
|
+
// src/runtimes/external-store/getExternalStoreMessage.tsx
|
3651
|
+
var symbolInnerMessage = Symbol("innerMessage");
|
3652
|
+
var getExternalStoreMessage = (message) => {
|
3653
|
+
return message[symbolInnerMessage];
|
3654
|
+
};
|
3655
|
+
|
3656
|
+
// src/runtimes/external-store/useExternalStoreSync.tsx
|
3647
3657
|
var import_react55 = require("react");
|
3658
|
+
|
3659
|
+
// src/runtimes/external-store/ThreadMessageConverter.ts
|
3660
|
+
var ThreadMessageConverter = class {
|
3661
|
+
cache = /* @__PURE__ */ new WeakMap();
|
3662
|
+
convertMessages(messages, converter, keyMapper = (key) => key) {
|
3663
|
+
return messages.map((m, idx) => {
|
3664
|
+
const key = keyMapper(m);
|
3665
|
+
const cached = this.cache.get(key);
|
3666
|
+
const newMessage = converter(cached, m, idx);
|
3667
|
+
this.cache.set(key, newMessage);
|
3668
|
+
return newMessage;
|
3669
|
+
});
|
3670
|
+
}
|
3671
|
+
};
|
3672
|
+
|
3673
|
+
// src/runtimes/external-store/useExternalStoreSync.tsx
|
3674
|
+
var useExternalStoreSync = (adapter, updateData) => {
|
3675
|
+
const [converter, convertCallback] = (0, import_react55.useMemo)(() => {
|
3676
|
+
const converter2 = adapter.convertMessage ?? ((m) => m);
|
3677
|
+
const convertCallback2 = (cache, m, idx) => {
|
3678
|
+
if (cache) return cache;
|
3679
|
+
const newMessage = converter2(m, idx);
|
3680
|
+
newMessage[symbolInnerMessage] = m;
|
3681
|
+
return newMessage;
|
3682
|
+
};
|
3683
|
+
return [new ThreadMessageConverter(), convertCallback2];
|
3684
|
+
}, [adapter.convertMessage]);
|
3685
|
+
(0, import_react55.useEffect)(() => {
|
3686
|
+
updateData(
|
3687
|
+
adapter.isRunning ?? false,
|
3688
|
+
converter.convertMessages(adapter.messages, convertCallback)
|
3689
|
+
);
|
3690
|
+
}, [
|
3691
|
+
updateData,
|
3692
|
+
converter,
|
3693
|
+
convertCallback,
|
3694
|
+
adapter.messages,
|
3695
|
+
adapter.isRunning
|
3696
|
+
]);
|
3697
|
+
};
|
3698
|
+
|
3699
|
+
// src/runtimes/external-store/ExternalStoreThreadRuntime.tsx
|
3700
|
+
var hasUpcomingMessage = (isRunning, messages) => {
|
3701
|
+
return isRunning && messages[messages.length - 1]?.role !== "assistant";
|
3702
|
+
};
|
3703
|
+
var ExternalStoreThreadRuntime = class {
|
3704
|
+
constructor(store) {
|
3705
|
+
this.store = store;
|
3706
|
+
this.useStore = (0, import_zustand14.create)(() => ({
|
3707
|
+
store
|
3708
|
+
}));
|
3709
|
+
}
|
3710
|
+
_subscriptions = /* @__PURE__ */ new Set();
|
3711
|
+
repository = new MessageRepository();
|
3712
|
+
assistantOptimisticId = null;
|
3713
|
+
useStore;
|
3714
|
+
get capabilities() {
|
3715
|
+
return {
|
3716
|
+
edit: this.store.onEdit !== void 0,
|
3717
|
+
reload: this.store.onReload !== void 0,
|
3718
|
+
cancel: this.store.onCancel !== void 0,
|
3719
|
+
copy: true
|
3720
|
+
};
|
3721
|
+
}
|
3722
|
+
messages = [];
|
3723
|
+
isRunning = false;
|
3724
|
+
getBranches(messageId) {
|
3725
|
+
return this.repository.getBranches(messageId);
|
3726
|
+
}
|
3727
|
+
switchToBranch(branchId) {
|
3728
|
+
this.repository.switchToBranch(branchId);
|
3729
|
+
this.updateMessages(this.repository.getMessages());
|
3730
|
+
}
|
3731
|
+
async append(message) {
|
3732
|
+
if (message.parentId !== (this.messages.at(-1)?.id ?? null)) {
|
3733
|
+
if (!this.store.onEdit)
|
3734
|
+
throw new Error("Runtime does not support editing messages.");
|
3735
|
+
await this.store.onEdit(message);
|
3736
|
+
} else {
|
3737
|
+
await this.store.onNew(message);
|
3738
|
+
}
|
3739
|
+
}
|
3740
|
+
async startRun(parentId) {
|
3741
|
+
if (!this.store.onReload)
|
3742
|
+
throw new Error("Runtime does not support reloading messages.");
|
3743
|
+
await this.store.onReload(parentId);
|
3744
|
+
}
|
3745
|
+
cancelRun() {
|
3746
|
+
if (!this.store.onCancel)
|
3747
|
+
throw new Error("Runtime does not support cancelling runs.");
|
3748
|
+
this.store.onCancel();
|
3749
|
+
if (this.assistantOptimisticId) {
|
3750
|
+
this.repository.deleteMessage(this.assistantOptimisticId);
|
3751
|
+
this.assistantOptimisticId = null;
|
3752
|
+
}
|
3753
|
+
let messages = this.repository.getMessages();
|
3754
|
+
setTimeout(() => {
|
3755
|
+
this.updateMessages(messages);
|
3756
|
+
}, 0);
|
3757
|
+
}
|
3758
|
+
subscribe(callback) {
|
3759
|
+
this._subscriptions.add(callback);
|
3760
|
+
return () => this._subscriptions.delete(callback);
|
3761
|
+
}
|
3762
|
+
updateMessages = (messages) => {
|
3763
|
+
this.store.setMessages?.(
|
3764
|
+
messages.flatMap(getExternalStoreMessage).filter((m) => m != null)
|
3765
|
+
);
|
3766
|
+
};
|
3767
|
+
onStoreUpdated() {
|
3768
|
+
if (this.useStore.getState().store !== this.store) {
|
3769
|
+
this.useStore.setState({ store: this.store });
|
3770
|
+
}
|
3771
|
+
}
|
3772
|
+
updateData = (isRunning, vm) => {
|
3773
|
+
for (let i = 0; i < vm.length; i++) {
|
3774
|
+
const message = vm[i];
|
3775
|
+
const parent = vm[i - 1];
|
3776
|
+
this.repository.addOrUpdateMessage(parent?.id ?? null, message);
|
3777
|
+
}
|
3778
|
+
if (this.assistantOptimisticId) {
|
3779
|
+
this.repository.deleteMessage(this.assistantOptimisticId);
|
3780
|
+
this.assistantOptimisticId = null;
|
3781
|
+
}
|
3782
|
+
if (hasUpcomingMessage(isRunning, vm)) {
|
3783
|
+
this.assistantOptimisticId = this.repository.appendOptimisticMessage(
|
3784
|
+
vm.at(-1)?.id ?? null,
|
3785
|
+
{
|
3786
|
+
role: "assistant",
|
3787
|
+
content: []
|
3788
|
+
}
|
3789
|
+
);
|
3790
|
+
}
|
3791
|
+
this.repository.resetHead(
|
3792
|
+
this.assistantOptimisticId ?? vm.at(-1)?.id ?? null
|
3793
|
+
);
|
3794
|
+
this.messages = this.repository.getMessages();
|
3795
|
+
this.isRunning = isRunning;
|
3796
|
+
for (const callback of this._subscriptions) callback();
|
3797
|
+
};
|
3798
|
+
unstable_synchronizer = () => {
|
3799
|
+
const { store } = this.useStore();
|
3800
|
+
useExternalStoreSync(store, this.updateData);
|
3801
|
+
return null;
|
3802
|
+
};
|
3803
|
+
addToolResult(options) {
|
3804
|
+
if (!this.store.onAddToolResult)
|
3805
|
+
throw new Error("Runtime does not support tool results.");
|
3806
|
+
this.store.onAddToolResult(options);
|
3807
|
+
}
|
3808
|
+
};
|
3809
|
+
|
3810
|
+
// src/runtimes/external-store/ExternalStoreRuntime.tsx
|
3811
|
+
var ExternalStoreRuntime = class extends BaseAssistantRuntime {
|
3812
|
+
_proxyConfigProvider = new ProxyConfigProvider();
|
3813
|
+
constructor(store) {
|
3814
|
+
super(new ExternalStoreThreadRuntime(store));
|
3815
|
+
}
|
3816
|
+
set store(store) {
|
3817
|
+
this.thread.store = store;
|
3818
|
+
}
|
3819
|
+
onStoreUpdated() {
|
3820
|
+
return this.thread.onStoreUpdated();
|
3821
|
+
}
|
3822
|
+
getModelConfig() {
|
3823
|
+
return this._proxyConfigProvider.getModelConfig();
|
3824
|
+
}
|
3825
|
+
registerModelConfigProvider(provider) {
|
3826
|
+
return this._proxyConfigProvider.registerModelConfigProvider(provider);
|
3827
|
+
}
|
3828
|
+
switchToThread(threadId) {
|
3829
|
+
if (threadId) {
|
3830
|
+
if (!this.store.onSwitchThread)
|
3831
|
+
throw new Error("Runtime does not support switching threads.");
|
3832
|
+
return this.store.onSwitchThread(threadId);
|
3833
|
+
} else {
|
3834
|
+
if (!this.store.onNewThread)
|
3835
|
+
throw new Error("Runtime does not support switching to new threads.");
|
3836
|
+
return this.store.onNewThread();
|
3837
|
+
}
|
3838
|
+
}
|
3839
|
+
};
|
3840
|
+
|
3841
|
+
// src/runtimes/external-store/useExternalStoreRuntime.tsx
|
3842
|
+
var import_react56 = require("react");
|
3843
|
+
var useExternalStoreRuntime = (store) => {
|
3844
|
+
const [runtime] = (0, import_react56.useState)(() => new ExternalStoreRuntime(store));
|
3845
|
+
(0, import_react56.useInsertionEffect)(() => {
|
3846
|
+
runtime.store = store;
|
3847
|
+
});
|
3848
|
+
(0, import_react56.useEffect)(() => {
|
3849
|
+
runtime.onStoreUpdated();
|
3850
|
+
});
|
3851
|
+
return runtime;
|
3852
|
+
};
|
3853
|
+
|
3854
|
+
// src/ui/thread-config.tsx
|
3855
|
+
var import_react57 = require("react");
|
3648
3856
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
3649
|
-
var ThreadConfigContext = (0,
|
3857
|
+
var ThreadConfigContext = (0, import_react57.createContext)({});
|
3650
3858
|
var useThreadConfig = () => {
|
3651
|
-
return (0,
|
3859
|
+
return (0, import_react57.useContext)(ThreadConfigContext);
|
3652
3860
|
};
|
3653
3861
|
var ThreadConfigProvider = ({
|
3654
3862
|
children,
|
@@ -3667,7 +3875,7 @@ var ThreadConfigProvider = ({
|
|
3667
3875
|
ThreadConfigProvider.displayName = "ThreadConfigProvider";
|
3668
3876
|
|
3669
3877
|
// src/ui/assistant-action-bar.tsx
|
3670
|
-
var
|
3878
|
+
var import_react58 = require("react");
|
3671
3879
|
var import_lucide_react = require("lucide-react");
|
3672
3880
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
3673
3881
|
var useAllowCopy = () => {
|
@@ -3704,7 +3912,7 @@ var AssistantActionBarRoot = withDefaults(actionBar_exports.Root, {
|
|
3704
3912
|
className: "aui-assistant-action-bar-root"
|
3705
3913
|
});
|
3706
3914
|
AssistantActionBarRoot.displayName = "AssistantActionBarRoot";
|
3707
|
-
var AssistantActionBarCopy = (0,
|
3915
|
+
var AssistantActionBarCopy = (0, import_react58.forwardRef)((props, ref) => {
|
3708
3916
|
const {
|
3709
3917
|
strings: {
|
3710
3918
|
assistantMessage: { reload: { tooltip = "Copy" } = {} } = {}
|
@@ -3718,7 +3926,7 @@ var AssistantActionBarCopy = (0, import_react56.forwardRef)((props, ref) => {
|
|
3718
3926
|
] }) }) });
|
3719
3927
|
});
|
3720
3928
|
AssistantActionBarCopy.displayName = "AssistantActionBarCopy";
|
3721
|
-
var AssistantActionBarReload = (0,
|
3929
|
+
var AssistantActionBarReload = (0, import_react58.forwardRef)((props, ref) => {
|
3722
3930
|
const {
|
3723
3931
|
strings: {
|
3724
3932
|
assistantMessage: { reload: { tooltip = "Refresh" } = {} } = {}
|
@@ -3740,10 +3948,10 @@ var assistant_action_bar_default = Object.assign(
|
|
3740
3948
|
);
|
3741
3949
|
|
3742
3950
|
// src/ui/assistant-message.tsx
|
3743
|
-
var
|
3951
|
+
var import_react60 = require("react");
|
3744
3952
|
|
3745
3953
|
// src/ui/branch-picker.tsx
|
3746
|
-
var
|
3954
|
+
var import_react59 = require("react");
|
3747
3955
|
var import_lucide_react2 = require("lucide-react");
|
3748
3956
|
var import_jsx_runtime31 = require("react/jsx-runtime");
|
3749
3957
|
var BranchPicker = () => {
|
@@ -3758,7 +3966,7 @@ var BranchPickerRoot = withDefaults(branchPicker_exports.Root, {
|
|
3758
3966
|
className: "aui-branch-picker-root"
|
3759
3967
|
});
|
3760
3968
|
BranchPickerRoot.displayName = "BranchPickerRoot";
|
3761
|
-
var BranchPickerPrevious2 = (0,
|
3969
|
+
var BranchPickerPrevious2 = (0, import_react59.forwardRef)((props, ref) => {
|
3762
3970
|
const {
|
3763
3971
|
strings: {
|
3764
3972
|
branchPicker: { previous: { tooltip = "Previous" } = {} } = {}
|
@@ -3770,7 +3978,7 @@ BranchPickerPrevious2.displayName = "BranchPickerPrevious";
|
|
3770
3978
|
var BranchPickerStateWrapper = withDefaults("span", {
|
3771
3979
|
className: "aui-branch-picker-state"
|
3772
3980
|
});
|
3773
|
-
var BranchPickerState = (0,
|
3981
|
+
var BranchPickerState = (0, import_react59.forwardRef)((props, ref) => {
|
3774
3982
|
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(BranchPickerStateWrapper, { ...props, ref, children: [
|
3775
3983
|
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(branchPicker_exports.Number, {}),
|
3776
3984
|
" / ",
|
@@ -3778,7 +3986,7 @@ var BranchPickerState = (0, import_react57.forwardRef)((props, ref) => {
|
|
3778
3986
|
] });
|
3779
3987
|
});
|
3780
3988
|
BranchPickerState.displayName = "BranchPickerState";
|
3781
|
-
var BranchPickerNext = (0,
|
3989
|
+
var BranchPickerNext = (0, import_react59.forwardRef)((props, ref) => {
|
3782
3990
|
const {
|
3783
3991
|
strings: { branchPicker: { next: { tooltip = "Next" } = {} } = {} } = {}
|
3784
3992
|
} = useThreadConfig();
|
@@ -3856,7 +4064,7 @@ AssistantMessageRoot.displayName = "AssistantMessageRoot";
|
|
3856
4064
|
var AssistantMessageContentWrapper = withDefaults("div", {
|
3857
4065
|
className: "aui-assistant-message-content"
|
3858
4066
|
});
|
3859
|
-
var AssistantMessageContent = (0,
|
4067
|
+
var AssistantMessageContent = (0, import_react60.forwardRef)(({ components: componentsProp, ...rest }, ref) => {
|
3860
4068
|
const { assistantMessage: { components = {} } = {} } = useThreadConfig();
|
3861
4069
|
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(AssistantMessageContentWrapper, { ...rest, ref, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
3862
4070
|
message_exports.Content,
|
@@ -3880,15 +4088,15 @@ var assistant_message_default = Object.assign(
|
|
3880
4088
|
);
|
3881
4089
|
|
3882
4090
|
// src/ui/assistant-modal.tsx
|
3883
|
-
var
|
4091
|
+
var import_react67 = require("react");
|
3884
4092
|
var import_lucide_react6 = require("lucide-react");
|
3885
4093
|
|
3886
4094
|
// src/ui/thread.tsx
|
3887
|
-
var
|
4095
|
+
var import_react66 = require("react");
|
3888
4096
|
var import_lucide_react5 = require("lucide-react");
|
3889
4097
|
|
3890
4098
|
// src/ui/composer.tsx
|
3891
|
-
var
|
4099
|
+
var import_react61 = require("react");
|
3892
4100
|
var import_lucide_react3 = require("lucide-react");
|
3893
4101
|
|
3894
4102
|
// src/ui/base/CircleStopIcon.tsx
|
@@ -3924,7 +4132,7 @@ var ComposerInputStyled = withDefaults(composer_exports.Input, {
|
|
3924
4132
|
autoFocus: true,
|
3925
4133
|
className: "aui-composer-input"
|
3926
4134
|
});
|
3927
|
-
var ComposerInput = (0,
|
4135
|
+
var ComposerInput = (0, import_react61.forwardRef)(
|
3928
4136
|
(props, ref) => {
|
3929
4137
|
const {
|
3930
4138
|
strings: {
|
@@ -3953,7 +4161,7 @@ var ComposerSendButton = withDefaults(TooltipIconButton, {
|
|
3953
4161
|
variant: "default",
|
3954
4162
|
className: "aui-composer-send"
|
3955
4163
|
});
|
3956
|
-
var ComposerSend = (0,
|
4164
|
+
var ComposerSend = (0, import_react61.forwardRef)((props, ref) => {
|
3957
4165
|
const {
|
3958
4166
|
strings: { composer: { send: { tooltip = "Send" } = {} } = {} } = {}
|
3959
4167
|
} = useThreadConfig();
|
@@ -3964,7 +4172,7 @@ var ComposerCancelButton = withDefaults(TooltipIconButton, {
|
|
3964
4172
|
variant: "default",
|
3965
4173
|
className: "aui-composer-cancel"
|
3966
4174
|
});
|
3967
|
-
var ComposerCancel = (0,
|
4175
|
+
var ComposerCancel = (0, import_react61.forwardRef)((props, ref) => {
|
3968
4176
|
const {
|
3969
4177
|
strings: { composer: { cancel: { tooltip = "Cancel" } = {} } = {} } = {}
|
3970
4178
|
} = useThreadConfig();
|
@@ -3981,7 +4189,7 @@ var exports6 = {
|
|
3981
4189
|
var composer_default = Object.assign(Composer, exports6);
|
3982
4190
|
|
3983
4191
|
// src/ui/thread-welcome.tsx
|
3984
|
-
var
|
4192
|
+
var import_react62 = require("react");
|
3985
4193
|
var import_jsx_runtime37 = require("react/jsx-runtime");
|
3986
4194
|
var ThreadWelcome = () => {
|
3987
4195
|
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(ThreadWelcomeRoot, { children: [
|
@@ -3999,7 +4207,7 @@ var ThreadWelcomeRootStyled = withDefaults("div", {
|
|
3999
4207
|
var ThreadWelcomeCenter = withDefaults("div", {
|
4000
4208
|
className: "aui-thread-welcome-center"
|
4001
4209
|
});
|
4002
|
-
var ThreadWelcomeRoot = (0,
|
4210
|
+
var ThreadWelcomeRoot = (0, import_react62.forwardRef)(
|
4003
4211
|
(props, ref) => {
|
4004
4212
|
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(thread_exports.Empty, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ThreadWelcomeRootStyled, { ...props, ref }) });
|
4005
4213
|
}
|
@@ -4012,7 +4220,7 @@ var ThreadWelcomeAvatar = () => {
|
|
4012
4220
|
var ThreadWelcomeMessageStyled = withDefaults("p", {
|
4013
4221
|
className: "aui-thread-welcome-message"
|
4014
4222
|
});
|
4015
|
-
var ThreadWelcomeMessage = (0,
|
4223
|
+
var ThreadWelcomeMessage = (0, import_react62.forwardRef)(({ message: messageProp, ...rest }, ref) => {
|
4016
4224
|
const { welcome: { message = "How can I help you today?" } = {} } = useThreadConfig();
|
4017
4225
|
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ThreadWelcomeMessageStyled, { ...rest, ref, children: messageProp ?? message });
|
4018
4226
|
});
|
@@ -4055,10 +4263,10 @@ var exports7 = {
|
|
4055
4263
|
var thread_welcome_default = Object.assign(ThreadWelcome, exports7);
|
4056
4264
|
|
4057
4265
|
// src/ui/user-message.tsx
|
4058
|
-
var
|
4266
|
+
var import_react64 = require("react");
|
4059
4267
|
|
4060
4268
|
// src/ui/user-action-bar.tsx
|
4061
|
-
var
|
4269
|
+
var import_react63 = require("react");
|
4062
4270
|
var import_lucide_react4 = require("lucide-react");
|
4063
4271
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
4064
4272
|
var useAllowEdit = () => {
|
@@ -4077,7 +4285,7 @@ var UserActionBarRoot = withDefaults(actionBar_exports.Root, {
|
|
4077
4285
|
className: "aui-user-action-bar-root"
|
4078
4286
|
});
|
4079
4287
|
UserActionBarRoot.displayName = "UserActionBarRoot";
|
4080
|
-
var UserActionBarEdit = (0,
|
4288
|
+
var UserActionBarEdit = (0, import_react63.forwardRef)((props, ref) => {
|
4081
4289
|
const {
|
4082
4290
|
strings: { userMessage: { edit: { tooltip = "Edit" } = {} } = {} } = {}
|
4083
4291
|
} = useThreadConfig();
|
@@ -4109,7 +4317,7 @@ UserMessageRoot.displayName = "UserMessageRoot";
|
|
4109
4317
|
var UserMessageContentWrapper = withDefaults("div", {
|
4110
4318
|
className: "aui-user-message-content"
|
4111
4319
|
});
|
4112
|
-
var UserMessageContent = (0,
|
4320
|
+
var UserMessageContent = (0, import_react64.forwardRef)(
|
4113
4321
|
({ components, ...props }, ref) => {
|
4114
4322
|
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(UserMessageContentWrapper, { ...props, ref, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
4115
4323
|
message_exports.Content,
|
@@ -4130,7 +4338,7 @@ var exports9 = {
|
|
4130
4338
|
var user_message_default = Object.assign(UserMessage, exports9);
|
4131
4339
|
|
4132
4340
|
// src/ui/edit-composer.tsx
|
4133
|
-
var
|
4341
|
+
var import_react65 = require("react");
|
4134
4342
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
4135
4343
|
var EditComposer = () => {
|
4136
4344
|
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(EditComposerRoot, { children: [
|
@@ -4154,7 +4362,7 @@ var EditComposerFooter = withDefaults("div", {
|
|
4154
4362
|
className: "aui-edit-composer-footer"
|
4155
4363
|
});
|
4156
4364
|
EditComposerFooter.displayName = "EditComposerFooter";
|
4157
|
-
var EditComposerCancel = (0,
|
4365
|
+
var EditComposerCancel = (0, import_react65.forwardRef)(
|
4158
4366
|
(props, ref) => {
|
4159
4367
|
const {
|
4160
4368
|
strings: {
|
@@ -4165,7 +4373,7 @@ var EditComposerCancel = (0, import_react63.forwardRef)(
|
|
4165
4373
|
}
|
4166
4374
|
);
|
4167
4375
|
EditComposerCancel.displayName = "EditComposerCancel";
|
4168
|
-
var EditComposerSend = (0,
|
4376
|
+
var EditComposerSend = (0, import_react65.forwardRef)(
|
4169
4377
|
(props, ref) => {
|
4170
4378
|
const {
|
4171
4379
|
strings: { editComposer: { send: { label = "Send" } = {} } = {} } = {}
|
@@ -4198,7 +4406,7 @@ var Thread = (config) => {
|
|
4198
4406
|
var ThreadRootStyled = withDefaults(thread_exports.Root, {
|
4199
4407
|
className: "aui-root aui-thread-root"
|
4200
4408
|
});
|
4201
|
-
var ThreadRoot = (0,
|
4409
|
+
var ThreadRoot = (0, import_react66.forwardRef)(
|
4202
4410
|
({ config, ...props }, ref) => {
|
4203
4411
|
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ThreadConfigProvider, { config, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ThreadRootStyled, { ...props, ref }) });
|
4204
4412
|
}
|
@@ -4232,7 +4440,7 @@ var ThreadScrollToBottomIconButton = withDefaults(TooltipIconButton, {
|
|
4232
4440
|
variant: "outline",
|
4233
4441
|
className: "aui-thread-scroll-to-bottom"
|
4234
4442
|
});
|
4235
|
-
var ThreadScrollToBottom = (0,
|
4443
|
+
var ThreadScrollToBottom = (0, import_react66.forwardRef)((props, ref) => {
|
4236
4444
|
const {
|
4237
4445
|
strings: {
|
4238
4446
|
thread: { scrollToBottom: { tooltip = "Scroll to bottom" } = {} } = {}
|
@@ -4263,7 +4471,7 @@ var AssistantModalRoot = ({ config, ...props }) => {
|
|
4263
4471
|
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ThreadConfigProvider, { config, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(assistantModal_exports.Root, { ...props }) });
|
4264
4472
|
};
|
4265
4473
|
AssistantModalRoot.displayName = "AssistantModalRoot";
|
4266
|
-
var AssistantModalTrigger = (0,
|
4474
|
+
var AssistantModalTrigger = (0, import_react67.forwardRef)((props, ref) => {
|
4267
4475
|
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(AssistantModalAnchor, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(assistantModal_exports.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(AssistantModalButton, { ...props, ref }) }) });
|
4268
4476
|
});
|
4269
4477
|
AssistantModalTrigger.displayName = "AssistantModalTrigger";
|
@@ -4275,7 +4483,7 @@ var ModalButtonStyled = withDefaults(TooltipIconButton, {
|
|
4275
4483
|
variant: "default",
|
4276
4484
|
className: "aui-modal-button"
|
4277
4485
|
});
|
4278
|
-
var AssistantModalButton = (0,
|
4486
|
+
var AssistantModalButton = (0, import_react67.forwardRef)(({ "data-state": state, ...rest }, ref) => {
|
4279
4487
|
const {
|
4280
4488
|
strings: {
|
4281
4489
|
assistantModal: {
|
@@ -4344,6 +4552,7 @@ var assistant_modal_default = Object.assign(AssistantModal, exports12);
|
|
4344
4552
|
ContentPartPrimitive,
|
4345
4553
|
EdgeChatAdapter,
|
4346
4554
|
EditComposer,
|
4555
|
+
ExternalStoreRuntime,
|
4347
4556
|
INTERNAL,
|
4348
4557
|
MessagePrimitive,
|
4349
4558
|
Thread,
|
@@ -4356,6 +4565,7 @@ var assistant_modal_default = Object.assign(AssistantModal, exports12);
|
|
4356
4565
|
fromCoreMessages,
|
4357
4566
|
fromLanguageModelMessages,
|
4358
4567
|
fromLanguageModelTools,
|
4568
|
+
getExternalStoreMessage,
|
4359
4569
|
makeAssistantTool,
|
4360
4570
|
makeAssistantToolUI,
|
4361
4571
|
toCoreMessage,
|
@@ -4383,6 +4593,7 @@ var assistant_modal_default = Object.assign(AssistantModal, exports12);
|
|
4383
4593
|
useContentPartImage,
|
4384
4594
|
useContentPartText,
|
4385
4595
|
useEdgeRuntime,
|
4596
|
+
useExternalStoreRuntime,
|
4386
4597
|
useLocalRuntime,
|
4387
4598
|
useMessageContext,
|
4388
4599
|
useMessageIf,
|