@assistant-ui/react-ai-sdk 0.4.1 → 0.5.2

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 CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _assistant_ui_react from '@assistant-ui/react';
2
- import { AppendMessage, ReactThreadRuntime, ThreadMessage, Unsubscribe, ModelConfigProvider, INTERNAL, AddToolResultOptions } from '@assistant-ui/react';
2
+ import { AppendMessage, ThreadMessage, ReactThreadRuntime, Unsubscribe, AddToolResultOptions, ModelConfigProvider, INTERNAL } from '@assistant-ui/react';
3
3
  import { ReactNode } from 'react';
4
4
  import { useChat, useAssistant } from 'ai/react';
5
5
  import { Message } from 'ai';
@@ -23,46 +23,9 @@ type VercelRSCAdapterBase<T> = {
23
23
  };
24
24
  type VercelRSCAdapter<T = VercelRSCMessage> = VercelRSCAdapterBase<T> & (T extends VercelRSCMessage ? object : RSCMessageConverter<T>);
25
25
 
26
- declare class VercelRSCThreadRuntime<T extends WeakKey = VercelRSCMessage> implements ReactThreadRuntime {
27
- adapter: VercelRSCAdapter<T>;
28
- private useAdapter;
29
- readonly capabilities: Readonly<{
30
- edit: false;
31
- reload: false;
32
- cancel: false;
33
- copy: false;
34
- }>;
35
- private _subscriptions;
36
- isRunning: boolean;
37
- messages: ThreadMessage[];
38
- constructor(adapter: VercelRSCAdapter<T>);
39
- private withRunning;
40
- getBranches(): readonly string[];
41
- switchToBranch(): void;
42
- append(message: AppendMessage): Promise<void>;
43
- startRun(parentId: string | null): Promise<void>;
44
- cancelRun(): void;
45
- subscribe(callback: () => void): Unsubscribe;
46
- onAdapterUpdated(): void;
47
- private updateData;
48
- unstable_synchronizer: () => null;
49
- addToolResult(): void;
50
- }
51
-
52
- declare const BaseAssistantRuntime$2: typeof INTERNAL.BaseAssistantRuntime;
53
- declare class VercelRSCRuntime<T extends WeakKey = VercelRSCMessage> extends BaseAssistantRuntime$2<VercelRSCThreadRuntime<T>> {
54
- private readonly _proxyConfigProvider;
55
- constructor(adapter: VercelRSCAdapter<T>);
56
- set adapter(adapter: VercelRSCAdapter<T>);
57
- onAdapterUpdated(): void;
58
- getModelConfig(): _assistant_ui_react.ModelConfig;
59
- registerModelConfigProvider(provider: ModelConfigProvider): () => void;
60
- switchToThread(): void;
61
- }
62
-
63
- declare const useVercelRSCRuntime: <T extends WeakKey>(adapter: VercelRSCAdapter<T>) => VercelRSCRuntime<T>;
26
+ declare const useVercelRSCRuntime: <T extends WeakKey>(adapter: VercelRSCAdapter<T>) => _assistant_ui_react.ExternalStoreRuntime;
64
27
 
65
- declare const getVercelRSCMessage: <T>(message: ThreadMessage) => T | undefined;
28
+ declare const getVercelRSCMessage: (message: ThreadMessage) => unknown;
66
29
 
