@assistant-ui/react 0.5.30 → 0.5.31
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/EdgeRuntimeRequestOptions-BD0mpoF6.d.mts +412 -0
- package/dist/EdgeRuntimeRequestOptions-BD0mpoF6.d.ts +412 -0
- package/dist/edge.d.mts +261 -3
- package/dist/edge.d.ts +261 -3
- package/dist/edge.js +98 -101
- package/dist/edge.js.map +1 -1
- package/dist/edge.mjs +96 -100
- package/dist/edge.mjs.map +1 -1
- package/dist/index.d.mts +50 -281
- package/dist/index.d.ts +50 -281
- package/dist/index.js +161 -124
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +105 -68
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
- package/dist/AssistantTypes-Bo5YKjhV.d.mts +0 -162
- package/dist/AssistantTypes-Bo5YKjhV.d.ts +0 -162
package/dist/index.js
CHANGED
@@ -113,36 +113,35 @@ function useThreadContext(options) {
|
|
113
113
|
|
114
114
|
// src/context/stores/Composer.ts
|
115
115
|
|
116
|
-
|
117
|
-
// src/context/stores/BaseComposer.ts
|
118
|
-
var makeBaseComposer = (set) => ({
|
119
|
-
value: "",
|
120
|
-
setValue: (value) => {
|
121
|
-
set({ value });
|
122
|
-
}
|
123
|
-
});
|
124
|
-
|
125
|
-
// src/context/stores/Composer.ts
|
126
|
-
var makeComposerStore = (useThreadMessages, useThreadActions) => {
|
116
|
+
var makeComposerStore = (useThreadRuntime) => {
|
127
117
|
const focusListeners = /* @__PURE__ */ new Set();
|
128
|
-
return _zustand.create.call(void 0, )((
|
118
|
+
return _zustand.create.call(void 0, )((_, get) => {
|
119
|
+
const runtime = useThreadRuntime.getState();
|
129
120
|
return {
|
130
|
-
|
131
|
-
|
132
|
-
|
121
|
+
get value() {
|
122
|
+
return get().text;
|
123
|
+
},
|
124
|
+
setValue(value) {
|
125
|
+
get().setText(value);
|
126
|
+
},
|
127
|
+
text: runtime.composer.text,
|
128
|
+
setText: (value) => {
|
129
|
+
useThreadRuntime.getState().composer.setText(value);
|
133
130
|
},
|
131
|
+
canCancel: runtime.capabilities.cancel,
|
134
132
|
isEditing: true,
|
135
133
|
send: () => {
|
136
|
-
const
|
137
|
-
|
138
|
-
|
139
|
-
|
134
|
+
const runtime2 = useThreadRuntime.getState();
|
135
|
+
const text = runtime2.composer.text;
|
136
|
+
runtime2.composer.setText("");
|
137
|
+
runtime2.append({
|
138
|
+
parentId: _nullishCoalesce(_optionalChain([runtime2, 'access', _6 => _6.messages, 'access', _7 => _7.at, 'call', _8 => _8(-1), 'optionalAccess', _9 => _9.id]), () => ( null)),
|
140
139
|
role: "user",
|
141
|
-
content: [{ type: "text", text
|
140
|
+
content: [{ type: "text", text }]
|
142
141
|
});
|
143
142
|
},
|
144
143
|
cancel: () => {
|
145
|
-
|
144
|
+
useThreadRuntime.getState().cancelRun();
|
146
145
|
},
|
147
146
|
focus: () => {
|
148
147
|
for (const listener of focusListeners) {
|
@@ -163,14 +162,10 @@ var makeComposerStore = (useThreadMessages, useThreadActions) => {
|
|
163
162
|
|
164
163
|
var getThreadStateFromRuntime = (runtime) => {
|
165
164
|
const lastMessage = runtime.messages.at(-1);
|
166
|
-
if (_optionalChain([lastMessage, 'optionalAccess', _11 => _11.role]) !== "assistant")
|
167
|
-
return Object.freeze({
|
168
|
-
isDisabled: runtime.isDisabled,
|
169
|
-
isRunning: false
|
170
|
-
});
|
171
165
|
return Object.freeze({
|
166
|
+
capabilities: runtime.capabilities,
|
172
167
|
isDisabled: runtime.isDisabled,
|
173
|
-
isRunning: lastMessage.status.type === "running"
|
168
|
+
isRunning: _optionalChain([lastMessage, 'optionalAccess', _10 => _10.role]) !== "assistant" ? false : lastMessage.status.type === "running"
|
174
169
|
});
|
175
170
|
};
|
176
171
|
var makeThreadStore = (runtimeRef) => {
|
@@ -203,9 +198,6 @@ var makeThreadViewportStore = () => {
|
|
203
198
|
var makeThreadActionStore = (runtimeStore) => {
|
204
199
|
return _zustand.create.call(void 0,
|
205
200
|
() => Object.freeze({
|
206
|
-
get capabilities() {
|
207
|
-
return runtimeStore.getState().capabilities;
|
208
|
-
},
|
209
201
|
getBranches: (messageId) => runtimeStore.getState().getBranches(messageId),
|
210
202
|
switchToBranch: (branchId) => runtimeStore.getState().switchToBranch(branchId),
|
211
203
|
startRun: (parentId) => runtimeStore.getState().startRun(parentId),
|
@@ -258,7 +250,7 @@ var ThreadProvider = ({
|
|
258
250
|
const useThreadMessages = makeThreadMessagesStore(useThreadRuntime);
|
259
251
|
const useThreadActions = makeThreadActionStore(useThreadRuntime);
|
260
252
|
const useViewport = makeThreadViewportStore();
|
261
|
-
const useComposer = makeComposerStore(
|
253
|
+
const useComposer = makeComposerStore(useThreadRuntime);
|
262
254
|
return {
|
263
255
|
useThread,
|
264
256
|
useThreadRuntime,
|
@@ -274,15 +266,23 @@ var ThreadProvider = ({
|
|
274
266
|
const onThreadUpdate = () => {
|
275
267
|
const oldState = context.useThread.getState();
|
276
268
|
const state = getThreadStateFromRuntime(thread);
|
277
|
-
if (oldState.isDisabled !== state.isDisabled || oldState.isRunning !== state.isRunning
|
269
|
+
if (oldState.isDisabled !== state.isDisabled || oldState.isRunning !== state.isRunning || // TODO ensure capabilities is memoized
|
270
|
+
oldState.capabilities !== state.capabilities) {
|
278
271
|
context.useThread.setState(
|
279
|
-
|
272
|
+
state,
|
280
273
|
true
|
281
274
|
);
|
282
275
|
}
|
283
276
|
if (thread.messages !== context.useThreadMessages.getState()) {
|
284
277
|
context.useThreadMessages.setState(thread.messages, true);
|
285
278
|
}
|
279
|
+
const composerState = context.useComposer.getState();
|
280
|
+
if (thread.composer.text !== composerState.text || state.capabilities.cancel !== composerState.canCancel) {
|
281
|
+
context.useComposer.setState({
|
282
|
+
text: thread.composer.text,
|
283
|
+
canCancel: state.capabilities.cancel
|
284
|
+
});
|
285
|
+
}
|
286
286
|
};
|
287
287
|
onThreadUpdate();
|
288
288
|
return thread.subscribe(onThreadUpdate);
|
@@ -354,7 +354,7 @@ var AssistantRuntimeProvider = _react.memo.call(void 0, AssistantRuntimeProvider
|
|
354
354
|
var MessageContext = _react.createContext.call(void 0, null);
|
355
355
|
function useMessageContext(options) {
|
356
356
|
const context = _react.useContext.call(void 0, MessageContext);
|
357
|
-
if (!_optionalChain([options, 'optionalAccess',
|
357
|
+
if (!_optionalChain([options, 'optionalAccess', _11 => _11.optional]) && !context)
|
358
358
|
throw new Error(
|
359
359
|
"This component can only be used inside a component passed to <ThreadPrimitive.Messages components={...} />."
|
360
360
|
);
|
@@ -381,7 +381,7 @@ var ContentPartContext = _react.createContext.call(void 0,
|
|
381
381
|
);
|
382
382
|
function useContentPartContext(options) {
|
383
383
|
const context = _react.useContext.call(void 0, ContentPartContext);
|
384
|
-
if (!_optionalChain([options, 'optionalAccess',
|
384
|
+
if (!_optionalChain([options, 'optionalAccess', _12 => _12.optional]) && !context)
|
385
385
|
throw new Error(
|
386
386
|
"This component can only be used inside a component passed to <MessagePrimitive.Content components={...} >."
|
387
387
|
);
|
@@ -393,13 +393,13 @@ function useContentPartContext(options) {
|
|
393
393
|
var toAppendMessage = (useThreadMessages, message) => {
|
394
394
|
if (typeof message === "string") {
|
395
395
|
return {
|
396
|
-
parentId: _nullishCoalesce(_optionalChain([useThreadMessages, 'access',
|
396
|
+
parentId: _nullishCoalesce(_optionalChain([useThreadMessages, 'access', _13 => _13.getState, 'call', _14 => _14(), 'access', _15 => _15.at, 'call', _16 => _16(-1), 'optionalAccess', _17 => _17.id]), () => ( null)),
|
397
397
|
role: "user",
|
398
398
|
content: [{ type: "text", text: message }]
|
399
399
|
};
|
400
400
|
}
|
401
401
|
return {
|
402
|
-
parentId: _nullishCoalesce(_nullishCoalesce(message.parentId, () => ( _optionalChain([useThreadMessages, 'access',
|
402
|
+
parentId: _nullishCoalesce(_nullishCoalesce(message.parentId, () => ( _optionalChain([useThreadMessages, 'access', _18 => _18.getState, 'call', _19 => _19(), 'access', _20 => _20.at, 'call', _21 => _21(-1), 'optionalAccess', _22 => _22.id]))), () => ( null)),
|
403
403
|
role: _nullishCoalesce(message.role, () => ( "user")),
|
404
404
|
content: message.content
|
405
405
|
};
|
@@ -451,7 +451,7 @@ var useAssistantTool = (tool) => {
|
|
451
451
|
const unsub2 = render ? setToolUI(toolName, render) : void 0;
|
452
452
|
return () => {
|
453
453
|
unsub1();
|
454
|
-
_optionalChain([unsub2, 'optionalCall',
|
454
|
+
_optionalChain([unsub2, 'optionalCall', _23 => _23()]);
|
455
455
|
};
|
456
456
|
}, [registerModelConfigProvider, setToolUI, tool]);
|
457
457
|
};
|
@@ -552,7 +552,7 @@ var useActionBarCopy = ({
|
|
552
552
|
const callback = _react.useCallback.call(void 0, () => {
|
553
553
|
const { message } = useMessage.getState();
|
554
554
|
const { setIsCopied } = useMessageUtils.getState();
|
555
|
-
const { isEditing,
|
555
|
+
const { isEditing, text: composerValue } = useEditComposer.getState();
|
556
556
|
const valueToCopy = isEditing ? composerValue : getThreadMessageText(message);
|
557
557
|
navigator.clipboard.writeText(valueToCopy).then(() => {
|
558
558
|
setIsCopied(true);
|
@@ -680,7 +680,7 @@ var useComposerSend = () => {
|
|
680
680
|
const { useComposer } = useComposerContext();
|
681
681
|
const disabled = useCombinedStore(
|
682
682
|
[useThread, useComposer],
|
683
|
-
(t, c) => t.isRunning || !c.isEditing || c.
|
683
|
+
(t, c) => t.isRunning || !c.isEditing || c.text.length === 0
|
684
684
|
);
|
685
685
|
const callback = _react.useCallback.call(void 0, () => {
|
686
686
|
const composerState = useComposer.getState();
|
@@ -799,9 +799,9 @@ var useThreadSuggestion = ({
|
|
799
799
|
const composer = useComposer.getState();
|
800
800
|
if (autoSend && !thread.isRunning) {
|
801
801
|
append(prompt);
|
802
|
-
composer.
|
802
|
+
composer.setText("");
|
803
803
|
} else {
|
804
|
-
composer.
|
804
|
+
composer.setText(prompt);
|
805
805
|
}
|
806
806
|
}, [useThread, useComposer, autoSend, append, prompt]);
|
807
807
|
if (disabled) return null;
|
@@ -888,7 +888,7 @@ var createActionButton = (displayName, useActionButton, forwardProps = []) => {
|
|
888
888
|
...primitiveProps,
|
889
889
|
ref: forwardedRef,
|
890
890
|
onClick: _primitive.composeEventHandlers.call(void 0, primitiveProps.onClick, () => {
|
891
|
-
_optionalChain([callback, 'optionalCall',
|
891
|
+
_optionalChain([callback, 'optionalCall', _24 => _24()]);
|
892
892
|
})
|
893
893
|
}
|
894
894
|
);
|
@@ -1176,7 +1176,7 @@ var getContentPartState = ({ message }, useContentPart, partIndex) => {
|
|
1176
1176
|
}
|
1177
1177
|
}
|
1178
1178
|
const status = toContentPartStatus(message, partIndex, part);
|
1179
|
-
const currentState = _optionalChain([useContentPart, 'optionalAccess',
|
1179
|
+
const currentState = _optionalChain([useContentPart, 'optionalAccess', _25 => _25.getState, 'call', _26 => _26()]);
|
1180
1180
|
if (currentState && currentState.part === part && currentState.status === status)
|
1181
1181
|
return null;
|
1182
1182
|
return Object.freeze({ part, status });
|
@@ -1252,7 +1252,7 @@ var withSmoothContextProvider = (Component) => {
|
|
1252
1252
|
};
|
1253
1253
|
function useSmoothContext(options) {
|
1254
1254
|
const context = _react.useContext.call(void 0, SmoothContext);
|
1255
|
-
if (!_optionalChain([options, 'optionalAccess',
|
1255
|
+
if (!_optionalChain([options, 'optionalAccess', _27 => _27.optional]) && !context)
|
1256
1256
|
throw new Error(
|
1257
1257
|
"This component must be used within a SmoothContextProvider."
|
1258
1258
|
);
|
@@ -1323,7 +1323,7 @@ var useSmooth = (state, smooth = false) => {
|
|
1323
1323
|
const [displayedText, setDisplayedText] = _react.useState.call(void 0, text);
|
1324
1324
|
const setText = _reactusecallbackref.useCallbackRef.call(void 0, (text2) => {
|
1325
1325
|
setDisplayedText(text2);
|
1326
|
-
_optionalChain([useSmoothStatus2, 'optionalAccess',
|
1326
|
+
_optionalChain([useSmoothStatus2, 'optionalAccess', _28 => _28.setState, 'call', _29 => _29(text2 !== state.part.text ? SMOOTH_STATUS : state.status)]);
|
1327
1327
|
});
|
1328
1328
|
const [animatorRef] = _react.useState.call(void 0,
|
1329
1329
|
new TextStreamAnimator(text, setText)
|
@@ -1467,7 +1467,7 @@ var MessageContentPartImpl = ({
|
|
1467
1467
|
};
|
1468
1468
|
var MessageContentPart = _react.memo.call(void 0,
|
1469
1469
|
MessageContentPartImpl,
|
1470
|
-
(prev, next) => prev.partIndex === next.partIndex && _optionalChain([prev, 'access',
|
1470
|
+
(prev, next) => prev.partIndex === next.partIndex && _optionalChain([prev, 'access', _30 => _30.components, 'optionalAccess', _31 => _31.Text]) === _optionalChain([next, 'access', _32 => _32.components, 'optionalAccess', _33 => _33.Text]) && _optionalChain([prev, 'access', _34 => _34.components, 'optionalAccess', _35 => _35.Image]) === _optionalChain([next, 'access', _36 => _36.components, 'optionalAccess', _37 => _37.Image]) && _optionalChain([prev, 'access', _38 => _38.components, 'optionalAccess', _39 => _39.UI]) === _optionalChain([next, 'access', _40 => _40.components, 'optionalAccess', _41 => _41.UI]) && _optionalChain([prev, 'access', _42 => _42.components, 'optionalAccess', _43 => _43.tools]) === _optionalChain([next, 'access', _44 => _44.components, 'optionalAccess', _45 => _45.tools])
|
1471
1471
|
);
|
1472
1472
|
var MessagePrimitiveContent = ({
|
1473
1473
|
components
|
@@ -1562,7 +1562,7 @@ var ComposerPrimitiveInput = _react.forwardRef.call(void 0,
|
|
1562
1562
|
const { useComposer, type } = useComposerContext();
|
1563
1563
|
const value = useComposer((c) => {
|
1564
1564
|
if (!c.isEditing) return "";
|
1565
|
-
return c.
|
1565
|
+
return c.text;
|
1566
1566
|
});
|
1567
1567
|
const Component = asChild ? _reactslot.Slot : _reacttextareaautosize2.default;
|
1568
1568
|
const isDisabled = _nullishCoalesce(_nullishCoalesce(useThread((t) => t.isDisabled), () => ( disabledProp)), () => ( false));
|
@@ -1582,7 +1582,7 @@ var ComposerPrimitiveInput = _react.forwardRef.call(void 0,
|
|
1582
1582
|
const { isRunning } = useThread.getState();
|
1583
1583
|
if (!isRunning) {
|
1584
1584
|
e.preventDefault();
|
1585
|
-
_optionalChain([textareaRef, 'access',
|
1585
|
+
_optionalChain([textareaRef, 'access', _46 => _46.current, 'optionalAccess', _47 => _47.closest, 'call', _48 => _48("form"), 'optionalAccess', _49 => _49.requestSubmit, 'call', _50 => _50()]);
|
1586
1586
|
}
|
1587
1587
|
}
|
1588
1588
|
};
|
@@ -1613,7 +1613,7 @@ var ComposerPrimitiveInput = _react.forwardRef.call(void 0,
|
|
1613
1613
|
onChange: _primitive.composeEventHandlers.call(void 0, onChange, (e) => {
|
1614
1614
|
const composerState = useComposer.getState();
|
1615
1615
|
if (!composerState.isEditing) return;
|
1616
|
-
return composerState.
|
1616
|
+
return composerState.setText(e.target.value);
|
1617
1617
|
}),
|
1618
1618
|
onKeyDown: _primitive.composeEventHandlers.call(void 0, onKeyDown, handleKeyPress)
|
1619
1619
|
}
|
@@ -1628,7 +1628,7 @@ ComposerPrimitiveInput.displayName = "ComposerPrimitive.Input";
|
|
1628
1628
|
|
1629
1629
|
var ComposerPrimitiveSend = _react.forwardRef.call(void 0, ({ disabled, ...rest }, ref) => {
|
1630
1630
|
const { useComposer } = useComposerContext();
|
1631
|
-
const hasValue = useComposer((c) => c.isEditing && c.
|
1631
|
+
const hasValue = useComposer((c) => c.isEditing && c.text.length > 0);
|
1632
1632
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
1633
1633
|
_reactprimitive.Primitive.button,
|
1634
1634
|
{
|
@@ -1842,18 +1842,27 @@ ThreadPrimitiveViewport.displayName = "ThreadPrimitive.Viewport";
|
|
1842
1842
|
var makeEditComposerStore = ({
|
1843
1843
|
onEdit,
|
1844
1844
|
onSend
|
1845
|
-
}) => _zustand.create.call(void 0, )((set, get
|
1846
|
-
|
1845
|
+
}) => _zustand.create.call(void 0, )((set, get) => ({
|
1846
|
+
get value() {
|
1847
|
+
return get().text;
|
1848
|
+
},
|
1849
|
+
setValue(value) {
|
1850
|
+
get().setText(value);
|
1851
|
+
},
|
1852
|
+
text: "",
|
1853
|
+
setText: (text) => {
|
1854
|
+
set({ text });
|
1855
|
+
},
|
1847
1856
|
canCancel: false,
|
1848
1857
|
isEditing: false,
|
1849
1858
|
edit: () => {
|
1850
|
-
const
|
1851
|
-
set({ isEditing: true, canCancel: true,
|
1859
|
+
const text = onEdit();
|
1860
|
+
set({ isEditing: true, canCancel: true, text });
|
1852
1861
|
},
|
1853
1862
|
send: () => {
|
1854
|
-
const
|
1863
|
+
const text = get().text;
|
1855
1864
|
set({ isEditing: false, canCancel: false });
|
1856
|
-
onSend(
|
1865
|
+
onSend(text);
|
1857
1866
|
},
|
1858
1867
|
cancel: () => {
|
1859
1868
|
set({ isEditing: false, canCancel: false });
|
@@ -1876,15 +1885,15 @@ var makeMessageUtilsStore = () => _zustand.create.call(void 0, (set) => ({
|
|
1876
1885
|
// src/context/providers/MessageProvider.tsx
|
1877
1886
|
|
1878
1887
|
var getIsLast = (messages, message) => {
|
1879
|
-
return _optionalChain([messages, 'access',
|
1888
|
+
return _optionalChain([messages, 'access', _51 => _51[messages.length - 1], 'optionalAccess', _52 => _52.id]) === message.id;
|
1880
1889
|
};
|
1881
1890
|
var getMessageState = (messages, getBranches, useMessage, messageIndex) => {
|
1882
|
-
const parentId = _nullishCoalesce(_optionalChain([messages, 'access',
|
1891
|
+
const parentId = _nullishCoalesce(_optionalChain([messages, 'access', _53 => _53[messageIndex - 1], 'optionalAccess', _54 => _54.id]), () => ( null));
|
1883
1892
|
const message = messages[messageIndex];
|
1884
1893
|
if (!message) return null;
|
1885
1894
|
const isLast = getIsLast(messages, message);
|
1886
1895
|
const branches = getBranches(message.id);
|
1887
|
-
const currentState = _optionalChain([useMessage, 'optionalAccess',
|
1896
|
+
const currentState = _optionalChain([useMessage, 'optionalAccess', _55 => _55.getState, 'call', _56 => _56()]);
|
1888
1897
|
if (currentState && currentState.message === message && currentState.parentId === parentId && currentState.branches === branches && currentState.isLast === isLast)
|
1889
1898
|
return null;
|
1890
1899
|
return Object.freeze({
|
@@ -2011,7 +2020,7 @@ var ThreadPrimitiveMessagesImpl = ({
|
|
2011
2020
|
ThreadPrimitiveMessagesImpl.displayName = "ThreadPrimitive.Messages";
|
2012
2021
|
var ThreadPrimitiveMessages = _react.memo.call(void 0,
|
2013
2022
|
ThreadPrimitiveMessagesImpl,
|
2014
|
-
(prev, next) => _optionalChain([prev, 'access',
|
2023
|
+
(prev, next) => _optionalChain([prev, 'access', _57 => _57.components, 'optionalAccess', _58 => _58.Message]) === _optionalChain([next, 'access', _59 => _59.components, 'optionalAccess', _60 => _60.Message]) && _optionalChain([prev, 'access', _61 => _61.components, 'optionalAccess', _62 => _62.UserMessage]) === _optionalChain([next, 'access', _63 => _63.components, 'optionalAccess', _64 => _64.UserMessage]) && _optionalChain([prev, 'access', _65 => _65.components, 'optionalAccess', _66 => _66.EditComposer]) === _optionalChain([next, 'access', _67 => _67.components, 'optionalAccess', _68 => _68.EditComposer]) && _optionalChain([prev, 'access', _69 => _69.components, 'optionalAccess', _70 => _70.AssistantMessage]) === _optionalChain([next, 'access', _71 => _71.components, 'optionalAccess', _72 => _72.AssistantMessage]) && _optionalChain([prev, 'access', _73 => _73.components, 'optionalAccess', _74 => _74.SystemMessage]) === _optionalChain([next, 'access', _75 => _75.components, 'optionalAccess', _76 => _76.SystemMessage])
|
2015
2024
|
);
|
2016
2025
|
|
2017
2026
|
// src/primitives/thread/ThreadScrollToBottom.tsx
|
@@ -2143,7 +2152,7 @@ var MessageRepository = (_class4 = class {constructor() { _class4.prototype.__in
|
|
2143
2152
|
parentOrRoot.children = parentOrRoot.children.filter(
|
2144
2153
|
(m) => m !== child.current.id
|
2145
2154
|
);
|
2146
|
-
if (_optionalChain([child, 'access',
|
2155
|
+
if (_optionalChain([child, 'access', _77 => _77.prev, 'optionalAccess', _78 => _78.next]) === child) {
|
2147
2156
|
const fallbackId = child.prev.children.at(-1);
|
2148
2157
|
const fallback = fallbackId ? this.messages.get(fallbackId) : null;
|
2149
2158
|
if (fallback === void 0) {
|
@@ -2173,7 +2182,7 @@ var MessageRepository = (_class4 = class {constructor() { _class4.prototype.__in
|
|
2173
2182
|
}
|
2174
2183
|
}
|
2175
2184
|
getMessages() {
|
2176
|
-
const messages = new Array(_nullishCoalesce(_optionalChain([this, 'access',
|
2185
|
+
const messages = new Array(_nullishCoalesce(_optionalChain([this, 'access', _79 => _79.head, 'optionalAccess', _80 => _80.level]), () => ( 0)));
|
2177
2186
|
for (let current = this.head; current; current = current.prev) {
|
2178
2187
|
messages[current.level] = current.current;
|
2179
2188
|
}
|
@@ -2211,7 +2220,7 @@ var MessageRepository = (_class4 = class {constructor() { _class4.prototype.__in
|
|
2211
2220
|
"MessageRepository(updateMessage): Message not found. This is likely an internal bug in assistant-ui."
|
2212
2221
|
);
|
2213
2222
|
return {
|
2214
|
-
parentId: _nullishCoalesce(_optionalChain([message, 'access',
|
2223
|
+
parentId: _nullishCoalesce(_optionalChain([message, 'access', _81 => _81.prev, 'optionalAccess', _82 => _82.current, 'access', _83 => _83.id]), () => ( null)),
|
2215
2224
|
message: message.current
|
2216
2225
|
};
|
2217
2226
|
}
|
@@ -2296,11 +2305,11 @@ var MessageRepository = (_class4 = class {constructor() { _class4.prototype.__in
|
|
2296
2305
|
for (const [, message] of this.messages) {
|
2297
2306
|
exportItems.push({
|
2298
2307
|
message: message.current,
|
2299
|
-
parentId: _nullishCoalesce(_optionalChain([message, 'access',
|
2308
|
+
parentId: _nullishCoalesce(_optionalChain([message, 'access', _84 => _84.prev, 'optionalAccess', _85 => _85.current, 'access', _86 => _86.id]), () => ( null))
|
2300
2309
|
});
|
2301
2310
|
}
|
2302
2311
|
return {
|
2303
|
-
headId: _nullishCoalesce(_optionalChain([this, 'access',
|
2312
|
+
headId: _nullishCoalesce(_optionalChain([this, 'access', _87 => _87.head, 'optionalAccess', _88 => _88.current, 'access', _89 => _89.id]), () => ( null)),
|
2304
2313
|
messages: exportItems
|
2305
2314
|
};
|
2306
2315
|
}
|
@@ -2308,7 +2317,7 @@ var MessageRepository = (_class4 = class {constructor() { _class4.prototype.__in
|
|
2308
2317
|
for (const { message, parentId } of messages) {
|
2309
2318
|
this.addOrUpdateMessage(parentId, message);
|
2310
2319
|
}
|
2311
|
-
this.resetHead(_nullishCoalesce(_nullishCoalesce(headId, () => ( _optionalChain([messages, 'access',
|
2320
|
+
this.resetHead(_nullishCoalesce(_nullishCoalesce(headId, () => ( _optionalChain([messages, 'access', _90 => _90.at, 'call', _91 => _91(-1), 'optionalAccess', _92 => _92.message, 'access', _93 => _93.id]))), () => ( null)));
|
2312
2321
|
}
|
2313
2322
|
}, _class4);
|
2314
2323
|
|
@@ -2471,7 +2480,7 @@ var fromLanguageModelMessages = (lm, { mergeRoundtrips }) => {
|
|
2471
2480
|
});
|
2472
2481
|
if (mergeRoundtrips) {
|
2473
2482
|
const previousMessage = messages[messages.length - 1];
|
2474
|
-
if (_optionalChain([previousMessage, 'optionalAccess',
|
2483
|
+
if (_optionalChain([previousMessage, 'optionalAccess', _94 => _94.role]) === "assistant") {
|
2475
2484
|
previousMessage.content.push(...newContent);
|
2476
2485
|
break;
|
2477
2486
|
}
|
@@ -2484,7 +2493,7 @@ var fromLanguageModelMessages = (lm, { mergeRoundtrips }) => {
|
|
2484
2493
|
}
|
2485
2494
|
case "tool": {
|
2486
2495
|
const previousMessage = messages[messages.length - 1];
|
2487
|
-
if (_optionalChain([previousMessage, 'optionalAccess',
|
2496
|
+
if (_optionalChain([previousMessage, 'optionalAccess', _95 => _95.role]) !== "assistant")
|
2488
2497
|
throw new Error(
|
2489
2498
|
"A tool message must be preceded by an assistant message."
|
2490
2499
|
);
|
@@ -2705,7 +2714,7 @@ var useEdgeRuntime = ({
|
|
2705
2714
|
};
|
2706
2715
|
|
2707
2716
|
// src/runtimes/local/shouldContinue.tsx
|
2708
|
-
var shouldContinue = (result) => _optionalChain([result, 'access',
|
2717
|
+
var shouldContinue = (result) => _optionalChain([result, 'access', _96 => _96.status, 'optionalAccess', _97 => _97.type]) === "requires-action" && result.status.reason === "tool-calls" && result.content.every((c) => c.type !== "tool-call" || !!c.result);
|
2709
2718
|
|
2710
2719
|
// src/runtimes/local/LocalThreadRuntime.tsx
|
2711
2720
|
var CAPABILITIES = Object.freeze({
|
@@ -2716,11 +2725,11 @@ var CAPABILITIES = Object.freeze({
|
|
2716
2725
|
copy: true
|
2717
2726
|
});
|
2718
2727
|
var LocalThreadRuntime = (_class5 = class {
|
2719
|
-
constructor(configProvider, adapter, options) {;_class5.prototype.__init11.call(this);_class5.prototype.__init12.call(this);_class5.prototype.__init13.call(this);_class5.prototype.__init14.call(this);_class5.prototype.__init15.call(this);
|
2728
|
+
constructor(configProvider, adapter, options) {;_class5.prototype.__init11.call(this);_class5.prototype.__init12.call(this);_class5.prototype.__init13.call(this);_class5.prototype.__init14.call(this);_class5.prototype.__init15.call(this);_class5.prototype.__init16.call(this);
|
2720
2729
|
this.configProvider = configProvider;
|
2721
2730
|
this.adapter = adapter;
|
2722
2731
|
this.options = options;
|
2723
|
-
if (_optionalChain([options, 'optionalAccess',
|
2732
|
+
if (_optionalChain([options, 'optionalAccess', _98 => _98.initialMessages])) {
|
2724
2733
|
let parentId = null;
|
2725
2734
|
const messages = fromCoreMessages(options.initialMessages);
|
2726
2735
|
for (const message of messages) {
|
@@ -2737,6 +2746,13 @@ var LocalThreadRuntime = (_class5 = class {
|
|
2737
2746
|
get messages() {
|
2738
2747
|
return this.repository.getMessages();
|
2739
2748
|
}
|
2749
|
+
__init16() {this.composer = {
|
2750
|
+
text: "",
|
2751
|
+
setText: (value) => {
|
2752
|
+
this.composer.text = value;
|
2753
|
+
this.notifySubscribers();
|
2754
|
+
}
|
2755
|
+
}}
|
2740
2756
|
getBranches(messageId) {
|
2741
2757
|
return this.repository.getBranches(messageId);
|
2742
2758
|
}
|
@@ -2775,7 +2791,7 @@ var LocalThreadRuntime = (_class5 = class {
|
|
2775
2791
|
}
|
2776
2792
|
async performRoundtrip(parentId, message) {
|
2777
2793
|
const messages = this.repository.getMessages();
|
2778
|
-
_optionalChain([this, 'access',
|
2794
|
+
_optionalChain([this, 'access', _99 => _99.abortController, 'optionalAccess', _100 => _100.abort, 'call', _101 => _101()]);
|
2779
2795
|
this.abortController = new AbortController();
|
2780
2796
|
const initialContent = message.content;
|
2781
2797
|
const initialRoundtrips = message.roundtrips;
|
@@ -2784,13 +2800,13 @@ var LocalThreadRuntime = (_class5 = class {
|
|
2784
2800
|
...message,
|
2785
2801
|
...m.content ? { content: [...initialContent, ..._nullishCoalesce(m.content, () => ( []))] } : void 0,
|
2786
2802
|
status: _nullishCoalesce(m.status, () => ( message.status)),
|
2787
|
-
..._optionalChain([m, 'access',
|
2803
|
+
..._optionalChain([m, 'access', _102 => _102.roundtrips, 'optionalAccess', _103 => _103.length]) ? { roundtrips: [..._nullishCoalesce(initialRoundtrips, () => ( [])), ...m.roundtrips] } : void 0
|
2788
2804
|
};
|
2789
2805
|
this.repository.addOrUpdateMessage(parentId, message);
|
2790
2806
|
this.notifySubscribers();
|
2791
2807
|
};
|
2792
|
-
const maxToolRoundtrips = _nullishCoalesce(_optionalChain([this, 'access',
|
2793
|
-
const toolRoundtrips = _nullishCoalesce(_optionalChain([message, 'access',
|
2808
|
+
const maxToolRoundtrips = _nullishCoalesce(_optionalChain([this, 'access', _104 => _104.options, 'optionalAccess', _105 => _105.maxToolRoundtrips]), () => ( 1));
|
2809
|
+
const toolRoundtrips = _nullishCoalesce(_optionalChain([message, 'access', _106 => _106.roundtrips, 'optionalAccess', _107 => _107.length]), () => ( 0));
|
2794
2810
|
if (toolRoundtrips > maxToolRoundtrips) {
|
2795
2811
|
updateMessage({
|
2796
2812
|
status: {
|
@@ -2930,8 +2946,8 @@ var getExternalStoreMessage = (message) => {
|
|
2930
2946
|
};
|
2931
2947
|
|
2932
2948
|
// src/runtimes/external-store/ThreadMessageConverter.ts
|
2933
|
-
var ThreadMessageConverter = (_class6 = class {constructor() { _class6.prototype.
|
2934
|
-
|
2949
|
+
var ThreadMessageConverter = (_class6 = class {constructor() { _class6.prototype.__init17.call(this); }
|
2950
|
+
__init17() {this.cache = /* @__PURE__ */ new WeakMap()}
|
2935
2951
|
convertMessages(messages, converter, keyMapper = (key) => key) {
|
2936
2952
|
return messages.map((m, idx) => {
|
2937
2953
|
const key = keyMapper(m);
|
@@ -3022,40 +3038,57 @@ var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => {
|
|
3022
3038
|
|
3023
3039
|
// src/runtimes/external-store/ExternalStoreThreadRuntime.tsx
|
3024
3040
|
var hasUpcomingMessage = (isRunning, messages) => {
|
3025
|
-
return isRunning && _optionalChain([messages, 'access',
|
3041
|
+
return isRunning && _optionalChain([messages, 'access', _108 => _108[messages.length - 1], 'optionalAccess', _109 => _109.role]) !== "assistant";
|
3026
3042
|
};
|
3027
3043
|
var ExternalStoreThreadRuntime = (_class7 = class {
|
3028
|
-
|
3029
|
-
|
3030
|
-
|
3044
|
+
__init18() {this._subscriptions = /* @__PURE__ */ new Set()}
|
3045
|
+
__init19() {this.repository = new MessageRepository()}
|
3046
|
+
__init20() {this.assistantOptimisticId = null}
|
3047
|
+
__init21() {this._capabilities = {
|
3048
|
+
switchToBranch: false,
|
3049
|
+
edit: false,
|
3050
|
+
reload: false,
|
3051
|
+
cancel: false,
|
3052
|
+
copy: false
|
3053
|
+
}}
|
3031
3054
|
get capabilities() {
|
3032
|
-
return
|
3033
|
-
switchToBranch: this._store.setMessages !== void 0,
|
3034
|
-
edit: this._store.onEdit !== void 0,
|
3035
|
-
reload: this._store.onReload !== void 0,
|
3036
|
-
cancel: this._store.onCancel !== void 0,
|
3037
|
-
copy: this._store.onCopy !== null
|
3038
|
-
};
|
3055
|
+
return this._capabilities;
|
3039
3056
|
}
|
3040
|
-
|
3041
|
-
|
3042
|
-
|
3057
|
+
__init22() {this.messages = []}
|
3058
|
+
__init23() {this.isDisabled = false}
|
3059
|
+
__init24() {this.converter = new ThreadMessageConverter()}
|
3043
3060
|
|
3044
|
-
|
3061
|
+
__init25() {this.composer = {
|
3062
|
+
text: "",
|
3063
|
+
setText: (value) => {
|
3064
|
+
this.composer.text = value;
|
3065
|
+
this.notifySubscribers();
|
3066
|
+
}
|
3067
|
+
}}
|
3068
|
+
constructor(store) {;_class7.prototype.__init18.call(this);_class7.prototype.__init19.call(this);_class7.prototype.__init20.call(this);_class7.prototype.__init21.call(this);_class7.prototype.__init22.call(this);_class7.prototype.__init23.call(this);_class7.prototype.__init24.call(this);_class7.prototype.__init25.call(this);_class7.prototype.__init26.call(this);
|
3045
3069
|
this.store = store;
|
3046
3070
|
}
|
3047
3071
|
set store(store) {
|
3072
|
+
if (this._store === store) return;
|
3073
|
+
const isRunning = _nullishCoalesce(store.isRunning, () => ( false));
|
3074
|
+
this.isDisabled = _nullishCoalesce(store.isDisabled, () => ( false));
|
3048
3075
|
const oldStore = this._store;
|
3076
|
+
this._store = store;
|
3077
|
+
this._capabilities = {
|
3078
|
+
switchToBranch: this._store.setMessages !== void 0,
|
3079
|
+
edit: this._store.onEdit !== void 0,
|
3080
|
+
reload: this._store.onReload !== void 0,
|
3081
|
+
cancel: this._store.onCancel !== void 0,
|
3082
|
+
copy: this._store.onCopy !== null
|
3083
|
+
};
|
3049
3084
|
if (oldStore) {
|
3050
3085
|
if (oldStore.convertMessage !== store.convertMessage) {
|
3051
3086
|
this.converter = new ThreadMessageConverter();
|
3052
|
-
} else if (oldStore.
|
3087
|
+
} else if (oldStore.isRunning === store.isRunning && oldStore.messages === store.messages) {
|
3088
|
+
this.notifySubscribers();
|
3053
3089
|
return;
|
3054
3090
|
}
|
3055
3091
|
}
|
3056
|
-
this._store = store;
|
3057
|
-
const isRunning = _nullishCoalesce(store.isRunning, () => ( false));
|
3058
|
-
const isDisabled = _nullishCoalesce(store.isDisabled, () => ( false));
|
3059
3092
|
const convertCallback = (cache, m, idx) => {
|
3060
3093
|
if (!store.convertMessage) return m;
|
3061
3094
|
const isLast = idx === store.messages.length - 1;
|
@@ -3077,7 +3110,7 @@ var ExternalStoreThreadRuntime = (_class7 = class {
|
|
3077
3110
|
for (let i = 0; i < messages.length; i++) {
|
3078
3111
|
const message = messages[i];
|
3079
3112
|
const parent = messages[i - 1];
|
3080
|
-
this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess',
|
3113
|
+
this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess', _113 => _113.id]), () => ( null)), message);
|
3081
3114
|
}
|
3082
3115
|
if (this.assistantOptimisticId) {
|
3083
3116
|
this.repository.deleteMessage(this.assistantOptimisticId);
|
@@ -3085,7 +3118,7 @@ var ExternalStoreThreadRuntime = (_class7 = class {
|
|
3085
3118
|
}
|
3086
3119
|
if (hasUpcomingMessage(isRunning, messages)) {
|
3087
3120
|
this.assistantOptimisticId = this.repository.appendOptimisticMessage(
|
3088
|
-
_nullishCoalesce(_optionalChain([messages, 'access',
|
3121
|
+
_nullishCoalesce(_optionalChain([messages, 'access', _114 => _114.at, 'call', _115 => _115(-1), 'optionalAccess', _116 => _116.id]), () => ( null)),
|
3089
3122
|
{
|
3090
3123
|
role: "assistant",
|
3091
3124
|
content: []
|
@@ -3093,10 +3126,12 @@ var ExternalStoreThreadRuntime = (_class7 = class {
|
|
3093
3126
|
);
|
3094
3127
|
}
|
3095
3128
|
this.repository.resetHead(
|
3096
|
-
_nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages, 'access',
|
3129
|
+
_nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages, 'access', _117 => _117.at, 'call', _118 => _118(-1), 'optionalAccess', _119 => _119.id]))), () => ( null))
|
3097
3130
|
);
|
3098
3131
|
this.messages = this.repository.getMessages();
|
3099
|
-
this.
|
3132
|
+
this.notifySubscribers();
|
3133
|
+
}
|
3134
|
+
notifySubscribers() {
|
3100
3135
|
for (const callback of this._subscriptions) callback();
|
3101
3136
|
}
|
3102
3137
|
getBranches(messageId) {
|
@@ -3109,7 +3144,7 @@ var ExternalStoreThreadRuntime = (_class7 = class {
|
|
3109
3144
|
this.updateMessages(this.repository.getMessages());
|
3110
3145
|
}
|
3111
3146
|
async append(message) {
|
3112
|
-
if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access',
|
3147
|
+
if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access', _120 => _120.messages, 'access', _121 => _121.at, 'call', _122 => _122(-1), 'optionalAccess', _123 => _123.id]), () => ( null)))) {
|
3113
3148
|
if (!this._store.onEdit)
|
3114
3149
|
throw new Error("Runtime does not support editing messages.");
|
3115
3150
|
await this._store.onEdit(message);
|
@@ -3139,8 +3174,8 @@ var ExternalStoreThreadRuntime = (_class7 = class {
|
|
3139
3174
|
this._subscriptions.add(callback);
|
3140
3175
|
return () => this._subscriptions.delete(callback);
|
3141
3176
|
}
|
3142
|
-
|
3143
|
-
_optionalChain([this, 'access',
|
3177
|
+
__init26() {this.updateMessages = (messages) => {
|
3178
|
+
_optionalChain([this, 'access', _124 => _124._store, 'access', _125 => _125.setMessages, 'optionalCall', _126 => _126(
|
3144
3179
|
messages.flatMap(getExternalStoreMessage).filter((m) => m != null)
|
3145
3180
|
)]);
|
3146
3181
|
}}
|
@@ -3153,9 +3188,9 @@ var ExternalStoreThreadRuntime = (_class7 = class {
|
|
3153
3188
|
|
3154
3189
|
// src/runtimes/external-store/ExternalStoreRuntime.tsx
|
3155
3190
|
var ExternalStoreRuntime = (_class8 = class extends BaseAssistantRuntime {
|
3156
|
-
|
3191
|
+
__init27() {this._proxyConfigProvider = new ProxyConfigProvider()}
|
3157
3192
|
constructor(store) {
|
3158
|
-
super(new ExternalStoreThreadRuntime(store));_class8.prototype.
|
3193
|
+
super(new ExternalStoreThreadRuntime(store));_class8.prototype.__init27.call(this);;
|
3159
3194
|
}
|
3160
3195
|
set store(store) {
|
3161
3196
|
this.thread.store = store;
|
@@ -3205,7 +3240,7 @@ var ThreadConfigProvider = ({
|
|
3205
3240
|
}) => {
|
3206
3241
|
const assistant = useAssistantContext({ optional: true });
|
3207
3242
|
const configProvider = config && Object.keys(_nullishCoalesce(config, () => ( {}))).length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadConfigContext.Provider, { value: config, children }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children });
|
3208
|
-
if (!_optionalChain([config, 'optionalAccess',
|
3243
|
+
if (!_optionalChain([config, 'optionalAccess', _127 => _127.runtime])) return configProvider;
|
3209
3244
|
if (assistant) {
|
3210
3245
|
throw new Error(
|
3211
3246
|
"You provided a runtime to <Thread> while simulataneously using <AssistantRuntimeProvider>. This is not allowed."
|
@@ -3221,14 +3256,14 @@ var _lucidereact = require('lucide-react');
|
|
3221
3256
|
|
3222
3257
|
var useAllowCopy = () => {
|
3223
3258
|
const { assistantMessage: { allowCopy = true } = {} } = useThreadConfig();
|
3224
|
-
const {
|
3225
|
-
const copySupported =
|
3259
|
+
const { useThread } = useThreadContext();
|
3260
|
+
const copySupported = useThread((t) => t.capabilities.copy);
|
3226
3261
|
return copySupported && allowCopy;
|
3227
3262
|
};
|
3228
3263
|
var useAllowReload = () => {
|
3229
3264
|
const { assistantMessage: { allowReload = true } = {} } = useThreadConfig();
|
3230
|
-
const {
|
3231
|
-
const reloadSupported =
|
3265
|
+
const { useThread } = useThreadContext();
|
3266
|
+
const reloadSupported = useThread((t) => t.capabilities.reload);
|
3232
3267
|
return reloadSupported && allowReload;
|
3233
3268
|
};
|
3234
3269
|
var AssistantActionBar = () => {
|
@@ -3297,8 +3332,8 @@ var assistant_action_bar_default = Object.assign(
|
|
3297
3332
|
|
3298
3333
|
var useAllowBranchPicker = () => {
|
3299
3334
|
const { branchPicker: { allowBranchPicker = true } = {} } = useThreadConfig();
|
3300
|
-
const {
|
3301
|
-
const branchPickerSupported =
|
3335
|
+
const { useThread } = useThreadContext();
|
3336
|
+
const branchPickerSupported = useThread((t) => t.capabilities.edit);
|
3302
3337
|
return branchPickerSupported && allowBranchPicker;
|
3303
3338
|
};
|
3304
3339
|
var BranchPicker = () => {
|
@@ -3421,7 +3456,7 @@ var AssistantMessageContent = _react.forwardRef.call(void 0, ({ components: comp
|
|
3421
3456
|
{
|
3422
3457
|
components: {
|
3423
3458
|
...componentsProp,
|
3424
|
-
Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess',
|
3459
|
+
Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess', _128 => _128.Text]), () => ( components.Text)), () => ( content_part_default.Text))
|
3425
3460
|
}
|
3426
3461
|
}
|
3427
3462
|
) });
|
@@ -3458,6 +3493,8 @@ var CircleStopIcon = () => {
|
|
3458
3493
|
xmlns: "http://www.w3.org/2000/svg",
|
3459
3494
|
viewBox: "0 0 16 16",
|
3460
3495
|
fill: "currentColor",
|
3496
|
+
width: "16",
|
3497
|
+
height: "16",
|
3461
3498
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "rect", { width: "10", height: "10", x: "3", y: "3", rx: "2" })
|
3462
3499
|
}
|
3463
3500
|
);
|
@@ -3494,8 +3531,8 @@ var ComposerInput = _react.forwardRef.call(void 0,
|
|
3494
3531
|
);
|
3495
3532
|
ComposerInput.displayName = "ComposerInput";
|
3496
3533
|
var useAllowCancel = () => {
|
3497
|
-
const {
|
3498
|
-
const cancelSupported =
|
3534
|
+
const { useThread } = useThreadContext();
|
3535
|
+
const cancelSupported = useThread((t) => t.capabilities.cancel);
|
3499
3536
|
return cancelSupported;
|
3500
3537
|
};
|
3501
3538
|
var ComposerAction = () => {
|
@@ -3596,7 +3633,7 @@ var ThreadWelcomeSuggestion = ({
|
|
3596
3633
|
};
|
3597
3634
|
var ThreadWelcomeSuggestions = () => {
|
3598
3635
|
const { welcome: { suggestions } = {} } = useThreadConfig();
|
3599
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([suggestions, 'optionalAccess',
|
3636
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([suggestions, 'optionalAccess', _129 => _129.map, 'call', _130 => _130((suggestion, idx) => {
|
3600
3637
|
const key = `${suggestion.prompt}-${idx}`;
|
3601
3638
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestion, { suggestion }, key);
|
3602
3639
|
})]) });
|
@@ -3621,8 +3658,8 @@ var thread_welcome_default = Object.assign(ThreadWelcome, exports6);
|
|
3621
3658
|
|
3622
3659
|
var useAllowEdit = () => {
|
3623
3660
|
const { userMessage: { allowEdit = true } = {} } = useThreadConfig();
|
3624
|
-
const {
|
3625
|
-
const editSupported =
|
3661
|
+
const { useThread } = useThreadContext();
|
3662
|
+
const editSupported = useThread((t) => t.capabilities.edit);
|
3626
3663
|
return editSupported && allowEdit;
|
3627
3664
|
};
|
3628
3665
|
var UserActionBar = () => {
|
@@ -3674,7 +3711,7 @@ var UserMessageContent = _react.forwardRef.call(void 0,
|
|
3674
3711
|
{
|
3675
3712
|
components: {
|
3676
3713
|
...components,
|
3677
|
-
Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
3714
|
+
Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _131 => _131.Text]), () => ( content_part_default.Text))
|
3678
3715
|
}
|
3679
3716
|
}
|
3680
3717
|
) });
|
@@ -3776,10 +3813,10 @@ var ThreadMessages = ({ components, ...rest }) => {
|
|
3776
3813
|
thread_exports.Messages,
|
3777
3814
|
{
|
3778
3815
|
components: {
|
3779
|
-
UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
3780
|
-
EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
3781
|
-
AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
3782
|
-
SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
3816
|
+
UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _132 => _132.UserMessage]), () => ( user_message_default)),
|
3817
|
+
EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _133 => _133.EditComposer]), () => ( edit_composer_default)),
|
3818
|
+
AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _134 => _134.AssistantMessage]), () => ( assistant_message_default)),
|
3819
|
+
SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _135 => _135.SystemMessage]), () => ( SystemMessage))
|
3783
3820
|
},
|
3784
3821
|
...rest
|
3785
3822
|
}
|