@assistant-ui/react 0.5.24 → 0.5.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +75 -72
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +27 -24
- package/dist/index.mjs.map +1 -1
- package/dist/styles/index.css +11 -4
- package/dist/styles/index.css.map +1 -1
- package/dist/styles/tailwindcss/base-components.css +1 -1
- package/package.json +7 -7
- package/README.md +0 -34
    
        package/dist/index.d.mts
    CHANGED
    
    | @@ -125,7 +125,6 @@ declare class LocalThreadRuntime implements ThreadRuntime { | |
| 125 125 | 
             
                }>;
         | 
| 126 126 | 
             
                readonly isDisabled = false;
         | 
| 127 127 | 
             
                get messages(): ThreadMessage[];
         | 
| 128 | 
            -
                get isRunning(): boolean;
         | 
| 129 128 | 
             
                constructor(configProvider: ModelConfigProvider, adapter: ChatModelAdapter, options?: LocalRuntimeOptions | undefined);
         | 
| 130 129 | 
             
                getBranches(messageId: string): string[];
         | 
| 131 130 | 
             
                switchToBranch(branchId: string): void;
         | 
| @@ -551,7 +550,6 @@ declare class ExternalStoreThreadRuntime implements ReactThreadRuntime { | |
| 551 550 | 
             
                };
         | 
| 552 551 | 
             
                messages: ThreadMessage[];
         | 
| 553 552 | 
             
                isDisabled: boolean;
         | 
| 554 | 
            -
                isRunning: boolean;
         | 
| 555 553 | 
             
                converter: ThreadMessageConverter;
         | 
| 556 554 | 
             
                private _store;
         | 
| 557 555 | 
             
                constructor(store: ExternalStoreAdapter<any>);
         | 
| @@ -603,7 +601,8 @@ type ThreadActionsState = Readonly<{ | |
| 603 601 | 
             
                addToolResult: (options: AddToolResultOptions) => void;
         | 
| 604 602 | 
             
            }>;
         | 
| 605 603 |  | 
| 606 | 
            -
            type ThreadRuntime = Readonly< | 
| 604 | 
            +
            type ThreadRuntime = Readonly<Omit<ThreadActionsState, "getRuntime"> & {
         | 
| 605 | 
            +
                isDisabled: boolean;
         | 
| 607 606 | 
             
                messages: readonly ThreadMessage[];
         | 
| 608 607 | 
             
                subscribe: (callback: () => void) => Unsubscribe;
         | 
| 609 608 | 
             
            }>;
         | 
