@assistant-ui/react 0.5.35 → 0.5.37

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.mjs CHANGED
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  PipeableTransformStream,
4
+ getEdgeRuntimeStream,
4
5
  mergeModelConfigs,
5
6
  runResultStream,
6
7
  streamPartEncoderStream,
@@ -9,7 +10,7 @@ import {
9
10
  toLanguageModelMessages,
10
11
  toLanguageModelTools,
11
12
  toolResultStream
12
- } from "./chunk-LX7F2T2K.mjs";
13
+ } from "./chunk-5ZTUOAPH.mjs";
13
14
  import {
14
15
  __export
15
16
  } from "./chunk-BJPOCE4O.mjs";
@@ -18,7 +19,7 @@ import {
18
19
  import { memo } from "react";
19
20
 
20
21
  // src/context/providers/AssistantProvider.tsx
21
- import { useEffect as useEffect4, useInsertionEffect as useInsertionEffect3, useRef as useRef2, useState as useState7 } from "react";
22
+ import { useEffect as useEffect4, useInsertionEffect as useInsertionEffect3, useRef as useRef2, useState as useState8 } from "react";
22
23
 
23
24
  // src/context/react/AssistantContext.ts
24
25
  import { createContext, useContext } from "react";
@@ -97,7 +98,7 @@ var makeAssistantToolUIsStore = () => create2((set) => {
97
98
  });
98
99
 
99
100
  // src/context/providers/ThreadProvider.tsx
100
- import { useEffect as useEffect3, useInsertionEffect as useInsertionEffect2, useState as useState6 } from "react";
101
+ import { useEffect as useEffect3, useInsertionEffect as useInsertionEffect2, useState as useState7 } from "react";
101
102
 
102
103
  // src/context/react/ThreadContext.ts
103
104
  import { createContext as createContext2, useContext as useContext2 } from "react";
@@ -1297,6 +1298,19 @@ var LocalRuntime = class extends BaseAssistantRuntime {
1297
1298
  this.thread.adapter
1298
1299
  );
1299
1300
  }
1301
+ reset({
1302
+ initialMessages
1303
+ } = {}) {
1304
+ this.switchToThread(null);
1305
+ if (!initialMessages) return;
1306
+ const messages = fromCoreMessages(initialMessages);
1307
+ this.thread.import({
1308
+ messages: messages.map((m, idx) => ({
1309
+ parentId: messages[idx - 1]?.id ?? null,
1310
+ message: m
1311
+ }))
1312
+ });
1313
+ }
1300
1314
  };
1301
1315
 
1302
1316
  // src/runtimes/local/useLocalRuntime.tsx
@@ -1614,13 +1628,49 @@ var useExternalStoreRuntime = (store) => {
1614
1628
  return runtime;
1615
1629
  };
1616
1630
 
1631
+ // src/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.ts
1632
+ import { useState as useState6 } from "react";
1633
+
1634
+ // src/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.ts
1635
+ var DangerousInBrowserAdapter = class {
1636
+ constructor(options) {
1637
+ this.options = options;
1638
+ }
1639
+ async *run({ messages, abortSignal, config }) {
1640
+ const res = await getEdgeRuntimeStream({
1641
+ options: this.options,
1642
+ abortSignal,
1643
+ requestData: {
1644
+ system: config.system,
1645
+ messages: toCoreMessages(messages),
1646
+ tools: config.tools ? toLanguageModelTools(config.tools) : [],
1647
+ ...config.callSettings,
1648
+ ...config.config
1649
+ }
1650
+ });
1651
+ const stream = res.pipeThrough(toolResultStream(config.tools, abortSignal)).pipeThrough(runResultStream());
1652
+ for await (const update of asAsyncIterable(stream)) {
1653
+ yield update;
1654
+ }
1655
+ }
1656
+ };
1657
+
1658
+ // src/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.ts
1659
+ var useDangerousInBrowserRuntime = ({
1660
+ initialMessages,
1661
+ ...options
1662
+ }) => {
1663
+ const [adapter] = useState6(() => new DangerousInBrowserAdapter(options));
1664
+ return useLocalRuntime(adapter, { initialMessages });
1665
+ };
1666
+
1617
1667
  // src/context/providers/ThreadProvider.tsx