67
30
  declare class VercelUseChatThreadRuntime implements ReactThreadRuntime {
68
31
  vercel: ReturnType<typeof useChat>;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _assistant_ui_react from '@assistant-ui/react';
2
- import { AppendMessage, ReactThreadRuntime, ThreadMessage, Unsubscribe, ModelConfigProvider, INTERNAL, AddToolResultOptions } from '@assistant-ui/react';
2
+ import { AppendMessage, ThreadMessage, ReactThreadRuntime, Unsubscribe, AddToolResultOptions, ModelConfigProvider, INTERNAL } from '@assistant-ui/react';
3
3
  import { ReactNode } from 'react';
4
4
  import { useChat, useAssistant } from 'ai/react';
5
5
  import { Message } from 'ai';
@@ -23,46 +23,9 @@ type VercelRSCAdapterBase<T> = {
23
23
  };
24
24
  type VercelRSCAdapter<T = VercelRSCMessage> = VercelRSCAdapterBase<T> & (T extends VercelRSCMessage ? object : RSCMessageConverter<T>);
25
25
 
26
- declare class VercelRSCThreadRuntime<T extends WeakKey = VercelRSCMessage> implements ReactThreadRuntime {
27
- adapter: VercelRSCAdapter<T>;
28
- private useAdapter;
29
- readonly capabilities: Readonly<{
30
- edit: false;
31
- reload: false;
32
- cancel: false;
33
- copy: false;
34
- }>;
35
- private _subscriptions;
36
- isRunning: boolean;
37
- messages: ThreadMessage[];
38
- constructor(adapter: VercelRSCAdapter<T>);
39
- private withRunning;
40
- getBranches(): readonly string[];
41
- switchToBranch(): void;
42
- append(message: AppendMessage): Promise<void>;
43
- startRun(parentId: string | null): Promise<void>;
44
- cancelRun(): void;
45
- subscribe(callback: () => void): Unsubscribe;
46
- onAdapterUpdated(): void;
47
- private updateData;
48
- unstable_synchronizer: () => null;
49
- addToolResult(): void;
50
- }
51
-
52
- declare const BaseAssistantRuntime$2: typeof INTERNAL.BaseAssistantRuntime;
53
- declare class VercelRSCRuntime<T extends WeakKey = VercelRSCMessage> extends BaseAssistantRuntime$2<VercelRSCThreadRuntime<T>> {
54
- private readonly _proxyConfigProvider;
55
- constructor(adapter: VercelRSCAdapter<T>);
56
- set adapter(adapter: VercelRSCAdapter<T>);
57
- onAdapterUpdated(): void;
58
- getModelConfig(): _assistant_ui_react.ModelConfig;
59
- registerModelConfigProvider(provider: ModelConfigProvider): () => void;
60
- switchToThread(): void;
61
- }
62
-
63
- declare const useVercelRSCRuntime: <T extends WeakKey>(adapter: VercelRSCAdapter<T>) => VercelRSCRuntime<T>;
26
+ declare const useVercelRSCRuntime: <T extends WeakKey>(adapter: VercelRSCAdapter<T>) => _assistant_ui_react.ExternalStoreRuntime;
64
27
 
65
- declare const getVercelRSCMessage: <T>(message: ThreadMessage) => T | undefined;
28
+ declare const getVercelRSCMessage: (message: ThreadMessage) => unknown;
66
29
 
67
30
  declare class VercelUseChatThreadRuntime implements ReactThreadRuntime {
68
31
  vercel: ReturnType<typeof useChat>;
package/dist/index.js CHANGED
@@ -29,39 +29,7 @@ __export(src_exports, {
29
29
  module.exports = __toCommonJS(src_exports);
30
30
 
31
31
  // src/rsc/useVercelRSCRuntime.tsx
32
- var import_react4 = require("react");
33
-
34
- // src/rsc/VercelRSCRuntime.tsx
35
- var import_react3 = require("@assistant-ui/react");
36
-
37
- // src/rsc/VercelRSCThreadRuntime.tsx
38
- var import_react2 = require("@assistant-ui/react");
39
- var import_zustand = require("zustand");
40
-
41
- // src/rsc/useVercelRSCSync.tsx
42
- var import_react = require("react");
43
-
44
- // src/utils/ThreadMessageConverter.ts
45
- var ThreadMessageConverter = class {
46
- cache = /* @__PURE__ */ new WeakMap();
47
- convertMessages(messages, converter, keyMapper = (key) => key) {
48
- return messages.map((m) => {
49
- const key = keyMapper(m);
50
- const cached = this.cache.get(key);
51
- const newMessage = converter(m, cached);
52
- this.cache.set(key, newMessage);
53
- return newMessage;
54
- });
55
- }
56
- };
57
-
58
- // src/rsc/getVercelRSCMessage.tsx
59
- var symbolInnerRSCMessage = Symbol("innerVercelRSCMessage");
60
- var getVercelRSCMessage = (message) => {
61
- return message[symbolInnerRSCMessage];
62
- };
63
-
64
- // src/rsc/useVercelRSCSync.tsx
32
+ var import_react = require("@assistant-ui/react");
65
33
  var vercelToThreadMessage = (converter, rawMessage) => {
66
34
  const message = converter(rawMessage);
67
35
  return {
@@ -69,152 +37,40 @@ var vercelToThreadMessage = (converter, rawMessage) => {
69
37
  role: message.role,
70
38
  content: [{ type: "ui", display: message.display }],
71
39
  createdAt: message.createdAt ?? /* @__PURE__ */ new Date(),
72
- ...{ status: { type: "done" } },
73
- [symbolInnerRSCMessage]: rawMessage
40
+ ...{ status: { type: "complete", reason: "unknown" } }
74
41
  };
75
42
  };
76
- var useVercelRSCSync = (adapter, updateData) => {
77
- const [converter, convertCallback] = (0, import_react.useMemo)(() => {
78
- const rscConverter = adapter.convertMessage ?? ((m) => m);
79
- const convertCallback2 = (m, cache) => {
80
- if (cache) return cache;
81
- return vercelToThreadMessage(rscConverter, m);
82
- };
83
- return [new ThreadMessageConverter(), convertCallback2];
84
- }, [adapter.convertMessage]);
85
- (0, import_react.useEffect)(() => {
86
- updateData(converter.convertMessages(adapter.messages, convertCallback));
87
- }, [updateData, converter, convertCallback, adapter.messages]);
88
- };
89
-
90
- // src/rsc/VercelRSCThreadRuntime.tsx
91
- var { ProxyConfigProvider } = import_react2.INTERNAL;
92
- var EMPTY_BRANCHES = Object.freeze([]);
93
- var CAPABILITIES = Object.freeze({
94
- edit: false,
95
- reload: false,
96
- cancel: false,
97
- copy: false
98
- });
99
- var VercelRSCThreadRuntime = class {
100
- constructor(adapter) {
101
- this.adapter = adapter;
102
- this.useAdapter = (0, import_zustand.create)(() => ({
103
- adapter
104
- }));
105
- }
106
- useAdapter;
107
- capabilities = CAPABILITIES;
108
- _subscriptions = /* @__PURE__ */ new Set();
109
- isRunning = false;
110
- messages = [];
111
- withRunning = (callback) => {
112
- this.isRunning = true;
113
- return callback.finally(() => {
114
- this.isRunning = false;
115
- });
116
- };
117
- getBranches() {
118
- return EMPTY_BRANCHES;
119
- }
120
- switchToBranch() {
121
- throw new Error(
122
- "Branch switching is not supported by VercelRSCAssistantProvider."
123
- );
124
- }
125
- async append(message) {
126
- if (message.role !== "user")
127
- throw new Error(
128
- "Only appending user messages are supported in VercelRSCRuntime. This is likely an internal bug in assistant-ui."
129
- );
130
- if (message.parentId !== (this.messages.at(-1)?.id ?? null)) {
131
- if (!this.adapter.edit)
132
- throw new Error(
133
- "Message editing is not enabled, please provide an edit callback to VercelRSCAssistantProvider."
134
- );
135
- await this.withRunning(this.adapter.edit(message));
136
- } else {
137
- await this.withRunning(this.adapter.append(message));
138
- }
139
- }
140
- async startRun(parentId) {
141
- if (!this.adapter.reload)
142
- throw new Error(
143
- "Message reloading is not enabled, please provide a reload callback to VercelRSCAssistantProvider."
144
- );
145
- await this.withRunning(this.adapter.reload(parentId));
146
- }
147
- cancelRun() {
148
- throw new Error("VercelRSCRuntime does not support cancelling runs.");
149
- }
150
- subscribe(callback) {
151
- this._subscriptions.add(callback);
152
- return () => this._subscriptions.delete(callback);
153
- }
154
- onAdapterUpdated() {
155
- if (this.useAdapter.getState().adapter !== this.adapter) {
156
- this.useAdapter.setState({ adapter: this.adapter });
157
- }
158
- }
159
- updateData = (messages) => {
160
- this.messages = messages;
161
- for (const callback of this._subscriptions) callback();
162
- };
163
- unstable_synchronizer = () => {
164
- const { adapter } = this.useAdapter();
165
- useVercelRSCSync(adapter, this.updateData);
166
- return null;
43
+ var useVercelRSCRuntime = (adapter) => {
44
+ const eAdapter = {
45
+ messages: adapter.messages,
46
+ onNew: adapter.append,
47
+ onEdit: adapter.edit,
48
+ onReload: adapter.reload,
49
+ convertMessage: (m) => vercelToThreadMessage(
50
+ adapter.convertMessage ?? ((m2) => m2),
51
+ m
52
+ )
167
53
  };
168
- addToolResult() {
169
- throw new Error("VercelRSCRuntime does not support adding tool results");
170
- }
171
- };
172
-
173
- // src/rsc/VercelRSCRuntime.tsx
174
- var { BaseAssistantRuntime } = import_react3.INTERNAL;
175
- var VercelRSCRuntime = class extends BaseAssistantRuntime {
176
- _proxyConfigProvider = new ProxyConfigProvider();
177
- constructor(adapter) {
178
- super(new VercelRSCThreadRuntime(adapter));
179
- }
180
- set adapter(adapter) {
181
- this.thread.adapter = adapter;
182
- }
183
- onAdapterUpdated() {
184
- return this.thread.onAdapterUpdated();
185
- }
186
- getModelConfig() {
187
- return this._proxyConfigProvider.getModelConfig();
188
- }
189
- registerModelConfigProvider(provider) {
190
- return this._proxyConfigProvider.registerModelConfigProvider(provider);
191
- }
192
- switchToThread() {
193
- throw new Error("VercelRSCRuntime does not support switching threads");
194
- }
54
+ const runtime = (0, import_react.useExternalStoreRuntime)(eAdapter);
55
+ return runtime;
195
56
  };
196
57
 
197
- // src/rsc/useVercelRSCRuntime.tsx
198
- var useVercelRSCRuntime = (adapter) => {
199
- const [runtime] = (0, import_react4.useState)(() => new VercelRSCRuntime(adapter));
200
- (0, import_react4.useInsertionEffect)(() => {
201
- runtime.adapter = adapter;
202
- });
203
- (0, import_react4.useEffect)(() => {
204
- runtime.onAdapterUpdated();
205
- });
206
- return runtime;
58
+ // src/rsc/getVercelRSCMessage.tsx
59
+ var import_react2 = require("@assistant-ui/react");
60
+ var symbolInnerRSCMessage = Symbol("innerVercelRSCMessage");
61
+ var getVercelRSCMessage = (message) => {
62
+ return (0, import_react2.getExternalStoreMessage)(message);
207
63
  };
208
64
 
209
65
  // src/ui/use-chat/useVercelUseChatRuntime.tsx
210
- var import_react10 = require("react");
66
+ var import_react8 = require("react");
211
67
 
212
68
  // src/ui/use-chat/VercelUseChatRuntime.tsx
213
- var import_react9 = require("@assistant-ui/react");
69
+ var import_react7 = require("@assistant-ui/react");
214
70
 
215
71
  // src/ui/use-chat/VercelUseChatThreadRuntime.tsx
216
- var import_react8 = require("@assistant-ui/react");
217
- var import_zustand2 = require("zustand");
72
+ var import_react6 = require("@assistant-ui/react");
73
+ var import_zustand = require("zustand");
218
74
 
219
75
  // src/ui/getVercelAIMessage.tsx
220
76
  var symbolInnerAIMessage = Symbol("innerVercelAIUIMessage");
@@ -237,11 +93,11 @@ var sliceMessagesUntil = (messages, messageId) => {
237
93
  };
238
94
 
239
95
  // src/ui/utils/useVercelAIComposerSync.tsx
240
- var import_react5 = require("@assistant-ui/react");
241
- var import_react6 = require("react");
96
+ var import_react3 = require("@assistant-ui/react");
97
+ var import_react4 = require("react");
242
98
  var useVercelAIComposerSync = (vercel) => {
243
- const { useComposer } = (0, import_react5.useThreadContext)();
244
- (0, import_react6.useEffect)(() => {
99
+ const { useComposer } = (0, import_react3.useThreadContext)();
100
+ (0, import_react4.useEffect)(() => {
245
101
  useComposer.setState({
246
102
  value: vercel.input,
247
103
  setValue: vercel.setInput
@@ -250,7 +106,23 @@ var useVercelAIComposerSync = (vercel) => {
250
106
  };
251
107
 
252
108
  // src/ui/utils/useVercelAIThreadSync.tsx
253
- var import_react7 = require("react");
109
+ var import_react5 = require("react");
110
+
111
+ // src/utils/ThreadMessageConverter.ts
112
+ var ThreadMessageConverter = class {
113
+ cache = /* @__PURE__ */ new WeakMap();
114
+ convertMessages(messages, converter, keyMapper = (key) => key) {
115
+ return messages.map((m) => {
116
+ const key = keyMapper(m);
117
+ const cached = this.cache.get(key);
118
+ const newMessage = converter(m, cached);
119
+ this.cache.set(key, newMessage);
120
+ return newMessage;
121
+ });
122
+ }
123
+ };
124
+
125
+ // src/ui/utils/useVercelAIThreadSync.tsx
254
126
  var getIsRunning = (vercel) => {
255
127
  if ("isLoading" in vercel) return vercel.isLoading;
256
128
  return vercel.status === "in_progress";
@@ -352,12 +224,15 @@ var shallowArrayEqual = (a, b) => {
352
224
  };
353
225
  var useVercelAIThreadSync = (vercel, updateData) => {
354
226
  const isRunning = getIsRunning(vercel);
355
- const converter = (0, import_react7.useMemo)(() => new ThreadMessageConverter(), []);
356
- (0, import_react7.useEffect)(() => {
227
+ const converter = (0, import_react5.useMemo)(() => new ThreadMessageConverter(), []);
228
+ (0, import_react5.useEffect)(() => {
357
229
  const lastMessageId = vercel.messages.at(-1)?.id;
358
230
  const convertCallback = (messages2, cache) => {
359
- const status = {
360
- type: lastMessageId === messages2[0].id && isRunning ? "in_progress" : "done"
231
+ const status = lastMessageId === messages2[0].id && isRunning ? {
232
+ type: "running"
233
+ } : {
234
+ type: "complete",
235
+ reason: "unknown"
361
236
  };
362
237
  if (cache && shallowArrayEqual(cache.content, messages2) && (cache.role !== "assistant" || cache.status.type === status.type))
363
238
  return cache;
@@ -373,11 +248,11 @@ var useVercelAIThreadSync = (vercel, updateData) => {
373
248
  };
374
249
 
375
250
  // src/ui/use-chat/VercelUseChatThreadRuntime.tsx
376
- var { MessageRepository } = import_react8.INTERNAL;
251
+ var { MessageRepository } = import_react6.INTERNAL;
377
252
  var hasUpcomingMessage = (isRunning, messages) => {
378
253
  return isRunning && messages[messages.length - 1]?.role !== "assistant";
379
254
  };
380
- var CAPABILITIES2 = Object.freeze({
255
+ var CAPABILITIES = Object.freeze({
381
256
  edit: true,
382
257
  reload: true,
383
258
  cancel: true,
@@ -386,7 +261,7 @@ var CAPABILITIES2 = Object.freeze({
386
261
  var VercelUseChatThreadRuntime = class {
387
262
  constructor(vercel) {
388
263
  this.vercel = vercel;
389
- this.useVercel = (0, import_zustand2.create)(() => ({
264
+ this.useVercel = (0, import_zustand.create)(() => ({
390
265
  vercel
391
266
  }));
392
267
  }
@@ -394,7 +269,7 @@ var VercelUseChatThreadRuntime = class {
394
269
  repository = new MessageRepository();
395
270
  assistantOptimisticId = null;
396
271
  useVercel;
397
- capabilities = CAPABILITIES2;
272
+ capabilities = CAPABILITIES;
398
273
  messages = [];
399
274
  isRunning = false;
400
275
  getBranches(messageId) {
@@ -474,7 +349,7 @@ var VercelUseChatThreadRuntime = class {
474
349
  vm.at(-1)?.id ?? null,
475
350
  {
476
351
  role: "assistant",
477
- content: [{ type: "text", text: "" }]
352
+ content: []
478
353
  }
479
354
  );
480
355
  }
@@ -497,9 +372,9 @@ var VercelUseChatThreadRuntime = class {
497
372
  };
498
373
 
499
374
  // src/ui/use-chat/VercelUseChatRuntime.tsx
500
- var { ProxyConfigProvider: ProxyConfigProvider2, BaseAssistantRuntime: BaseAssistantRuntime2 } = import_react9.INTERNAL;
501
- var VercelUseChatRuntime = class extends BaseAssistantRuntime2 {
502
- _proxyConfigProvider = new ProxyConfigProvider2();
375
+ var { ProxyConfigProvider, BaseAssistantRuntime } = import_react7.INTERNAL;
376
+ var VercelUseChatRuntime = class extends BaseAssistantRuntime {
377
+ _proxyConfigProvider = new ProxyConfigProvider();
503
378
  constructor(vercel) {
504
379
  super(new VercelUseChatThreadRuntime(vercel));
505
380
  }
@@ -531,26 +406,26 @@ var VercelUseChatRuntime = class extends BaseAssistantRuntime2 {
531
406
 
532
407
  // src/ui/use-chat/useVercelUseChatRuntime.tsx
533
408
  var useVercelUseChatRuntime = (chatHelpers) => {
534
- const [runtime] = (0, import_react10.useState)(() => new VercelUseChatRuntime(chatHelpers));
535
- (0, import_react10.useInsertionEffect)(() => {
409
+ const [runtime] = (0, import_react8.useState)(() => new VercelUseChatRuntime(chatHelpers));
410
+ (0, import_react8.useInsertionEffect)(() => {
536
411
  runtime.vercel = chatHelpers;
537
412
  });
538
- (0, import_react10.useEffect)(() => {
413
+ (0, import_react8.useEffect)(() => {
539
414
  runtime.onVercelUpdated();
540
415
  });
541
416
  return runtime;
542
417
  };
543
418
 
544
419
  // src/ui/use-assistant/useVercelUseAssistantRuntime.tsx
545
- var import_react12 = require("react");
420
+ var import_react10 = require("react");
546
421
 
547
422
  // src/ui/use-assistant/VercelUseAssistantRuntime.tsx
548
- var import_react11 = require("@assistant-ui/react");
423
+ var import_react9 = require("@assistant-ui/react");
549
424
 
550
425
  // src/ui/use-assistant/VercelUseAssistantThreadRuntime.tsx
551
- var import_zustand3 = require("zustand");
552
- var EMPTY_BRANCHES2 = Object.freeze([]);
553
- var CAPABILITIES3 = Object.freeze({
426
+ var import_zustand2 = require("zustand");
427
+ var EMPTY_BRANCHES = Object.freeze([]);
428
+ var CAPABILITIES2 = Object.freeze({
554
429
  edit: false,
555
430
  reload: false,
556
431
  cancel: false,
@@ -559,17 +434,17 @@ var CAPABILITIES3 = Object.freeze({
559
434
  var VercelUseAssistantThreadRuntime = class {
560
435
  constructor(vercel) {
561
436
  this.vercel = vercel;
562
- this.useVercel = (0, import_zustand3.create)(() => ({
437
+ this.useVercel = (0, import_zustand2.create)(() => ({
563
438
  vercel
564
439
  }));
565
440
  }
566
441
  _subscriptions = /* @__PURE__ */ new Set();
567
- capabilities = CAPABILITIES3;
442
+ capabilities = CAPABILITIES2;
568
443
  useVercel;
569
444
  messages = [];
570
445
  isRunning = false;
571
446
  getBranches() {
572
- return EMPTY_BRANCHES2;
447
+ return EMPTY_BRANCHES;
573
448
  }
574
449
  switchToBranch() {
575
450
  throw new Error(
@@ -616,9 +491,9 @@ var VercelUseAssistantThreadRuntime = class {
616
491
  vm.push({
617
492
  id: "__optimistic__result",
618
493
  createdAt: /* @__PURE__ */ new Date(),
619
- status: { type: "in_progress" },
494
+ status: { type: "running" },
620
495
  role: "assistant",
621
- content: [{ type: "text", text: "" }]
496
+ content: []
622
497
  });
623
498
  }
624
499
  this.messages = vm;
@@ -639,12 +514,12 @@ var VercelUseAssistantThreadRuntime = class {
639
514
  };
640
515
 
641
516
  // src/ui/use-assistant/VercelUseAssistantRuntime.tsx
642
- var { ProxyConfigProvider: ProxyConfigProvider3, BaseAssistantRuntime: BaseAssistantRuntime3 } = import_react11.INTERNAL;
517
+ var { ProxyConfigProvider: ProxyConfigProvider2, BaseAssistantRuntime: BaseAssistantRuntime2 } = import_react9.INTERNAL;
643
518
  var hasUpcomingMessage2 = (isRunning, messages) => {
644
519
  return isRunning && messages[messages.length - 1]?.role !== "assistant";
645
520
  };
646
- var VercelUseAssistantRuntime = class extends BaseAssistantRuntime3 {
647
- _proxyConfigProvider = new ProxyConfigProvider3();
521
+ var VercelUseAssistantRuntime = class extends BaseAssistantRuntime2 {
522
+ _proxyConfigProvider = new ProxyConfigProvider2();
648
523
  constructor(vercel) {
649
524
  super(new VercelUseAssistantThreadRuntime(vercel));
650
525
  }
@@ -674,13 +549,13 @@ var VercelUseAssistantRuntime = class extends BaseAssistantRuntime3 {
674
549
 
675
550
  // src/ui/use-assistant/useVercelUseAssistantRuntime.tsx
676
551
  var useVercelUseAssistantRuntime = (assistantHelpers) => {
677
- const [runtime] = (0, import_react12.useState)(
552
+ const [runtime] = (0, import_react10.useState)(
678
553
  () => new VercelUseAssistantRuntime(assistantHelpers)
679
554
  );
680
- (0, import_react12.useInsertionEffect)(() => {
555
+ (0, import_react10.useInsertionEffect)(() => {
681
556
  runtime.vercel = assistantHelpers;
682
557
  });
683
- (0, import_react12.useEffect)(() => {
558
+ (0, import_react10.useEffect)(() => {
684
559
  runtime.onVercelUpdated();
685
560
  });
686
561
  return runtime;