@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.mjs
    CHANGED
    
    | @@ -159,11 +159,23 @@ var makeComposerStore = (useThreadMessages, useThreadActions) => { | |
| 159 159 |  | 
| 160 160 | 
             
            // src/context/stores/Thread.ts
         | 
| 161 161 | 
             
            import { create as create4 } from "zustand";
         | 
| 162 | 
            +
            var getThreadStateFromRuntime = (runtime) => {
         | 
| 163 | 
            +
              const lastMessage = runtime.messages.at(-1);
         | 
| 164 | 
            +
              if (lastMessage?.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 create4(() => getThreadStateFromRuntime(runtime));
         | 
| 167 179 | 
             
            };
         | 
| 168 180 |  | 
| 169 181 | 
             
            // src/context/stores/ThreadViewport.tsx
         | 
| @@ -260,13 +272,11 @@ var ThreadProvider = ({ | |
| 260 272 | 
             
                useCallback2(
         | 
| 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 | 
             
                      }
         | 
| @@ -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 = useCallback11(() => {
         | 
| 676 686 | 
             
                const composerState = useComposer.getState();
         | 
| @@ -1568,8 +1578,8 @@ var ComposerPrimitiveInput = forwardRef12( | |
| 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 1584 | 
             
                      textareaRef.current?.closest("form")?.requestSubmit();
         | 
| 1575 1585 | 
             
                    }
         | 
| @@ -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) => {
         | 
| @@ -2709,9 +2719,6 @@ var LocalThreadRuntime = 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 | 
             
              }
         | 
| @@ -2800,8 +2807,6 @@ var LocalThreadRuntime = 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;
         | 
| @@ -3016,7 +3021,6 @@ var ExternalStoreThreadRuntime = class { | |
| 3016 3021 | 
             
              }
         | 
| 3017 3022 | 
             
              messages = [];
         | 
| 3018 3023 | 
             
              isDisabled = false;
         | 
| 3019 | 
            -
              isRunning = false;
         | 
| 3020 3024 | 
             
              converter = new ThreadMessageConverter();
         | 
| 3021 3025 | 
             
              _store;
         | 
| 3022 3026 | 
             
              constructor(store) {
         | 
| @@ -3075,7 +3079,6 @@ var ExternalStoreThreadRuntime = class { | |
| 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) {
         |