1618
1668
  import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
1619
1669
  var ThreadProvider = ({
1620
1670
  children,
1621
1671
  provider
1622
1672
  }) => {
1623
- const [context] = useState6(() => {
1673
+ const [context] = useState7(() => {
1624
1674
  const useThreadRuntime = makeThreadRuntimeStore(provider.thread);
1625
1675
  const useThread = makeThreadStore(useThreadRuntime);
1626
1676
  const useThreadMessages = makeThreadMessagesStore(useThreadRuntime);
@@ -1686,6 +1736,12 @@ var makeAssistantActionsStore = (runtimeRef) => create10(
1686
1736
  })
1687
1737
  );
1688
1738
 
1739
+ // src/context/stores/AssistantRuntime.tsx
1740
+ import { create as create11 } from "zustand";
1741
+ var makeAssistantRuntimeStore = (runtime) => {
1742
+ return create11(() => runtime);
1743
+ };
1744
+
1689
1745
  // src/context/providers/AssistantProvider.tsx
1690
1746
  import { jsx as jsx7 } from "react/jsx-runtime";
1691
1747
  var AssistantProvider = ({ children, runtime }) => {
@@ -1693,16 +1749,26 @@ var AssistantProvider = ({ children, runtime }) => {
1693
1749
  useInsertionEffect3(() => {
1694
1750
  runtimeRef.current = runtime;
1695
1751
  });
1696
- const [context] = useState7(() => {
1752
+ const [context] = useState8(() => {
1753
+ const useAssistantRuntime = makeAssistantRuntimeStore(runtime);
1697
1754
  const useModelConfig = makeAssistantModelConfigStore();
1698
1755
  const useToolUIs = makeAssistantToolUIsStore();
1699
1756
  const useAssistantActions = makeAssistantActionsStore(runtimeRef);
1700
- return { useModelConfig, useToolUIs, useAssistantActions };
1757
+ return {
1758
+ useModelConfig,
1759
+ useToolUIs,
1760
+ useAssistantRuntime,
1761
+ useAssistantActions
1762
+ };
1701
1763
  });
1702
1764
  const getModelConfig = context.useModelConfig();
1703
1765
  useEffect4(() => {
1704
1766
  return runtime.registerModelConfigProvider(getModelConfig);
1705
1767
  }, [runtime, getModelConfig]);
1768
+ useEffect4(
1769
+ () => context.useAssistantRuntime.setState(runtime, true),
1770
+ [runtime, context]
1771
+ );
1706
1772
  return /* @__PURE__ */ jsx7(AssistantContext.Provider, { value: context, children: /* @__PURE__ */ jsx7(ThreadProvider, { provider: runtime, children }) });
1707
1773
  };
1708
1774
 
@@ -2285,7 +2351,7 @@ __export(assistantModal_exports, {
2285
2351
  });
2286
2352
 
2287
2353
  // src/primitives/assistantModal/AssistantModalRoot.tsx
2288
- import { useState as useState8 } from "react";
2354
+ import { useState as useState9 } from "react";
2289
2355
  import * as PopoverPrimitive2 from "@radix-ui/react-popover";
2290
2356
  import { composeEventHandlers as composeEventHandlers2 } from "@radix-ui/primitive";
2291
2357
 
@@ -2309,7 +2375,7 @@ var usePopoverScope = PopoverPrimitive.createPopoverScope();
2309
2375
  // src/primitives/assistantModal/AssistantModalRoot.tsx
2310
2376
  import { jsx as jsx11 } from "react/jsx-runtime";
2311
2377
  var useAssistantModalOpenState = (defaultOpen = false) => {
2312
- const state = useState8(defaultOpen);
2378
+ const state = useState9(defaultOpen);
2313
2379
  const [, setOpen] = state;
2314
2380
  useOnComposerFocus(() => {
2315
2381
  setOpen(true);
@@ -2523,8 +2589,8 @@ MessagePrimitiveIf.displayName = "MessagePrimitive.If";
2523
2589
  import { memo as memo2 } from "react";
2524
2590
 
2525
2591
  // src/context/providers/ContentPartProvider.tsx
2526
- import { useEffect as useEffect9, useState as useState9 } from "react";
2527
- import { create as create11 } from "zustand";
2592
+ import { useEffect as useEffect9, useState as useState10 } from "react";
2593
+ import { create as create12 } from "zustand";
2528
2594
  import { jsx as jsx18 } from "react/jsx-runtime";
2529
2595
  var COMPLETE_STATUS = {
2530
2596
  type: "complete"
@@ -2562,8 +2628,8 @@ var getContentPartState = ({ message }, useContentPart, partIndex) => {
2562
2628
  };
2563
2629
  var useContentPartContext2 = (partIndex) => {
2564
2630
  const { useMessage } = useMessageContext();
2565
- const [context] = useState9(() => {
2566
- const useContentPart = create11(
2631
+ const [context] = useState10(() => {
2632
+ const useContentPart = create12(
2567
2633
  () => getContentPartState(useMessage.getState(), void 0, partIndex)
2568
2634
  );
2569
2635
  return { useContentPart };
@@ -3070,15 +3136,15 @@ ThreadPrimitiveViewport.displayName = "ThreadPrimitive.Viewport";
3070
3136
  import { memo as memo3 } from "react";
3071
3137
 
3072
3138
  // src/context/providers/MessageProvider.tsx
3073
- import { useEffect as useEffect12, useState as useState10 } from "react";
3074
- import { create as create14 } from "zustand";
3139
+ import { useEffect as useEffect12, useState as useState11 } from "react";
3140
+ import { create as create15 } from "zustand";
3075
3141
 
3076
3142
  // src/context/stores/EditComposer.ts
3077
- import { create as create12 } from "zustand";
3143
+ import { create as create13 } from "zustand";
3078
3144
  var makeEditComposerStore = ({
3079
3145
  onEdit,
3080
3146
  onSend
3081
- }) => create12()((set, get) => ({
3147
+ }) => create13()((set, get) => ({
3082
3148
  get value() {
3083
3149
  return get().text;
3084
3150
  },
@@ -3106,8 +3172,8 @@ var makeEditComposerStore = ({
3106
3172
  }));
3107
3173
 
3108
3174
  // src/context/stores/MessageUtils.ts
3109
- import { create as create13 } from "zustand";
3110
- var makeMessageUtilsStore = () => create13((set) => ({
3175
+ import { create as create14 } from "zustand";
3176
+ var makeMessageUtilsStore = () => create14((set) => ({
3111
3177
  isCopied: false,
3112
3178
  setIsCopied: (value) => {
3113
3179
  set({ isCopied: value });
@@ -3141,8 +3207,8 @@ var getMessageState = (messages, getBranches, useMessage, messageIndex) => {
3141
3207
  };
3142
3208
  var useMessageContext2 = (messageIndex) => {
3143
3209
  const { useThreadMessages, useThreadActions } = useThreadContext();
3144
- const [context] = useState10(() => {
3145
- const useMessage = create14(
3210
+ const [context] = useState11(() => {
3211
+ const useMessage = create15(
3146
3212
  () => getMessageState(
3147
3213
  useThreadMessages.getState(),
3148
3214
  useThreadActions.getState().getBranches,
@@ -4030,6 +4096,7 @@ export {
4030
4096
  useContentPartDisplay,
4031
4097
  useContentPartImage,
4032
4098
  useContentPartText,
4099
+ useDangerousInBrowserRuntime,
4033
4100
  useEdgeRuntime,
4034
4101
  useExternalStoreRuntime,
4035
4102
  useLocalRuntime,