| @@ -654,6 +653,7 @@ declare function useAssistantContext(options: { | |
| 654 653 | 
             
            type ThreadState = Readonly<{
         | 
| 655 654 | 
             
                isRunning: boolean;
         | 
| 656 655 | 
             
                isDisabled: boolean;
         | 
| 656 | 
            +
                unstable_canAppendNew: boolean;
         | 
| 657 657 | 
             
            }>;
         | 
| 658 658 |  | 
| 659 659 | 
             
            type ThreadViewportState = Readonly<{
         | 
    
        package/dist/index.d.ts
    CHANGED
    
    | @@ -125,7 +125,6 @@ declare class LocalThreadRuntime implements ThreadRuntime { | |
| 125 125 | 
             
                }>;
         | 
| 126 126 | 
             
                readonly isDisabled = false;
         | 
| 127 127 | 
             
                get messages(): ThreadMessage[];
         | 
| 128 | 
            -
                get isRunning(): boolean;
         | 
| 129 128 | 
             
                constructor(configProvider: ModelConfigProvider, adapter: ChatModelAdapter, options?: LocalRuntimeOptions | undefined);
         | 
| 130 129 | 
             
                getBranches(messageId: string): string[];
         | 
| 131 130 | 
             
                switchToBranch(branchId: string): void;
         | 
| @@ -551,7 +550,6 @@ declare class ExternalStoreThreadRuntime implements ReactThreadRuntime { | |
| 551 550 | 
             
                };
         | 
| 552 551 | 
             
                messages: ThreadMessage[];
         | 
| 553 552 | 
             
                isDisabled: boolean;
         | 
| 554 | 
            -
                isRunning: boolean;
         | 
| 555 553 | 
             
                converter: ThreadMessageConverter;
         | 
| 556 554 | 
             
                private _store;
         | 
| 557 555 | 
             
                constructor(store: ExternalStoreAdapter<any>);
         | 
| @@ -603,7 +601,8 @@ type ThreadActionsState = Readonly<{ | |
| 603 601 | 
             
                addToolResult: (options: AddToolResultOptions) => void;
         | 
| 604 602 | 
             
            }>;
         | 
| 605 603 |  | 
| 606 | 
            -
            type ThreadRuntime = Readonly< | 
| 604 | 
            +
            type ThreadRuntime = Readonly<Omit<ThreadActionsState, "getRuntime"> & {
         | 
| 605 | 
            +
                isDisabled: boolean;
         | 
| 607 606 | 
             
                messages: readonly ThreadMessage[];
         | 
| 608 607 | 
             
                subscribe: (callback: () => void) => Unsubscribe;
         | 
| 609 608 | 
             
            }>;
         | 
| @@ -654,6 +653,7 @@ declare function useAssistantContext(options: { | |
| 654 653 | 
             
            type ThreadState = Readonly<{
         | 
| 655 654 | 
             
                isRunning: boolean;
         | 
| 656 655 | 
             
                isDisabled: boolean;
         | 
| 656 | 
            +
                unstable_canAppendNew: boolean;
         | 
| 657 657 | 
             
            }>;
         | 
| 658 658 |  | 
| 659 659 | 
             
            type ThreadViewportState = Readonly<{
         | 
    
        package/dist/index.js
    CHANGED
    
    | @@ -159,11 +159,23 @@ var makeComposerStore = (useThreadMessages, useThreadActions) => { | |
| 159 159 |  | 
| 160 160 | 
             
            // src/context/stores/Thread.ts
         | 
| 161 161 |  | 
| 162 | 
            +
            var getThreadStateFromRuntime = (runtime) => {
         | 
| 163 | 
            +
              const lastMessage = runtime.messages.at(-1);
         | 
| 164 | 
            +
              if (_optionalChain([lastMessage, 'optionalAccess', _11 => _11.role]) !== "assistant")
         | 
| 165 | 
            +
                return Object.freeze({
         | 
| 166 | 
            +
                  isDisabled: runtime.isDisabled,
         | 
| 167 | 
            +
                  isRunning: false,
         | 
| 168 | 
            +
                  unstable_canAppendNew: !runtime.isDisabled
         | 
| 169 | 
            +
                });
         | 
| 170 | 
            +
              return Object.freeze({
         | 
| 171 | 
            +
                isDisabled: runtime.isDisabled,
         | 
| 172 | 
            +
                isRunning: lastMessage.status.type === "running",
         | 
| 173 | 
            +
                unstable_canAppendNew: !runtime.isDisabled && lastMessage.status.type !== "running" && lastMessage.status.type !== "requires-action"
         | 
| 174 | 
            +
              });
         | 
| 175 | 
            +
            };
         | 
| 162 176 | 
             
            var makeThreadStore = (runtimeRef) => {
         | 
| 163 | 
            -
               | 
| 164 | 
            -
             | 
| 165 | 
            -
                isRunning: runtimeRef.getState().isRunning
         | 
| 166 | 
            -
              }));
         | 
| 177 | 
            +
              const runtime = runtimeRef.getState();
         | 
| 178 | 
            +
              return _zustand.create.call(void 0, () => getThreadStateFromRuntime(runtime));
         | 
| 167 179 | 
             
            };
         | 
| 168 180 |  | 
| 169 181 | 
             
            // src/context/stores/ThreadViewport.tsx
         | 
| @@ -260,13 +272,11 @@ var ThreadProvider = ({ | |
| 260 272 | 
             
                _react.useCallback.call(void 0, 
         | 
| 261 273 | 
             
                  (thread) => {
         | 
| 262 274 | 
             
                    const onThreadUpdate = () => {
         | 
| 263 | 
            -
                      const  | 
| 264 | 
            -
                       | 
| 275 | 
            +
                      const oldState = context.useThread.getState();
         | 
| 276 | 
            +
                      const state = getThreadStateFromRuntime(thread);
         | 
| 277 | 
            +
                      if (oldState.isDisabled !== state.isDisabled || oldState.isRunning !== state.isRunning || oldState.unstable_canAppendNew !== state.unstable_canAppendNew) {
         | 
| 265 278 | 
             
                        context.useThread.setState(
         | 
| 266 | 
            -
                           | 
| 267 | 
            -
                            isRunning: thread.isRunning,
         | 
| 268 | 
            -
                            isDisabled: thread.isDisabled
         | 
| 269 | 
            -
                          }),
         | 
| 279 | 
            +
                          getThreadStateFromRuntime(thread),
         | 
| 270 280 | 
             
                          true
         | 
| 271 281 | 
             
                        );
         | 
| 272 282 | 
             
                      }
         | 
| @@ -344,7 +354,7 @@ var AssistantRuntimeProvider = _react.memo.call(void 0, AssistantRuntimeProvider | |
| 344 354 | 
             
            var MessageContext = _react.createContext.call(void 0, null);
         | 
| 345 355 | 
             
            function useMessageContext(options) {
         | 
| 346 356 | 
             
              const context = _react.useContext.call(void 0, MessageContext);
         | 
| 347 | 
            -
              if (!_optionalChain([options, 'optionalAccess',  | 
| 357 | 
            +
              if (!_optionalChain([options, 'optionalAccess', _12 => _12.optional]) && !context)
         | 
| 348 358 | 
             
                throw new Error(
         | 
| 349 359 | 
             
                  "This component can only be used inside a component passed to <ThreadPrimitive.Messages components={...} />."
         | 
| 350 360 | 
             
                );
         | 
| @@ -371,7 +381,7 @@ var ContentPartContext = _react.createContext.call(void 0, | |
| 371 381 | 
             
            );
         | 
| 372 382 | 
             
            function useContentPartContext(options) {
         | 
| 373 383 | 
             
              const context = _react.useContext.call(void 0, ContentPartContext);
         | 
| 374 | 
            -
              if (!_optionalChain([options, 'optionalAccess',  | 
| 384 | 
            +
              if (!_optionalChain([options, 'optionalAccess', _13 => _13.optional]) && !context)
         | 
| 375 385 | 
             
                throw new Error(
         | 
| 376 386 | 
             
                  "This component can only be used inside a component passed to <MessagePrimitive.Content components={...} >."
         | 
| 377 387 | 
             
                );
         | 
| @@ -383,13 +393,13 @@ function useContentPartContext(options) { | |
| 383 393 | 
             
            var toAppendMessage = (useThreadMessages, message) => {
         | 
| 384 394 | 
             
              if (typeof message === "string") {
         | 
| 385 395 | 
             
                return {
         | 
| 386 | 
            -
                  parentId: _nullishCoalesce(_optionalChain([useThreadMessages, 'access',  | 
| 396 | 
            +
                  parentId: _nullishCoalesce(_optionalChain([useThreadMessages, 'access', _14 => _14.getState, 'call', _15 => _15(), 'access', _16 => _16.at, 'call', _17 => _17(-1), 'optionalAccess', _18 => _18.id]), () => ( null)),
         | 
| 387 397 | 
             
                  role: "user",
         | 
| 388 398 | 
             
                  content: [{ type: "text", text: message }]
         | 
| 389 399 | 
             
                };
         | 
| 390 400 | 
             
              }
         | 
| 391 401 | 
             
              return {
         | 
| 392 | 
            -
                parentId: _nullishCoalesce(_nullishCoalesce(message.parentId, () => ( _optionalChain([useThreadMessages, 'access',  | 
| 402 | 
            +
                parentId: _nullishCoalesce(_nullishCoalesce(message.parentId, () => ( _optionalChain([useThreadMessages, 'access', _19 => _19.getState, 'call', _20 => _20(), 'access', _21 => _21.at, 'call', _22 => _22(-1), 'optionalAccess', _23 => _23.id]))), () => ( null)),
         | 
| 393 403 | 
             
                role: _nullishCoalesce(message.role, () => ( "user")),
         | 
| 394 404 | 
             
                content: message.content
         | 
| 395 405 | 
             
              };
         | 
| @@ -441,7 +451,7 @@ var useAssistantTool = (tool) => { | |
| 441 451 | 
             
                const unsub2 = render ? setToolUI(toolName, render) : void 0;
         | 
| 442 452 | 
             
                return () => {
         | 
| 443 453 | 
             
                  unsub1();
         | 
| 444 | 
            -
                  _optionalChain([unsub2, 'optionalCall',  | 
| 454 | 
            +
                  _optionalChain([unsub2, 'optionalCall', _24 => _24()]);
         | 
| 445 455 | 
             
                };
         | 
| 446 456 | 
             
              }, [registerModelConfigProvider, setToolUI, tool]);
         | 
| 447 457 | 
             
            };
         | 
| @@ -520,8 +530,8 @@ var useCombinedStore = (stores, selector) => { | |
| 520 530 | 
             
              return useCombined(selector);
         | 
| 521 531 | 
             
            };
         | 
| 522 532 |  | 
| 523 | 
            -
            // src/utils/ | 
| 524 | 
            -
            var  | 
| 533 | 
            +
            // src/utils/getThreadMessageText.tsx
         | 
| 534 | 
            +
            var getThreadMessageText = (message) => {
         | 
| 525 535 | 
             
              const textParts = message.content.filter(
         | 
| 526 536 | 
             
                (part) => part.type === "text"
         | 
| 527 537 | 
             
              );
         | 
| @@ -543,7 +553,7 @@ var useActionBarCopy = ({ | |
| 543 553 | 
             
                const { message } = useMessage.getState();
         | 
| 544 554 | 
             
                const { setIsCopied } = useMessageUtils.getState();
         | 
| 545 555 | 
             
                const { isEditing, value: composerValue } = useEditComposer.getState();
         | 
| 546 | 
            -
                const valueToCopy = isEditing ? composerValue :  | 
| 556 | 
            +
                const valueToCopy = isEditing ? composerValue : getThreadMessageText(message);
         | 
| 547 557 | 
             
                navigator.clipboard.writeText(valueToCopy).then(() => {
         | 
| 548 558 | 
             
                  setIsCopied(true);
         | 
| 549 559 | 
             
                  setTimeout(() => setIsCopied(false), copiedDuration);
         | 
| @@ -670,7 +680,7 @@ var useComposerSend = () => { | |
| 670 680 | 
             
              const { useComposer } = useComposerContext();
         | 
| 671 681 | 
             
              const disabled = useCombinedStore(
         | 
| 672 682 | 
             
                [useThread, useComposer],
         | 
| 673 | 
            -
                (t, c) => t. | 
| 683 | 
            +
                (t, c) => !t.unstable_canAppendNew || !c.isEditing || c.value.length === 0
         | 
| 674 684 | 
             
              );
         | 
| 675 685 | 
             
              const callback = _react.useCallback.call(void 0, () => {
         | 
| 676 686 | 
             
                const composerState = useComposer.getState();
         | 
| @@ -878,7 +888,7 @@ var createActionButton = (displayName, useActionButton, forwardProps = []) => { | |
| 878 888 | 
             
                    ...primitiveProps,
         | 
| 879 889 | 
             
                    ref: forwardedRef,
         | 
| 880 890 | 
             
                    onClick: _primitive.composeEventHandlers.call(void 0, primitiveProps.onClick, () => {
         | 
| 881 | 
            -
                      _optionalChain([callback, 'optionalCall',  | 
| 891 | 
            +
                      _optionalChain([callback, 'optionalCall', _25 => _25()]);
         | 
| 882 892 | 
             
                    })
         | 
| 883 893 | 
             
                  }
         | 
| 884 894 | 
             
                );
         | 
| @@ -1166,7 +1176,7 @@ var getContentPartState = ({ message }, useContentPart, partIndex) => { | |
| 1166 1176 | 
             
                }
         | 
| 1167 1177 | 
             
              }
         | 
| 1168 1178 | 
             
              const status = toContentPartStatus(message, partIndex, part);
         | 
| 1169 | 
            -
              const currentState = _optionalChain([useContentPart, 'optionalAccess',  | 
| 1179 | 
            +
              const currentState = _optionalChain([useContentPart, 'optionalAccess', _26 => _26.getState, 'call', _27 => _27()]);
         | 
| 1170 1180 | 
             
              if (currentState && currentState.part === part && currentState.status === status)
         | 
| 1171 1181 | 
             
                return null;
         | 
| 1172 1182 | 
             
              return Object.freeze({ part, status });
         | 
| @@ -1242,7 +1252,7 @@ var withSmoothContextProvider = (Component) => { | |
| 1242 1252 | 
             
            };
         | 
| 1243 1253 | 
             
            function useSmoothContext(options) {
         | 
| 1244 1254 | 
             
              const context = _react.useContext.call(void 0, SmoothContext);
         | 
| 1245 | 
            -
              if (!_optionalChain([options, 'optionalAccess',  | 
| 1255 | 
            +
              if (!_optionalChain([options, 'optionalAccess', _28 => _28.optional]) && !context)
         | 
| 1246 1256 | 
             
                throw new Error(
         | 
| 1247 1257 | 
             
                  "This component must be used within a SmoothContextProvider."
         | 
| 1248 1258 | 
             
                );
         | 
| @@ -1313,7 +1323,7 @@ var useSmooth = (state, smooth = false) => { | |
| 1313 1323 | 
             
              const [displayedText, setDisplayedText] = _react.useState.call(void 0, text);
         | 
| 1314 1324 | 
             
              const setText = _reactusecallbackref.useCallbackRef.call(void 0, (text2) => {
         | 
| 1315 1325 | 
             
                setDisplayedText(text2);
         | 
| 1316 | 
            -
                _optionalChain([useSmoothStatus2, 'optionalAccess',  | 
| 1326 | 
            +
                _optionalChain([useSmoothStatus2, 'optionalAccess', _29 => _29.setState, 'call', _30 => _30(text2 !== state.part.text ? SMOOTH_STATUS : state.status)]);
         | 
| 1317 1327 | 
             
              });
         | 
| 1318 1328 | 
             
              const [animatorRef] = _react.useState.call(void 0, 
         | 
| 1319 1329 | 
             
                new TextStreamAnimator(text, setText)
         | 
| @@ -1457,7 +1467,7 @@ var MessageContentPartImpl = ({ | |
| 1457 1467 | 
             
            };
         | 
| 1458 1468 | 
             
            var MessageContentPart = _react.memo.call(void 0, 
         | 
| 1459 1469 | 
             
              MessageContentPartImpl,
         | 
| 1460 | 
            -
              (prev, next) => prev.partIndex === next.partIndex && _optionalChain([prev, 'access',  | 
| 1470 | 
            +
              (prev, next) => prev.partIndex === next.partIndex && _optionalChain([prev, 'access', _31 => _31.components, 'optionalAccess', _32 => _32.Text]) === _optionalChain([next, 'access', _33 => _33.components, 'optionalAccess', _34 => _34.Text]) && _optionalChain([prev, 'access', _35 => _35.components, 'optionalAccess', _36 => _36.Image]) === _optionalChain([next, 'access', _37 => _37.components, 'optionalAccess', _38 => _38.Image]) && _optionalChain([prev, 'access', _39 => _39.components, 'optionalAccess', _40 => _40.UI]) === _optionalChain([next, 'access', _41 => _41.components, 'optionalAccess', _42 => _42.UI]) && _optionalChain([prev, 'access', _43 => _43.components, 'optionalAccess', _44 => _44.tools]) === _optionalChain([next, 'access', _45 => _45.components, 'optionalAccess', _46 => _46.tools])
         | 
| 1461 1471 | 
             
            );
         | 
| 1462 1472 | 
             
            var MessagePrimitiveContent = ({
         | 
| 1463 1473 | 
             
              components
         | 
| @@ -1568,10 +1578,10 @@ var ComposerPrimitiveInput = _react.forwardRef.call(void 0, | |
| 1568 1578 | 
             
                const handleKeyPress = (e) => {
         | 
| 1569 1579 | 
             
                  if (isDisabled) return;
         | 
| 1570 1580 | 
             
                  if (e.key === "Enter" && e.shiftKey === false) {
         | 
| 1571 | 
            -
                    const  | 
| 1572 | 
            -
                    if ( | 
| 1581 | 
            +
                    const { unstable_canAppendNew } = useThread.getState();
         | 
| 1582 | 
            +
                    if (unstable_canAppendNew) {
         | 
| 1573 1583 | 
             
                      e.preventDefault();
         | 
| 1574 | 
            -
                      _optionalChain([textareaRef, 'access',  | 
| 1584 | 
            +
                      _optionalChain([textareaRef, 'access', _47 => _47.current, 'optionalAccess', _48 => _48.closest, 'call', _49 => _49("form"), 'optionalAccess', _50 => _50.requestSubmit, 'call', _51 => _51()]);
         | 
| 1575 1585 | 
             
                    }
         | 
| 1576 1586 | 
             
                  }
         | 
| 1577 1587 | 
             
                };
         | 
| @@ -1865,15 +1875,15 @@ var makeMessageUtilsStore = () => _zustand.create.call(void 0, (set) => ({ | |
| 1865 1875 | 
             
            // src/context/providers/MessageProvider.tsx
         | 
| 1866 1876 |  | 
| 1867 1877 | 
             
            var getIsLast = (messages, message) => {
         | 
| 1868 | 
            -
              return _optionalChain([messages, 'access',  | 
| 1878 | 
            +
              return _optionalChain([messages, 'access', _52 => _52[messages.length - 1], 'optionalAccess', _53 => _53.id]) === message.id;
         | 
| 1869 1879 | 
             
            };
         | 
| 1870 1880 | 
             
            var getMessageState = (messages, getBranches, useMessage, messageIndex) => {
         | 
| 1871 | 
            -
              const parentId = _nullishCoalesce(_optionalChain([messages, 'access',  | 
| 1881 | 
            +
              const parentId = _nullishCoalesce(_optionalChain([messages, 'access', _54 => _54[messageIndex - 1], 'optionalAccess', _55 => _55.id]), () => ( null));
         | 
| 1872 1882 | 
             
              const message = messages[messageIndex];
         | 
| 1873 1883 | 
             
              if (!message) return null;
         | 
| 1874 1884 | 
             
              const isLast = getIsLast(messages, message);
         | 
| 1875 1885 | 
             
              const branches = getBranches(message.id);
         | 
| 1876 | 
            -
              const currentState = _optionalChain([useMessage, 'optionalAccess',  | 
| 1886 | 
            +
              const currentState = _optionalChain([useMessage, 'optionalAccess', _56 => _56.getState, 'call', _57 => _57()]);
         | 
| 1877 1887 | 
             
              if (currentState && currentState.message === message && currentState.parentId === parentId && currentState.branches === branches && currentState.isLast === isLast)
         | 
| 1878 1888 | 
             
                return null;
         | 
| 1879 1889 | 
             
              return Object.freeze({
         | 
| @@ -1902,7 +1912,7 @@ var useMessageContext2 = (messageIndex) => { | |
| 1902 1912 | 
             
                      throw new Error(
         | 
| 1903 1913 | 
             
                        "Tried to edit a non-user message. Editing is only supported for user messages. This is likely an internal bug in assistant-ui."
         | 
| 1904 1914 | 
             
                      );
         | 
| 1905 | 
            -
                    const text =  | 
| 1915 | 
            +
                    const text = getThreadMessageText(message);
         | 
| 1906 1916 | 
             
                    return text;
         | 
| 1907 1917 | 
             
                  },
         | 
| 1908 1918 | 
             
                  onSend: (text) => {
         | 
| @@ -2000,7 +2010,7 @@ var ThreadPrimitiveMessagesImpl = ({ | |
| 2000 2010 | 
             
            ThreadPrimitiveMessagesImpl.displayName = "ThreadPrimitive.Messages";
         | 
| 2001 2011 | 
             
            var ThreadPrimitiveMessages = _react.memo.call(void 0, 
         | 
| 2002 2012 | 
             
              ThreadPrimitiveMessagesImpl,
         | 
| 2003 | 
            -
              (prev, next) => _optionalChain([prev, 'access',  | 
| 2013 | 
            +
              (prev, next) => _optionalChain([prev, 'access', _58 => _58.components, 'optionalAccess', _59 => _59.Message]) === _optionalChain([next, 'access', _60 => _60.components, 'optionalAccess', _61 => _61.Message]) && _optionalChain([prev, 'access', _62 => _62.components, 'optionalAccess', _63 => _63.UserMessage]) === _optionalChain([next, 'access', _64 => _64.components, 'optionalAccess', _65 => _65.UserMessage]) && _optionalChain([prev, 'access', _66 => _66.components, 'optionalAccess', _67 => _67.EditComposer]) === _optionalChain([next, 'access', _68 => _68.components, 'optionalAccess', _69 => _69.EditComposer]) && _optionalChain([prev, 'access', _70 => _70.components, 'optionalAccess', _71 => _71.AssistantMessage]) === _optionalChain([next, 'access', _72 => _72.components, 'optionalAccess', _73 => _73.AssistantMessage]) && _optionalChain([prev, 'access', _74 => _74.components, 'optionalAccess', _75 => _75.SystemMessage]) === _optionalChain([next, 'access', _76 => _76.components, 'optionalAccess', _77 => _77.SystemMessage])
         | 
| 2004 2014 | 
             
            );
         | 
| 2005 2015 |  | 
| 2006 2016 | 
             
            // src/primitives/thread/ThreadScrollToBottom.tsx
         | 
| @@ -2132,7 +2142,7 @@ var MessageRepository = (_class4 = class {constructor() { _class4.prototype.__in | |
| 2132 2142 | 
             
                  parentOrRoot.children = parentOrRoot.children.filter(
         | 
| 2133 2143 | 
             
                    (m) => m !== child.current.id
         | 
| 2134 2144 | 
             
                  );
         | 
| 2135 | 
            -
                  if (_optionalChain([child, 'access',  | 
| 2145 | 
            +
                  if (_optionalChain([child, 'access', _78 => _78.prev, 'optionalAccess', _79 => _79.next]) === child) {
         | 
| 2136 2146 | 
             
                    const fallbackId = child.prev.children.at(-1);
         | 
| 2137 2147 | 
             
                    const fallback = fallbackId ? this.messages.get(fallbackId) : null;
         | 
| 2138 2148 | 
             
                    if (fallback === void 0) {
         | 
| @@ -2162,7 +2172,7 @@ var MessageRepository = (_class4 = class {constructor() { _class4.prototype.__in | |
| 2162 2172 | 
             
                }
         | 
| 2163 2173 | 
             
              }
         | 
| 2164 2174 | 
             
              getMessages() {
         | 
| 2165 | 
            -
                const messages = new Array(_nullishCoalesce(_optionalChain([this, 'access',  | 
| 2175 | 
            +
                const messages = new Array(_nullishCoalesce(_optionalChain([this, 'access', _80 => _80.head, 'optionalAccess', _81 => _81.level]), () => ( 0)));
         | 
| 2166 2176 | 
             
                for (let current = this.head; current; current = current.prev) {
         | 
| 2167 2177 | 
             
                  messages[current.level] = current.current;
         | 
| 2168 2178 | 
             
                }
         | 
| @@ -2200,7 +2210,7 @@ var MessageRepository = (_class4 = class {constructor() { _class4.prototype.__in | |
| 2200 2210 | 
             
                    "MessageRepository(updateMessage): Message not found. This is likely an internal bug in assistant-ui."
         | 
| 2201 2211 | 
             
                  );
         | 
| 2202 2212 | 
             
                return {
         | 
| 2203 | 
            -
                  parentId: _nullishCoalesce(_optionalChain([message, 'access',  | 
| 2213 | 
            +
                  parentId: _nullishCoalesce(_optionalChain([message, 'access', _82 => _82.prev, 'optionalAccess', _83 => _83.current, 'access', _84 => _84.id]), () => ( null)),
         | 
| 2204 2214 | 
             
                  message: message.current
         | 
| 2205 2215 | 
             
                };
         | 
| 2206 2216 | 
             
              }
         | 
| @@ -2285,11 +2295,11 @@ var MessageRepository = (_class4 = class {constructor() { _class4.prototype.__in | |
| 2285 2295 | 
             
                for (const [, message] of this.messages) {
         | 
| 2286 2296 | 
             
                  exportItems.push({
         | 
| 2287 2297 | 
             
                    message: message.current,
         | 
| 2288 | 
            -
                    parentId: _nullishCoalesce(_optionalChain([message, 'access',  | 
| 2298 | 
            +
                    parentId: _nullishCoalesce(_optionalChain([message, 'access', _85 => _85.prev, 'optionalAccess', _86 => _86.current, 'access', _87 => _87.id]), () => ( null))
         | 
| 2289 2299 | 
             
                  });
         | 
| 2290 2300 | 
             
                }
         | 
| 2291 2301 | 
             
                return {
         | 
| 2292 | 
            -
                  headId: _nullishCoalesce(_optionalChain([this, 'access',  | 
| 2302 | 
            +
                  headId: _nullishCoalesce(_optionalChain([this, 'access', _88 => _88.head, 'optionalAccess', _89 => _89.current, 'access', _90 => _90.id]), () => ( null)),
         | 
| 2293 2303 | 
             
                  messages: exportItems
         | 
| 2294 2304 | 
             
                };
         | 
| 2295 2305 | 
             
              }
         | 
| @@ -2297,7 +2307,7 @@ var MessageRepository = (_class4 = class {constructor() { _class4.prototype.__in | |
| 2297 2307 | 
             
                for (const { message, parentId } of messages) {
         | 
| 2298 2308 | 
             
                  this.addOrUpdateMessage(parentId, message);
         | 
| 2299 2309 | 
             
                }
         | 
| 2300 | 
            -
                this.resetHead(_nullishCoalesce(_nullishCoalesce(headId, () => ( _optionalChain([messages, 'access',  | 
| 2310 | 
            +
                this.resetHead(_nullishCoalesce(_nullishCoalesce(headId, () => ( _optionalChain([messages, 'access', _91 => _91.at, 'call', _92 => _92(-1), 'optionalAccess', _93 => _93.message, 'access', _94 => _94.id]))), () => ( null)));
         | 
| 2301 2311 | 
             
              }
         | 
| 2302 2312 | 
             
            }, _class4);
         | 
| 2303 2313 |  | 
| @@ -2460,7 +2470,7 @@ var fromLanguageModelMessages = (lm, { mergeRoundtrips }) => { | |
| 2460 2470 | 
             
                    });
         | 
| 2461 2471 | 
             
                    if (mergeRoundtrips) {
         | 
| 2462 2472 | 
             
                      const previousMessage = messages[messages.length - 1];
         | 
| 2463 | 
            -
                      if (_optionalChain([previousMessage, 'optionalAccess',  | 
| 2473 | 
            +
                      if (_optionalChain([previousMessage, 'optionalAccess', _95 => _95.role]) === "assistant") {
         | 
| 2464 2474 | 
             
                        previousMessage.content.push(...newContent);
         | 
| 2465 2475 | 
             
                        break;
         | 
| 2466 2476 | 
             
                      }
         | 
| @@ -2473,7 +2483,7 @@ var fromLanguageModelMessages = (lm, { mergeRoundtrips }) => { | |
| 2473 2483 | 
             
                  }
         | 
| 2474 2484 | 
             
                  case "tool": {
         | 
| 2475 2485 | 
             
                    const previousMessage = messages[messages.length - 1];
         | 
| 2476 | 
            -
                    if (_optionalChain([previousMessage, 'optionalAccess',  | 
| 2486 | 
            +
                    if (_optionalChain([previousMessage, 'optionalAccess', _96 => _96.role]) !== "assistant")
         | 
| 2477 2487 | 
             
                      throw new Error(
         | 
| 2478 2488 | 
             
                        "A tool message must be preceded by an assistant message."
         | 
| 2479 2489 | 
             
                      );
         | 
| @@ -2677,7 +2687,7 @@ var useEdgeRuntime = ({ | |
| 2677 2687 | 
             
            };
         | 
| 2678 2688 |  | 
| 2679 2689 | 
             
            // src/runtimes/local/shouldContinue.tsx
         | 
| 2680 | 
            -
            var shouldContinue = (result) => _optionalChain([result, 'access',  | 
| 2690 | 
            +
            var shouldContinue = (result) => _optionalChain([result, 'access', _97 => _97.status, 'optionalAccess', _98 => _98.type]) === "requires-action" && result.status.reason === "tool-calls" && result.content.every((c) => c.type !== "tool-call" || !!c.result);
         | 
| 2681 2691 |  | 
| 2682 2692 | 
             
            // src/runtimes/local/LocalThreadRuntime.tsx
         | 
| 2683 2693 | 
             
            var CAPABILITIES = Object.freeze({
         | 
| @@ -2692,7 +2702,7 @@ var LocalThreadRuntime = (_class5 = class { | |
| 2692 2702 | 
             
                this.configProvider = configProvider;
         | 
| 2693 2703 | 
             
                this.adapter = adapter;
         | 
| 2694 2704 | 
             
                this.options = options;
         | 
| 2695 | 
            -
                if (_optionalChain([options, 'optionalAccess',  | 
| 2705 | 
            +
                if (_optionalChain([options, 'optionalAccess', _99 => _99.initialMessages])) {
         | 
| 2696 2706 | 
             
                  let parentId = null;
         | 
| 2697 2707 | 
             
                  const messages = fromCoreMessages(options.initialMessages);
         | 
| 2698 2708 | 
             
                  for (const message of messages) {
         | 
| @@ -2709,9 +2719,6 @@ var LocalThreadRuntime = (_class5 = class { | |
| 2709 2719 | 
             
              get messages() {
         | 
| 2710 2720 | 
             
                return this.repository.getMessages();
         | 
| 2711 2721 | 
             
              }
         | 
| 2712 | 
            -
              get isRunning() {
         | 
| 2713 | 
            -
                return this.abortController != null;
         | 
| 2714 | 
            -
              }
         | 
| 2715 2722 | 
             
              getBranches(messageId) {
         | 
| 2716 2723 | 
             
                return this.repository.getBranches(messageId);
         | 
| 2717 2724 | 
             
              }
         | 
| @@ -2750,7 +2757,7 @@ var LocalThreadRuntime = (_class5 = class { | |
| 2750 2757 | 
             
              }
         | 
| 2751 2758 | 
             
              async performRoundtrip(parentId, message) {
         | 
| 2752 2759 | 
             
                const messages = this.repository.getMessages();
         | 
| 2753 | 
            -
                _optionalChain([this, 'access',  | 
| 2760 | 
            +
                _optionalChain([this, 'access', _100 => _100.abortController, 'optionalAccess', _101 => _101.abort, 'call', _102 => _102()]);
         | 
| 2754 2761 | 
             
                this.abortController = new AbortController();
         | 
| 2755 2762 | 
             
                const initialContent = message.content;
         | 
| 2756 2763 | 
             
                const initialRoundtrips = message.roundtrips;
         | 
| @@ -2759,13 +2766,13 @@ var LocalThreadRuntime = (_class5 = class { | |
| 2759 2766 | 
             
                    ...message,
         | 
| 2760 2767 | 
             
                    ...m.content ? { content: [...initialContent, ..._nullishCoalesce(m.content, () => ( []))] } : void 0,
         | 
| 2761 2768 | 
             
                    status: _nullishCoalesce(m.status, () => ( message.status)),
         | 
| 2762 | 
            -
                    ..._optionalChain([m, 'access',  | 
| 2769 | 
            +
                    ..._optionalChain([m, 'access', _103 => _103.roundtrips, 'optionalAccess', _104 => _104.length]) ? { roundtrips: [..._nullishCoalesce(initialRoundtrips, () => ( [])), ...m.roundtrips] } : void 0
         | 
| 2763 2770 | 
             
                  };
         | 
| 2764 2771 | 
             
                  this.repository.addOrUpdateMessage(parentId, message);
         | 
| 2765 2772 | 
             
                  this.notifySubscribers();
         | 
| 2766 2773 | 
             
                };
         | 
| 2767 | 
            -
                const maxToolRoundtrips = _nullishCoalesce(_optionalChain([this, 'access',  | 
| 2768 | 
            -
                const toolRoundtrips = _nullishCoalesce(_optionalChain([message, 'access',  | 
| 2774 | 
            +
                const maxToolRoundtrips = _nullishCoalesce(_optionalChain([this, 'access', _105 => _105.options, 'optionalAccess', _106 => _106.maxToolRoundtrips]), () => ( 1));
         | 
| 2775 | 
            +
                const toolRoundtrips = _nullishCoalesce(_optionalChain([message, 'access', _107 => _107.roundtrips, 'optionalAccess', _108 => _108.length]), () => ( 0));
         | 
| 2769 2776 | 
             
                if (toolRoundtrips > maxToolRoundtrips) {
         | 
| 2770 2777 | 
             
                  updateMessage({
         | 
| 2771 2778 | 
             
                    status: {
         | 
| @@ -2800,8 +2807,6 @@ var LocalThreadRuntime = (_class5 = class { | |
| 2800 2807 | 
             
                    updateMessage({
         | 
| 2801 2808 | 
             
                      status: { type: "complete", reason: "unknown" }
         | 
| 2802 2809 | 
             
                    });
         | 
| 2803 | 
            -
                  } else {
         | 
| 2804 | 
            -
                    this.notifySubscribers();
         | 
| 2805 2810 | 
             
                  }
         | 
| 2806 2811 | 
             
                } catch (e) {
         | 
| 2807 2812 | 
             
                  this.abortController = null;
         | 
| @@ -2999,7 +3004,7 @@ var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => { | |
| 2999 3004 |  | 
| 3000 3005 | 
             
            // src/runtimes/external-store/ExternalStoreThreadRuntime.tsx
         | 
| 3001 3006 | 
             
            var hasUpcomingMessage = (isRunning, messages) => {
         | 
| 3002 | 
            -
              return isRunning && _optionalChain([messages, 'access',  | 
| 3007 | 
            +
              return isRunning && _optionalChain([messages, 'access', _109 => _109[messages.length - 1], 'optionalAccess', _110 => _110.role]) !== "assistant";
         | 
| 3003 3008 | 
             
            };
         | 
| 3004 3009 | 
             
            var ExternalStoreThreadRuntime = (_class7 = class {
         | 
| 3005 3010 | 
             
              __init17() {this._subscriptions = /* @__PURE__ */ new Set()}
         | 
| @@ -3016,10 +3021,9 @@ var ExternalStoreThreadRuntime = (_class7 = class { | |
| 3016 3021 | 
             
              }
         | 
| 3017 3022 | 
             
              __init20() {this.messages = []}
         | 
| 3018 3023 | 
             
              __init21() {this.isDisabled = false}
         | 
| 3019 | 
            -
              __init22() {this. | 
| 3020 | 
            -
              __init23() {this.converter = new ThreadMessageConverter()}
         | 
| 3024 | 
            +
              __init22() {this.converter = new ThreadMessageConverter()}
         | 
| 3021 3025 |  | 
| 3022 | 
            -
              constructor(store) {;_class7.prototype.__init17.call(this);_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); | 
| 3026 | 
            +
              constructor(store) {;_class7.prototype.__init17.call(this);_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);
         | 
| 3023 3027 | 
             
                this.store = store;
         | 
| 3024 3028 | 
             
              }
         | 
| 3025 3029 | 
             
              set store(store) {
         | 
| @@ -3055,7 +3059,7 @@ var ExternalStoreThreadRuntime = (_class7 = class { | |
| 3055 3059 | 
             
                for (let i = 0; i < messages.length; i++) {
         | 
| 3056 3060 | 
             
                  const message = messages[i];
         | 
| 3057 3061 | 
             
                  const parent = messages[i - 1];
         | 
| 3058 | 
            -
                  this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess',  | 
| 3062 | 
            +
                  this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess', _114 => _114.id]), () => ( null)), message);
         | 
| 3059 3063 | 
             
                }
         | 
| 3060 3064 | 
             
                if (this.assistantOptimisticId) {
         | 
| 3061 3065 | 
             
                  this.repository.deleteMessage(this.assistantOptimisticId);
         | 
| @@ -3063,7 +3067,7 @@ var ExternalStoreThreadRuntime = (_class7 = class { | |
| 3063 3067 | 
             
                }
         | 
| 3064 3068 | 
             
                if (hasUpcomingMessage(isRunning, messages)) {
         | 
| 3065 3069 | 
             
                  this.assistantOptimisticId = this.repository.appendOptimisticMessage(
         | 
| 3066 | 
            -
                    _nullishCoalesce(_optionalChain([messages, 'access',  | 
| 3070 | 
            +
                    _nullishCoalesce(_optionalChain([messages, 'access', _115 => _115.at, 'call', _116 => _116(-1), 'optionalAccess', _117 => _117.id]), () => ( null)),
         | 
| 3067 3071 | 
             
                    {
         | 
| 3068 3072 | 
             
                      role: "assistant",
         | 
| 3069 3073 | 
             
                      content: []
         | 
| @@ -3071,11 +3075,10 @@ var ExternalStoreThreadRuntime = (_class7 = class { | |
| 3071 3075 | 
             
                  );
         | 
| 3072 3076 | 
             
                }
         | 
| 3073 3077 | 
             
                this.repository.resetHead(
         | 
| 3074 | 
            -
                  _nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages, 'access',  | 
| 3078 | 
            +
                  _nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages, 'access', _118 => _118.at, 'call', _119 => _119(-1), 'optionalAccess', _120 => _120.id]))), () => ( null))
         | 
| 3075 3079 | 
             
                );
         | 
| 3076 3080 | 
             
                this.messages = this.repository.getMessages();
         | 
| 3077 3081 | 
             
                this.isDisabled = isDisabled;
         | 
| 3078 | 
            -
                this.isRunning = isRunning;
         | 
| 3079 3082 | 
             
                for (const callback of this._subscriptions) callback();
         | 
| 3080 3083 | 
             
              }
         | 
| 3081 3084 | 
             
              getBranches(messageId) {
         | 
| @@ -3088,7 +3091,7 @@ var ExternalStoreThreadRuntime = (_class7 = class { | |
| 3088 3091 | 
             
                this.updateMessages(this.repository.getMessages());
         | 
| 3089 3092 | 
             
              }
         | 
| 3090 3093 | 
             
              async append(message) {
         | 
| 3091 | 
            -
                if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access',  | 
| 3094 | 
            +
                if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access', _121 => _121.messages, 'access', _122 => _122.at, 'call', _123 => _123(-1), 'optionalAccess', _124 => _124.id]), () => ( null)))) {
         | 
| 3092 3095 | 
             
                  if (!this._store.onEdit)
         | 
| 3093 3096 | 
             
                    throw new Error("Runtime does not support editing messages.");
         | 
| 3094 3097 | 
             
                  await this._store.onEdit(message);
         | 
| @@ -3118,8 +3121,8 @@ var ExternalStoreThreadRuntime = (_class7 = class { | |
| 3118 3121 | 
             
                this._subscriptions.add(callback);
         | 
| 3119 3122 | 
             
                return () => this._subscriptions.delete(callback);
         | 
| 3120 3123 | 
             
              }
         | 
| 3121 | 
            -
               | 
| 3122 | 
            -
                _optionalChain([this, 'access',  | 
| 3124 | 
            +
              __init23() {this.updateMessages = (messages) => {
         | 
| 3125 | 
            +
                _optionalChain([this, 'access', _125 => _125._store, 'access', _126 => _126.setMessages, 'optionalCall', _127 => _127(
         | 
| 3123 3126 | 
             
                  messages.flatMap(getExternalStoreMessage).filter((m) => m != null)
         | 
| 3124 3127 | 
             
                )]);
         | 
| 3125 3128 | 
             
              }}
         | 
| @@ -3132,9 +3135,9 @@ var ExternalStoreThreadRuntime = (_class7 = class { | |
| 3132 3135 |  | 
| 3133 3136 | 
             
            // src/runtimes/external-store/ExternalStoreRuntime.tsx
         | 
| 3134 3137 | 
             
            var ExternalStoreRuntime = (_class8 = class extends BaseAssistantRuntime {
         | 
| 3135 | 
            -
               | 
| 3138 | 
            +
              __init24() {this._proxyConfigProvider = new ProxyConfigProvider()}
         | 
| 3136 3139 | 
             
              constructor(store) {
         | 
| 3137 | 
            -
                super(new ExternalStoreThreadRuntime(store));_class8.prototype. | 
| 3140 | 
            +
                super(new ExternalStoreThreadRuntime(store));_class8.prototype.__init24.call(this);;
         | 
| 3138 3141 | 
             
              }
         | 
| 3139 3142 | 
             
              set store(store) {
         | 
| 3140 3143 | 
             
                this.thread.store = store;
         | 
| @@ -3184,7 +3187,7 @@ var ThreadConfigProvider = ({ | |
| 3184 3187 | 
             
            }) => {
         | 
| 3185 3188 | 
             
              const assistant = useAssistantContext({ optional: true });
         | 
| 3186 3189 | 
             
              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 });
         | 
| 3187 | 
            -
              if (!_optionalChain([config, 'optionalAccess',  | 
| 3190 | 
            +
              if (!_optionalChain([config, 'optionalAccess', _128 => _128.runtime])) return configProvider;
         | 
| 3188 3191 | 
             
              if (assistant) {
         | 
| 3189 3192 | 
             
                throw new Error(
         | 
| 3190 3193 | 
             
                  "You provided a runtime to <Thread> while simulataneously using <AssistantRuntimeProvider>. This is not allowed."
         | 
| @@ -3400,7 +3403,7 @@ var AssistantMessageContent = _react.forwardRef.call(void 0, ({ components: comp | |
| 3400 3403 | 
             
                {
         | 
| 3401 3404 | 
             
                  components: {
         | 
| 3402 3405 | 
             
                    ...componentsProp,
         | 
| 3403 | 
            -
                    Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess',  | 
| 3406 | 
            +
                    Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess', _129 => _129.Text]), () => ( components.Text)), () => ( content_part_default.Text))
         | 
| 3404 3407 | 
             
                  }
         | 
| 3405 3408 | 
             
                }
         | 
| 3406 3409 | 
             
              ) });
         | 
| @@ -3575,7 +3578,7 @@ var ThreadWelcomeSuggestion = ({ | |
| 3575 3578 | 
             
            };
         | 
| 3576 3579 | 
             
            var ThreadWelcomeSuggestions = () => {
         | 
| 3577 3580 | 
             
              const { welcome: { suggestions } = {} } = useThreadConfig();
         | 
| 3578 | 
            -
              return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([suggestions, 'optionalAccess',  | 
| 3581 | 
            +
              return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([suggestions, 'optionalAccess', _130 => _130.map, 'call', _131 => _131((suggestion, idx) => {
         | 
| 3579 3582 | 
             
                const key = `${suggestion.prompt}-${idx}`;
         | 
| 3580 3583 | 
             
                return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestion, { suggestion }, key);
         | 
| 3581 3584 | 
             
              })]) });
         | 
| @@ -3653,7 +3656,7 @@ var UserMessageContent = _react.forwardRef.call(void 0, | |
| 3653 3656 | 
             
                  {
         | 
| 3654 3657 | 
             
                    components: {
         | 
| 3655 3658 | 
             
                      ...components,
         | 
| 3656 | 
            -
                      Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess',  | 
| 3659 | 
            +
                      Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _132 => _132.Text]), () => ( content_part_default.Text))
         | 
| 3657 3660 | 
             
                    }
         | 
| 3658 3661 | 
             
                  }
         | 
| 3659 3662 | 
             
                ) });
         | 
| @@ -3755,10 +3758,10 @@ var ThreadMessages = ({ components, ...rest }) => { | |
| 3755 3758 | 
             
                thread_exports.Messages,
         | 
| 3756 3759 | 
             
                {
         | 
| 3757 3760 | 
             
                  components: {
         | 
| 3758 | 
            -
                    UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',  | 
| 3759 | 
            -
                    EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess',  | 
| 3760 | 
            -
                    AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',  | 
| 3761 | 
            -
                    SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',  | 
| 3761 | 
            +
                    UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _133 => _133.UserMessage]), () => ( user_message_default)),
         | 
| 3762 | 
            +
                    EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _134 => _134.EditComposer]), () => ( edit_composer_default)),
         | 
| 3763 | 
            +
                    AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _135 => _135.AssistantMessage]), () => ( assistant_message_default)),
         | 
| 3764 | 
            +
                    SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _136 => _136.SystemMessage]), () => ( SystemMessage))
         | 
| 3762 3765 | 
             
                  },
         | 
| 3763 3766 | 
             
                  ...rest
         | 
| 3764 3767 | 
             
                }
         |