@assistant-ui/react 0.5.89 → 0.5.91

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.js CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
 
11
11
 
12
- var _chunk75WIGDCWjs = require('./chunk-75WIGDCW.js');
12
+ var _chunkMRIZ4RHIjs = require('./chunk-MRIZ4RHI.js');
13
13
 
14
14
 
15
15
  var _chunkPZ5AY32Cjs = require('./chunk-PZ5AY32C.js');
@@ -2325,6 +2325,7 @@ var defaultComponents = {
2325
2325
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ContentPartPrimitiveInProgress, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { style: { fontFamily: "revert" }, children: " \u25CF" }) })
2326
2326
  ] }),
2327
2327
  Image: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ContentPartPrimitiveImage, {}),
2328
+ Unstable_Audio: () => null,
2328
2329
  UI: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ContentPartPrimitiveDisplay, {})
2329
2330
  };
2330
2331
  var MessageContentPartComponent = ({
@@ -2333,33 +2334,32 @@ var MessageContentPartComponent = ({
2333
2334
  Empty,
2334
2335
  Image: Image2 = defaultComponents.Image,
2335
2336
  UI = defaultComponents.UI,
2337
+ Unstable_Audio: Audio = defaultComponents.Unstable_Audio,
2336
2338
  tools: { by_name = {}, Fallback: Fallback2 = void 0 } = {}
2337
2339
  } = {}
2338
2340
  }) => {
2339
2341
  const contentPartRuntime = useContentPartRuntime();
2340
2342
  const part = useContentPart();
2341
2343
  const type = part.type;
2344
+ if (type === "tool-call") {
2345
+ const Tool = by_name[part.toolName] || Fallback2;
2346
+ const addResult = (result) => contentPartRuntime.addToolResult(result);
2347
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolUIDisplay, { ...part, part, UI: Tool, addResult });
2348
+ }
2349
+ if (part.status.type === "requires-action")
2350
+ throw new Error("Encountered unexpected requires-action status");
2342
2351
  switch (type) {
2343
2352
  case "text":
2344
- if (part.status.type === "requires-action")
2345
- throw new Error("Encountered unexpected requires-action status");
2346
2353
  if (part.part === EMPTY_CONTENT && !!Empty) {
2347
2354
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Empty, { status: part.status });
2348
2355
  }
2349
2356
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Text2, { ...part, part });
2350
2357
  case "image":
2351
- if (part.status.type === "requires-action")
2352
- throw new Error("Encountered unexpected requires-action status");
2353
2358
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Image2, { ...part, part });
2359
+ case "audio":
2360
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Audio, { ...part, part });
2354
2361
  case "ui":
2355
- if (part.status.type === "requires-action")
2356
- throw new Error("Encountered unexpected requires-action status");
2357
2362
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UI, { ...part, part });
2358
- case "tool-call": {
2359
- const Tool = by_name[part.toolName] || Fallback2;
2360
- const addResult = (result) => contentPartRuntime.addToolResult(result);
2361
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolUIDisplay, { ...part, part, UI: Tool, addResult });
2362
- }
2363
2363
  default:
2364
2364
  const unhandledType = type;
2365
2365
  throw new Error(`Unknown content part type: ${unhandledType}`);
@@ -2378,7 +2378,7 @@ var MessageContentPartImpl = ({
2378
2378
  };
2379
2379
  var MessageContentPart = _react.memo.call(void 0,
2380
2380
  MessageContentPartImpl,
2381
- (prev, next) => prev.partIndex === next.partIndex && _optionalChain([prev, 'access', _90 => _90.components, 'optionalAccess', _91 => _91.Text]) === _optionalChain([next, 'access', _92 => _92.components, 'optionalAccess', _93 => _93.Text]) && _optionalChain([prev, 'access', _94 => _94.components, 'optionalAccess', _95 => _95.Image]) === _optionalChain([next, 'access', _96 => _96.components, 'optionalAccess', _97 => _97.Image]) && _optionalChain([prev, 'access', _98 => _98.components, 'optionalAccess', _99 => _99.UI]) === _optionalChain([next, 'access', _100 => _100.components, 'optionalAccess', _101 => _101.UI]) && _optionalChain([prev, 'access', _102 => _102.components, 'optionalAccess', _103 => _103.tools]) === _optionalChain([next, 'access', _104 => _104.components, 'optionalAccess', _105 => _105.tools])
2381
+ (prev, next) => prev.partIndex === next.partIndex && _optionalChain([prev, 'access', _90 => _90.components, 'optionalAccess', _91 => _91.Text]) === _optionalChain([next, 'access', _92 => _92.components, 'optionalAccess', _93 => _93.Text]) && _optionalChain([prev, 'access', _94 => _94.components, 'optionalAccess', _95 => _95.Image]) === _optionalChain([next, 'access', _96 => _96.components, 'optionalAccess', _97 => _97.Image]) && _optionalChain([prev, 'access', _98 => _98.components, 'optionalAccess', _99 => _99.Unstable_Audio]) === _optionalChain([next, 'access', _100 => _100.components, 'optionalAccess', _101 => _101.Unstable_Audio]) && _optionalChain([prev, 'access', _102 => _102.components, 'optionalAccess', _103 => _103.UI]) === _optionalChain([next, 'access', _104 => _104.components, 'optionalAccess', _105 => _105.UI]) && _optionalChain([prev, 'access', _106 => _106.components, 'optionalAccess', _107 => _107.tools]) === _optionalChain([next, 'access', _108 => _108.components, 'optionalAccess', _109 => _109.tools])
2382
2382
  );
2383
2383
  var MessagePrimitiveContent = ({
2384
2384
  components
@@ -2444,11 +2444,11 @@ var getComponent = (components, attachment) => {
2444
2444
  const type = attachment.type;
2445
2445
  switch (type) {
2446
2446
  case "image":
2447
- return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _106 => _106.Image]), () => ( _optionalChain([components, 'optionalAccess', _107 => _107.Attachment])));
2447
+ return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _110 => _110.Image]), () => ( _optionalChain([components, 'optionalAccess', _111 => _111.Attachment])));
2448
2448
  case "document":
2449
- return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _108 => _108.Document]), () => ( _optionalChain([components, 'optionalAccess', _109 => _109.Attachment])));
2449
+ return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _112 => _112.Document]), () => ( _optionalChain([components, 'optionalAccess', _113 => _113.Attachment])));
2450
2450
  case "file":
2451
- return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _110 => _110.File]), () => ( _optionalChain([components, 'optionalAccess', _111 => _111.Attachment])));
2451
+ return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _114 => _114.File]), () => ( _optionalChain([components, 'optionalAccess', _115 => _115.Attachment])));
2452
2452
  default:
2453
2453
  const _exhaustiveCheck = type;
2454
2454
  throw new Error(`Unknown attachment type: ${_exhaustiveCheck}`);
@@ -2471,7 +2471,7 @@ var MessageAttachmentImpl = ({ components, attachmentIndex }) => {
2471
2471
  };
2472
2472
  var MessageAttachment = _react.memo.call(void 0,
2473
2473
  MessageAttachmentImpl,
2474
- (prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access', _112 => _112.components, 'optionalAccess', _113 => _113.Image]) === _optionalChain([next, 'access', _114 => _114.components, 'optionalAccess', _115 => _115.Image]) && _optionalChain([prev, 'access', _116 => _116.components, 'optionalAccess', _117 => _117.Document]) === _optionalChain([next, 'access', _118 => _118.components, 'optionalAccess', _119 => _119.Document]) && _optionalChain([prev, 'access', _120 => _120.components, 'optionalAccess', _121 => _121.File]) === _optionalChain([next, 'access', _122 => _122.components, 'optionalAccess', _123 => _123.File]) && _optionalChain([prev, 'access', _124 => _124.components, 'optionalAccess', _125 => _125.Attachment]) === _optionalChain([next, 'access', _126 => _126.components, 'optionalAccess', _127 => _127.Attachment])
2474
+ (prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access', _116 => _116.components, 'optionalAccess', _117 => _117.Image]) === _optionalChain([next, 'access', _118 => _118.components, 'optionalAccess', _119 => _119.Image]) && _optionalChain([prev, 'access', _120 => _120.components, 'optionalAccess', _121 => _121.Document]) === _optionalChain([next, 'access', _122 => _122.components, 'optionalAccess', _123 => _123.Document]) && _optionalChain([prev, 'access', _124 => _124.components, 'optionalAccess', _125 => _125.File]) === _optionalChain([next, 'access', _126 => _126.components, 'optionalAccess', _127 => _127.File]) && _optionalChain([prev, 'access', _128 => _128.components, 'optionalAccess', _129 => _129.Attachment]) === _optionalChain([next, 'access', _130 => _130.components, 'optionalAccess', _131 => _131.Attachment])
2475
2475
  );
2476
2476
  var MessagePrimitiveAttachments = ({ components }) => {
2477
2477
  const attachmentsCount = useMessage(({ message }) => {
@@ -2597,7 +2597,7 @@ var ComposerPrimitiveInput = _react.forwardRef.call(void 0,
2597
2597
  const { isRunning } = threadRuntime.getState();
2598
2598
  if (!isRunning) {
2599
2599
  e.preventDefault();
2600
- _optionalChain([textareaRef, 'access', _128 => _128.current, 'optionalAccess', _129 => _129.closest, 'call', _130 => _130("form"), 'optionalAccess', _131 => _131.requestSubmit, 'call', _132 => _132()]);
2600
+ _optionalChain([textareaRef, 'access', _132 => _132.current, 'optionalAccess', _133 => _133.closest, 'call', _134 => _134("form"), 'optionalAccess', _135 => _135.requestSubmit, 'call', _136 => _136()]);
2601
2601
  }
2602
2602
  }
2603
2603
  };
@@ -2671,11 +2671,11 @@ var getComponent2 = (components, attachment) => {
2671
2671
  const type = attachment.type;
2672
2672
  switch (type) {
2673
2673
  case "image":
2674
- return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _133 => _133.Image]), () => ( _optionalChain([components, 'optionalAccess', _134 => _134.Attachment])));
2674
+ return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _137 => _137.Image]), () => ( _optionalChain([components, 'optionalAccess', _138 => _138.Attachment])));
2675
2675
  case "document":
2676
- return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _135 => _135.Document]), () => ( _optionalChain([components, 'optionalAccess', _136 => _136.Attachment])));
2676
+ return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _139 => _139.Document]), () => ( _optionalChain([components, 'optionalAccess', _140 => _140.Attachment])));
2677
2677
  case "file":
2678
- return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _137 => _137.File]), () => ( _optionalChain([components, 'optionalAccess', _138 => _138.Attachment])));
2678
+ return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _141 => _141.File]), () => ( _optionalChain([components, 'optionalAccess', _142 => _142.Attachment])));
2679
2679
  default:
2680
2680
  const _exhaustiveCheck = type;
2681
2681
  throw new Error(`Unknown attachment type: ${_exhaustiveCheck}`);
@@ -2698,7 +2698,7 @@ var ComposerAttachmentImpl = ({ components, attachmentIndex }) => {
2698
2698
  };
2699
2699
  var ComposerAttachment = _react.memo.call(void 0,
2700
2700
  ComposerAttachmentImpl,
2701
- (prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access', _139 => _139.components, 'optionalAccess', _140 => _140.Image]) === _optionalChain([next, 'access', _141 => _141.components, 'optionalAccess', _142 => _142.Image]) && _optionalChain([prev, 'access', _143 => _143.components, 'optionalAccess', _144 => _144.Document]) === _optionalChain([next, 'access', _145 => _145.components, 'optionalAccess', _146 => _146.Document]) && _optionalChain([prev, 'access', _147 => _147.components, 'optionalAccess', _148 => _148.File]) === _optionalChain([next, 'access', _149 => _149.components, 'optionalAccess', _150 => _150.File]) && _optionalChain([prev, 'access', _151 => _151.components, 'optionalAccess', _152 => _152.Attachment]) === _optionalChain([next, 'access', _153 => _153.components, 'optionalAccess', _154 => _154.Attachment])
2701
+ (prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access', _143 => _143.components, 'optionalAccess', _144 => _144.Image]) === _optionalChain([next, 'access', _145 => _145.components, 'optionalAccess', _146 => _146.Image]) && _optionalChain([prev, 'access', _147 => _147.components, 'optionalAccess', _148 => _148.Document]) === _optionalChain([next, 'access', _149 => _149.components, 'optionalAccess', _150 => _150.Document]) && _optionalChain([prev, 'access', _151 => _151.components, 'optionalAccess', _152 => _152.File]) === _optionalChain([next, 'access', _153 => _153.components, 'optionalAccess', _154 => _154.File]) && _optionalChain([prev, 'access', _155 => _155.components, 'optionalAccess', _156 => _156.Attachment]) === _optionalChain([next, 'access', _157 => _157.components, 'optionalAccess', _158 => _158.Attachment])
2702
2702
  );
2703
2703
  var ComposerPrimitiveAttachments = ({ components }) => {
2704
2704
  const attachmentsCount = useComposer((s) => s.attachments.length);
@@ -3042,7 +3042,7 @@ var subscribeToMainThread = (runtime, callback) => {
3042
3042
  let first = true;
3043
3043
  let cleanup;
3044
3044
  const inner = () => {
3045
- _optionalChain([cleanup, 'optionalCall', _155 => _155()]);
3045
+ _optionalChain([cleanup, 'optionalCall', _159 => _159()]);
3046
3046
  cleanup = runtime.threadManager.mainThread.subscribe(callback);
3047
3047
  if (!first) {
3048
3048
  callback();
@@ -3053,7 +3053,7 @@ var subscribeToMainThread = (runtime, callback) => {
3053
3053
  inner();
3054
3054
  return () => {
3055
3055
  unsubscribe();
3056
- _optionalChain([cleanup, 'optionalCall', _156 => _156()]);
3056
+ _optionalChain([cleanup, 'optionalCall', _160 => _160()]);
3057
3057
  };
3058
3058
  };
3059
3059
 
@@ -3064,17 +3064,17 @@ var subscribeToMainThread = (runtime, callback) => {
3064
3064
  var ProxyConfigProvider = (_class5 = class {constructor() { _class5.prototype.__init9.call(this);_class5.prototype.__init10.call(this); }
3065
3065
  __init9() {this._providers = /* @__PURE__ */ new Set()}
3066
3066
  getModelConfig() {
3067
- return _chunk75WIGDCWjs.mergeModelConfigs.call(void 0, this._providers);
3067
+ return _chunkMRIZ4RHIjs.mergeModelConfigs.call(void 0, this._providers);
3068
3068
  }
3069
3069
  registerModelConfigProvider(provider) {
3070
3070
  this._providers.add(provider);
3071
- const unsubscribe = _optionalChain([provider, 'access', _157 => _157.subscribe, 'optionalCall', _158 => _158(() => {
3071
+ const unsubscribe = _optionalChain([provider, 'access', _161 => _161.subscribe, 'optionalCall', _162 => _162(() => {
3072
3072
  this.notifySubscribers();
3073
3073
  })]);
3074
3074
  this.notifySubscribers();
3075
3075
  return () => {
3076
3076
  this._providers.delete(provider);
3077
- _optionalChain([unsubscribe, 'optionalCall', _159 => _159()]);
3077
+ _optionalChain([unsubscribe, 'optionalCall', _163 => _163()]);
3078
3078
  this.notifySubscribers();
3079
3079
  };
3080
3080
  }
@@ -3119,7 +3119,7 @@ var isAttachmentComplete = (a) => a.status.type === "complete";
3119
3119
  var BaseComposerRuntimeCore = (_class7 = class {constructor() { _class7.prototype.__init12.call(this);_class7.prototype.__init13.call(this);_class7.prototype.__init14.call(this);_class7.prototype.__init15.call(this); }
3120
3120
  __init12() {this.isEditing = true}
3121
3121
  getAttachmentAccept() {
3122
- return _nullishCoalesce(_optionalChain([this, 'access', _160 => _160.getAttachmentAdapter, 'call', _161 => _161(), 'optionalAccess', _162 => _162.accept]), () => ( "*"));
3122
+ return _nullishCoalesce(_optionalChain([this, 'access', _164 => _164.getAttachmentAdapter, 'call', _165 => _165(), 'optionalAccess', _166 => _166.accept]), () => ( "*"));
3123
3123
  }
3124
3124
  __init13() {this._attachments = []}
3125
3125
  set attachments(value) {
@@ -3151,7 +3151,7 @@ var BaseComposerRuntimeCore = (_class7 = class {constructor() { _class7.prototyp
3151
3151
  this.attachments.map(async (a) => {
3152
3152
  if (isAttachmentComplete(a)) return a;
3153
3153
  const result = await adapter.send(a);
3154
- if (_optionalChain([result, 'access', _163 => _163.status, 'optionalAccess', _164 => _164.type]) !== "complete") {
3154
+ if (_optionalChain([result, 'access', _167 => _167.status, 'optionalAccess', _168 => _168.type]) !== "complete") {
3155
3155
  result.status = { type: "complete" };
3156
3156
  }
3157
3157
  return result;
@@ -3210,7 +3210,7 @@ var DefaultThreadComposerRuntimeCore = (_class8 = class extends BaseComposerRunt
3210
3210
  return super.attachments;
3211
3211
  }
3212
3212
  getAttachmentAdapter() {
3213
- return _optionalChain([this, 'access', _165 => _165.runtime, 'access', _166 => _166.adapters, 'optionalAccess', _167 => _167.attachments]);
3213
+ return _optionalChain([this, 'access', _169 => _169.runtime, 'access', _170 => _170.adapters, 'optionalAccess', _171 => _171.attachments]);
3214
3214
  }
3215
3215
  connect() {
3216
3216
  return this.runtime.subscribe(() => {
@@ -3223,7 +3223,7 @@ var DefaultThreadComposerRuntimeCore = (_class8 = class extends BaseComposerRunt
3223
3223
  async handleSend(message) {
3224
3224
  this.runtime.append({
3225
3225
  ...message,
3226
- parentId: _nullishCoalesce(_optionalChain([this, 'access', _168 => _168.runtime, 'access', _169 => _169.messages, 'access', _170 => _170.at, 'call', _171 => _171(-1), 'optionalAccess', _172 => _172.id]), () => ( null))
3226
+ parentId: _nullishCoalesce(_optionalChain([this, 'access', _172 => _172.runtime, 'access', _173 => _173.messages, 'access', _174 => _174.at, 'call', _175 => _175(-1), 'optionalAccess', _176 => _176.id]), () => ( null))
3227
3227
  });
3228
3228
  }
3229
3229
  async cancel() {
@@ -3342,7 +3342,7 @@ var MessageRepository = (_class9 = class {constructor() { _class9.prototype.__in
3342
3342
  }
3343
3343
  }
3344
3344
  getMessages() {
3345
- const messages2 = new Array(_nullishCoalesce(_optionalChain([this, 'access', _173 => _173.head, 'optionalAccess', _174 => _174.level]), () => ( 0)));
3345
+ const messages2 = new Array(_nullishCoalesce(_optionalChain([this, 'access', _177 => _177.head, 'optionalAccess', _178 => _178.level]), () => ( 0)));
3346
3346
  for (let current = this.head; current; current = current.prev) {
3347
3347
  messages2[current.level] = current.current;
3348
3348
  }
@@ -3380,7 +3380,7 @@ var MessageRepository = (_class9 = class {constructor() { _class9.prototype.__in
3380
3380
  "MessageRepository(updateMessage): Message not found. This is likely an internal bug in assistant-ui."
3381
3381
  );
3382
3382
  return {
3383
- parentId: _nullishCoalesce(_optionalChain([message, 'access', _175 => _175.prev, 'optionalAccess', _176 => _176.current, 'access', _177 => _177.id]), () => ( null)),
3383
+ parentId: _nullishCoalesce(_optionalChain([message, 'access', _179 => _179.prev, 'optionalAccess', _180 => _180.current, 'access', _181 => _181.id]), () => ( null)),
3384
3384
  message: message.current
3385
3385
  };
3386
3386
  }
@@ -3464,11 +3464,11 @@ var MessageRepository = (_class9 = class {constructor() { _class9.prototype.__in
3464
3464
  for (const [, message] of this.messages) {
3465
3465
  exportItems.push({
3466
3466
  message: message.current,
3467
- parentId: _nullishCoalesce(_optionalChain([message, 'access', _178 => _178.prev, 'optionalAccess', _179 => _179.current, 'access', _180 => _180.id]), () => ( null))
3467
+ parentId: _nullishCoalesce(_optionalChain([message, 'access', _182 => _182.prev, 'optionalAccess', _183 => _183.current, 'access', _184 => _184.id]), () => ( null))
3468
3468
  });
3469
3469
  }
3470
3470
  return {
3471
- headId: _nullishCoalesce(_optionalChain([this, 'access', _181 => _181.head, 'optionalAccess', _182 => _182.current, 'access', _183 => _183.id]), () => ( null)),
3471
+ headId: _nullishCoalesce(_optionalChain([this, 'access', _185 => _185.head, 'optionalAccess', _186 => _186.current, 'access', _187 => _187.id]), () => ( null)),
3472
3472
  messages: exportItems
3473
3473
  };
3474
3474
  }
@@ -3476,7 +3476,7 @@ var MessageRepository = (_class9 = class {constructor() { _class9.prototype.__in
3476
3476
  for (const { message, parentId } of messages2) {
3477
3477
  this.addOrUpdateMessage(parentId, message);
3478
3478
  }
3479
- this.resetHead(_nullishCoalesce(_nullishCoalesce(headId, () => ( _optionalChain([messages2, 'access', _184 => _184.at, 'call', _185 => _185(-1), 'optionalAccess', _186 => _186.message, 'access', _187 => _187.id]))), () => ( null)));
3479
+ this.resetHead(_nullishCoalesce(_nullishCoalesce(headId, () => ( _optionalChain([messages2, 'access', _188 => _188.at, 'call', _189 => _189(-1), 'optionalAccess', _190 => _190.message, 'access', _191 => _191.id]))), () => ( null)));
3480
3480
  }
3481
3481
  }, _class9);
3482
3482
 
@@ -3580,7 +3580,7 @@ TooltipIconButton.displayName = "TooltipIconButton";
3580
3580
  var toAppendMessage = (messages2, message) => {
3581
3581
  if (typeof message === "string") {
3582
3582
  return {
3583
- parentId: _nullishCoalesce(_optionalChain([messages2, 'access', _188 => _188.at, 'call', _189 => _189(-1), 'optionalAccess', _190 => _190.id]), () => ( null)),
3583
+ parentId: _nullishCoalesce(_optionalChain([messages2, 'access', _192 => _192.at, 'call', _193 => _193(-1), 'optionalAccess', _194 => _194.id]), () => ( null)),
3584
3584
  role: "user",
3585
3585
  content: [{ type: "text", text: message }],
3586
3586
  attachments: []
@@ -3590,7 +3590,7 @@ var toAppendMessage = (messages2, message) => {
3590
3590
  return message;
3591
3591
  }
3592
3592
  return {
3593
- parentId: _nullishCoalesce(_nullishCoalesce(message.parentId, () => ( _optionalChain([messages2, 'access', _191 => _191.at, 'call', _192 => _192(-1), 'optionalAccess', _193 => _193.id]))), () => ( null)),
3593
+ parentId: _nullishCoalesce(_nullishCoalesce(message.parentId, () => ( _optionalChain([messages2, 'access', _195 => _195.at, 'call', _196 => _196(-1), 'optionalAccess', _197 => _197.id]))), () => ( null)),
3594
3594
  role: _nullishCoalesce(message.role, () => ( "user")),
3595
3595
  content: message.content,
3596
3596
  attachments: _nullishCoalesce(message.attachments, () => ( []))
@@ -3602,7 +3602,7 @@ var getThreadState = (runtime) => {
3602
3602
  threadId: runtime.threadId,
3603
3603
  capabilities: runtime.capabilities,
3604
3604
  isDisabled: runtime.isDisabled,
3605
- isRunning: _optionalChain([lastMessage, 'optionalAccess', _194 => _194.role]) !== "assistant" ? false : lastMessage.status.type === "running",
3605
+ isRunning: _optionalChain([lastMessage, 'optionalAccess', _198 => _198.role]) !== "assistant" ? false : lastMessage.status.type === "running",
3606
3606
  messages: runtime.messages,
3607
3607
  suggestions: runtime.suggestions,
3608
3608
  extras: runtime.extras,
@@ -3780,7 +3780,7 @@ var ThreadRuntimeImpl = (_class10 = class {
3780
3780
  if (!message) return void 0;
3781
3781
  return {
3782
3782
  message,
3783
- parentId: _nullishCoalesce(_optionalChain([messages2, 'access', _195 => _195[idx - 1], 'optionalAccess', _196 => _196.id]), () => ( null))
3783
+ parentId: _nullishCoalesce(_optionalChain([messages2, 'access', _199 => _199[idx - 1], 'optionalAccess', _200 => _200.id]), () => ( null))
3784
3784
  };
3785
3785
  }
3786
3786
  );
@@ -3809,12 +3809,12 @@ var ThreadRuntimeImpl = (_class10 = class {
3809
3809
  return {
3810
3810
  ...message,
3811
3811
  message,
3812
- isLast: _optionalChain([messages2, 'access', _197 => _197.at, 'call', _198 => _198(-1), 'optionalAccess', _199 => _199.id]) === message.id,
3812
+ isLast: _optionalChain([messages2, 'access', _201 => _201.at, 'call', _202 => _202(-1), 'optionalAccess', _203 => _203.id]) === message.id,
3813
3813
  parentId,
3814
3814
  branches,
3815
3815
  branchNumber: branches.indexOf(message.id) + 1,
3816
3816
  branchCount: branches.length,
3817
- speech: _optionalChain([speechState, 'optionalAccess', _200 => _200.messageId]) === message.id ? speechState : void 0,
3817
+ speech: _optionalChain([speechState, 'optionalAccess', _204 => _204.messageId]) === message.id ? speechState : void 0,
3818
3818
  submittedFeedback
3819
3819
  };
3820
3820
  },
@@ -3998,7 +3998,7 @@ var fromLanguageModelMessages = (lm, { mergeSteps }) => {
3998
3998
  });
3999
3999
  if (mergeSteps) {
4000
4000
  const previousMessage = messages2[messages2.length - 1];
4001
- if (_optionalChain([previousMessage, 'optionalAccess', _201 => _201.role]) === "assistant") {
4001
+ if (_optionalChain([previousMessage, 'optionalAccess', _205 => _205.role]) === "assistant") {
4002
4002
  previousMessage.content.push(...newContent);
4003
4003
  break;
4004
4004
  }
@@ -4011,7 +4011,7 @@ var fromLanguageModelMessages = (lm, { mergeSteps }) => {
4011
4011
  }
4012
4012
  case "tool": {
4013
4013
  const previousMessage = messages2[messages2.length - 1];
4014
- if (_optionalChain([previousMessage, 'optionalAccess', _202 => _202.role]) !== "assistant")
4014
+ if (_optionalChain([previousMessage, 'optionalAccess', _206 => _206.role]) !== "assistant")
4015
4015
  throw new Error(
4016
4016
  "A tool message must be preceded by an assistant message."
4017
4017
  );
@@ -4087,14 +4087,14 @@ function streamPartDecoderStream() {
4087
4087
  controller.enqueue(decodeStreamPart(chunk));
4088
4088
  }
4089
4089
  });
4090
- return new (0, _chunk75WIGDCWjs.PipeableTransformStream)((readable) => {
4090
+ return new (0, _chunkMRIZ4RHIjs.PipeableTransformStream)((readable) => {
4091
4091
  return readable.pipeThrough(new TextDecoderStream()).pipeThrough(chunkByLineStream()).pipeThrough(decodeStream);
4092
4092
  });
4093
4093
  }
4094
4094
 
4095
4095
  // src/runtimes/edge/streams/utils/index.ts
4096
4096
  var streamUtils = {
4097
- streamPartEncoderStream: _chunk75WIGDCWjs.streamPartEncoderStream,
4097
+ streamPartEncoderStream: _chunkMRIZ4RHIjs.streamPartEncoderStream,
4098
4098
  streamPartDecoderStream
4099
4099
  };
4100
4100
 
@@ -4138,7 +4138,7 @@ function assistantDecoderStream() {
4138
4138
  case "c" /* ToolCallDelta */: {
4139
4139
  const { toolCallId, argsTextDelta } = value;
4140
4140
  const toolName = toolCallNames.get(toolCallId);
4141
- if (_optionalChain([currentToolCall, 'optionalAccess', _203 => _203.id]) === toolCallId) {
4141
+ if (_optionalChain([currentToolCall, 'optionalAccess', _207 => _207.id]) === toolCallId) {
4142
4142
  currentToolCall.argsText += argsTextDelta;
4143
4143
  }
4144
4144
  controller.enqueue({
@@ -4240,8 +4240,8 @@ var EdgeChatAdapter = class {
4240
4240
  credentials: _nullishCoalesce(this.options.credentials, () => ( "same-origin")),
4241
4241
  body: JSON.stringify({
4242
4242
  system: config.system,
4243
- messages: _chunk75WIGDCWjs.toCoreMessages.call(void 0, messages2),
4244
- tools: config.tools ? _chunk75WIGDCWjs.toLanguageModelTools.call(void 0, config.tools) : [],
4243
+ messages: _chunkMRIZ4RHIjs.toCoreMessages.call(void 0, messages2),
4244
+ tools: config.tools ? _chunkMRIZ4RHIjs.toLanguageModelTools.call(void 0, config.tools) : [],
4245
4245
  ...config.callSettings,
4246
4246
  ...config.config,
4247
4247
  ...this.options.body
@@ -4251,7 +4251,7 @@ var EdgeChatAdapter = class {
4251
4251
  if (!result.ok) {
4252
4252
  throw new Error(`Status ${result.status}: ${await result.text()}`);
4253
4253
  }
4254
- const stream = result.body.pipeThrough(streamPartDecoderStream()).pipeThrough(assistantDecoderStream()).pipeThrough(_chunk75WIGDCWjs.toolResultStream.call(void 0, config.tools, abortSignal)).pipeThrough(_chunk75WIGDCWjs.runResultStream.call(void 0, ));
4254
+ const stream = result.body.pipeThrough(streamPartDecoderStream()).pipeThrough(assistantDecoderStream()).pipeThrough(_chunkMRIZ4RHIjs.toolResultStream.call(void 0, config.tools, abortSignal)).pipeThrough(_chunkMRIZ4RHIjs.runResultStream.call(void 0, ));
4255
4255
  let update;
4256
4256
  for await (update of asAsyncIterable(stream)) {
4257
4257
  yield update;
@@ -4285,7 +4285,7 @@ var useEdgeRuntime = (options) => {
4285
4285
  };
4286
4286
 
4287
4287
  // src/runtimes/local/shouldContinue.tsx
4288
- var shouldContinue = (result) => _optionalChain([result, 'access', _204 => _204.status, 'optionalAccess', _205 => _205.type]) === "requires-action" && result.status.reason === "tool-calls" && result.content.every((c) => c.type !== "tool-call" || !!c.result);
4288
+ var shouldContinue = (result) => _optionalChain([result, 'access', _208 => _208.status, 'optionalAccess', _209 => _209.type]) === "requires-action" && result.status.reason === "tool-calls" && result.content.every((c) => c.type !== "tool-call" || !!c.result);
4289
4289
 
4290
4290
  // src/runtimes/composer/DefaultEditComposerRuntimeCore.tsx
4291
4291
  var DefaultEditComposerRuntimeCore = class extends BaseComposerRuntimeCore {
@@ -4305,7 +4305,7 @@ var DefaultEditComposerRuntimeCore = class extends BaseComposerRuntimeCore {
4305
4305
  return true;
4306
4306
  }
4307
4307
  getAttachmentAdapter() {
4308
- return _optionalChain([this, 'access', _206 => _206.runtime, 'access', _207 => _207.adapters, 'optionalAccess', _208 => _208.attachments]);
4308
+ return _optionalChain([this, 'access', _210 => _210.runtime, 'access', _211 => _211.adapters, 'optionalAccess', _212 => _212.attachments]);
4309
4309
  }
4310
4310
 
4311
4311
 
@@ -4386,7 +4386,7 @@ var BaseThreadRuntimeCore = (_class11 = class {
4386
4386
  return this._submittedFeedback[messageId];
4387
4387
  }
4388
4388
  submitFeedback({ messageId, type }) {
4389
- const adapter = _optionalChain([this, 'access', _209 => _209.adapters, 'optionalAccess', _210 => _210.feedback]);
4389
+ const adapter = _optionalChain([this, 'access', _213 => _213.adapters, 'optionalAccess', _214 => _214.feedback]);
4390
4390
  if (!adapter) throw new Error("Feedback adapter not configured");
4391
4391
  const { message } = this.repository.getMessage(messageId);
4392
4392
  adapter.submit({ message, type });
@@ -4396,10 +4396,10 @@ var BaseThreadRuntimeCore = (_class11 = class {
4396
4396
 
4397
4397
 
4398
4398
  speak(messageId) {
4399
- const adapter = _optionalChain([this, 'access', _211 => _211.adapters, 'optionalAccess', _212 => _212.speech]);
4399
+ const adapter = _optionalChain([this, 'access', _215 => _215.adapters, 'optionalAccess', _216 => _216.speech]);
4400
4400
  if (!adapter) throw new Error("Speech adapter not configured");
4401
4401
  const { message } = this.repository.getMessage(messageId);
4402
- _optionalChain([this, 'access', _213 => _213._stopSpeaking, 'optionalCall', _214 => _214()]);
4402
+ _optionalChain([this, 'access', _217 => _217._stopSpeaking, 'optionalCall', _218 => _218()]);
4403
4403
  const utterance = adapter.speak(getThreadMessageText(message));
4404
4404
  const unsub = utterance.subscribe(() => {
4405
4405
  if (utterance.status.type === "ended") {
@@ -4434,7 +4434,7 @@ var BaseThreadRuntimeCore = (_class11 = class {
4434
4434
  __init26() {this._eventSubscribers = /* @__PURE__ */ new Map()}
4435
4435
  unstable_on(event, callback) {
4436
4436
  if (event === "model-config-update") {
4437
- return _nullishCoalesce(_optionalChain([this, 'access', _215 => _215.configProvider, 'access', _216 => _216.subscribe, 'optionalCall', _217 => _217(callback)]), () => ( (() => {
4437
+ return _nullishCoalesce(_optionalChain([this, 'access', _219 => _219.configProvider, 'access', _220 => _220.subscribe, 'optionalCall', _221 => _221(callback)]), () => ( (() => {
4438
4438
  })));
4439
4439
  }
4440
4440
  const subscribers = this._eventSubscribers.get(event);
@@ -4481,17 +4481,17 @@ var LocalThreadRuntimeCore = (_class12 = class extends BaseThreadRuntimeCore {
4481
4481
  if (this._options === options) return;
4482
4482
  this._options = options;
4483
4483
  let hasUpdates = false;
4484
- const canSpeak = _optionalChain([options, 'access', _218 => _218.adapters, 'optionalAccess', _219 => _219.speech]) !== void 0;
4484
+ const canSpeak = _optionalChain([options, 'access', _222 => _222.adapters, 'optionalAccess', _223 => _223.speech]) !== void 0;
4485
4485
  if (this.capabilities.speech !== canSpeak) {
4486
4486
  this.capabilities.speech = canSpeak;
4487
4487
  hasUpdates = true;
4488
4488
  }
4489
- const canAttach = _optionalChain([options, 'access', _220 => _220.adapters, 'optionalAccess', _221 => _221.attachments]) !== void 0;
4489
+ const canAttach = _optionalChain([options, 'access', _224 => _224.adapters, 'optionalAccess', _225 => _225.attachments]) !== void 0;
4490
4490
  if (this.capabilities.attachments !== canAttach) {
4491
4491
  this.capabilities.attachments = canAttach;
4492
4492
  hasUpdates = true;
4493
4493
  }
4494
- const canFeedback = _optionalChain([options, 'access', _222 => _222.adapters, 'optionalAccess', _223 => _223.feedback]) !== void 0;
4494
+ const canFeedback = _optionalChain([options, 'access', _226 => _226.adapters, 'optionalAccess', _227 => _227.feedback]) !== void 0;
4495
4495
  if (this.capabilities.feedback !== canFeedback) {
4496
4496
  this.capabilities.feedback = canFeedback;
4497
4497
  hasUpdates = true;
@@ -4527,13 +4527,13 @@ var LocalThreadRuntimeCore = (_class12 = class extends BaseThreadRuntimeCore {
4527
4527
  }
4528
4528
  async performRoundtrip(parentId, message) {
4529
4529
  const messages2 = this.repository.getMessages();
4530
- _optionalChain([this, 'access', _224 => _224.abortController, 'optionalAccess', _225 => _225.abort, 'call', _226 => _226()]);
4530
+ _optionalChain([this, 'access', _228 => _228.abortController, 'optionalAccess', _229 => _229.abort, 'call', _230 => _230()]);
4531
4531
  this.abortController = new AbortController();
4532
4532
  const initialContent = message.content;
4533
- const initialSteps = _optionalChain([message, 'access', _227 => _227.metadata, 'optionalAccess', _228 => _228.steps]);
4534
- const initalCustom = _optionalChain([message, 'access', _229 => _229.metadata, 'optionalAccess', _230 => _230.custom]);
4533
+ const initialSteps = _optionalChain([message, 'access', _231 => _231.metadata, 'optionalAccess', _232 => _232.steps]);
4534
+ const initalCustom = _optionalChain([message, 'access', _233 => _233.metadata, 'optionalAccess', _234 => _234.custom]);
4535
4535
  const updateMessage = (m) => {
4536
- const newSteps = _optionalChain([m, 'access', _231 => _231.metadata, 'optionalAccess', _232 => _232.steps]) || _optionalChain([m, 'access', _233 => _233.metadata, 'optionalAccess', _234 => _234.roundtrips]);
4536
+ const newSteps = _optionalChain([m, 'access', _235 => _235.metadata, 'optionalAccess', _236 => _236.steps]) || _optionalChain([m, 'access', _237 => _237.metadata, 'optionalAccess', _238 => _238.roundtrips]);
4537
4537
  const steps2 = newSteps ? [..._nullishCoalesce(initialSteps, () => ( [])), ...newSteps] : void 0;
4538
4538
  message = {
4539
4539
  ...message,
@@ -4545,7 +4545,7 @@ var LocalThreadRuntimeCore = (_class12 = class extends BaseThreadRuntimeCore {
4545
4545
  metadata: {
4546
4546
  ...message.metadata,
4547
4547
  ...steps2 ? { roundtrips: steps2, steps: steps2 } : void 0,
4548
- ..._optionalChain([m, 'access', _235 => _235.metadata, 'optionalAccess', _236 => _236.custom]) ? {
4548
+ ..._optionalChain([m, 'access', _239 => _239.metadata, 'optionalAccess', _240 => _240.custom]) ? {
4549
4549
  custom: { ..._nullishCoalesce(initalCustom, () => ( {})), ...m.metadata.custom }
4550
4550
  } : void 0
4551
4551
  }
@@ -4555,7 +4555,7 @@ var LocalThreadRuntimeCore = (_class12 = class extends BaseThreadRuntimeCore {
4555
4555
  this._notifySubscribers();
4556
4556
  };
4557
4557
  const maxSteps = this._options.maxSteps ? this._options.maxSteps : (_nullishCoalesce(this._options.maxToolRoundtrips, () => ( 1))) + 1;
4558
- const steps = _nullishCoalesce(_optionalChain([message, 'access', _237 => _237.metadata, 'optionalAccess', _238 => _238.steps, 'optionalAccess', _239 => _239.length]), () => ( 0));
4558
+ const steps = _nullishCoalesce(_optionalChain([message, 'access', _241 => _241.metadata, 'optionalAccess', _242 => _242.steps, 'optionalAccess', _243 => _243.length]), () => ( 0));
4559
4559
  if (steps >= maxSteps) {
4560
4560
  updateMessage({
4561
4561
  status: {
@@ -4607,7 +4607,7 @@ var LocalThreadRuntimeCore = (_class12 = class extends BaseThreadRuntimeCore {
4607
4607
  return message;
4608
4608
  }
4609
4609
  cancelRun() {
4610
- _optionalChain([this, 'access', _240 => _240.abortController, 'optionalAccess', _241 => _241.abort, 'call', _242 => _242()]);
4610
+ _optionalChain([this, 'access', _244 => _244.abortController, 'optionalAccess', _245 => _245.abort, 'call', _246 => _246()]);
4611
4611
  this.abortController = null;
4612
4612
  }
4613
4613
  addToolResult({
@@ -4766,7 +4766,7 @@ var getExportFromInitialMessages = (initialMessages) => {
4766
4766
  const messages2 = fromCoreMessages(initialMessages);
4767
4767
  return {
4768
4768
  messages: messages2.map((m, idx) => ({
4769
- parentId: _nullishCoalesce(_optionalChain([messages2, 'access', _243 => _243[idx - 1], 'optionalAccess', _244 => _244.id]), () => ( null)),
4769
+ parentId: _nullishCoalesce(_optionalChain([messages2, 'access', _247 => _247[idx - 1], 'optionalAccess', _248 => _248.id]), () => ( null)),
4770
4770
  message: m
4771
4771
  }))
4772
4772
  };
@@ -4877,7 +4877,7 @@ var ExternalStoreThreadManagerRuntimeCore = (_class14 = class {
4877
4877
  this._notifySubscribers();
4878
4878
  }
4879
4879
  switchToThread(threadId) {
4880
- if (_optionalChain([this, 'access', _245 => _245._mainThread, 'optionalAccess', _246 => _246.threadId]) === threadId) return;
4880
+ if (_optionalChain([this, 'access', _249 => _249._mainThread, 'optionalAccess', _250 => _250.threadId]) === threadId) return;
4881
4881
  const onSwitchToThread = this.adapter.onSwitchToThread;
4882
4882
  if (!onSwitchToThread)
4883
4883
  throw new Error(
@@ -5003,6 +5003,7 @@ var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => {
5003
5003
  case "text":
5004
5004
  case "ui":
5005
5005
  case "image":
5006
+ case "audio":
5006
5007
  return part;
5007
5008
  default: {
5008
5009
  const unhandledType = type;
@@ -5032,7 +5033,7 @@ var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => {
5032
5033
  // src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx
5033
5034
  var EMPTY_ARRAY3 = Object.freeze([]);
5034
5035
  var hasUpcomingMessage = (isRunning, messages2) => {
5035
- return isRunning && _optionalChain([messages2, 'access', _247 => _247[messages2.length - 1], 'optionalAccess', _248 => _248.role]) !== "assistant";
5036
+ return isRunning && _optionalChain([messages2, 'access', _251 => _251[messages2.length - 1], 'optionalAccess', _252 => _252.role]) !== "assistant";
5036
5037
  };
5037
5038
  var ExternalStoreThreadRuntimeCore = (_class16 = class extends BaseThreadRuntimeCore {
5038
5039
  __init37() {this.assistantOptimisticId = null}
@@ -5085,11 +5086,11 @@ var ExternalStoreThreadRuntimeCore = (_class16 = class extends BaseThreadRuntime
5085
5086
  edit: this._store.onEdit !== void 0,
5086
5087
  reload: this._store.onReload !== void 0,
5087
5088
  cancel: this._store.onCancel !== void 0,
5088
- speech: _optionalChain([this, 'access', _252 => _252._store, 'access', _253 => _253.adapters, 'optionalAccess', _254 => _254.speech]) !== void 0,
5089
- unstable_copy: _optionalChain([this, 'access', _255 => _255._store, 'access', _256 => _256.unstable_capabilities, 'optionalAccess', _257 => _257.copy]) !== false,
5089
+ speech: _optionalChain([this, 'access', _256 => _256._store, 'access', _257 => _257.adapters, 'optionalAccess', _258 => _258.speech]) !== void 0,
5090
+ unstable_copy: _optionalChain([this, 'access', _259 => _259._store, 'access', _260 => _260.unstable_capabilities, 'optionalAccess', _261 => _261.copy]) !== false,
5090
5091
  // default true
5091
- attachments: !!_optionalChain([this, 'access', _258 => _258._store, 'access', _259 => _259.adapters, 'optionalAccess', _260 => _260.attachments]),
5092
- feedback: !!_optionalChain([this, 'access', _261 => _261._store, 'access', _262 => _262.adapters, 'optionalAccess', _263 => _263.feedback])
5092
+ attachments: !!_optionalChain([this, 'access', _262 => _262._store, 'access', _263 => _263.adapters, 'optionalAccess', _264 => _264.attachments]),
5093
+ feedback: !!_optionalChain([this, 'access', _265 => _265._store, 'access', _266 => _266.adapters, 'optionalAccess', _267 => _267.feedback])
5093
5094
  };
5094
5095
  if (oldStore) {
5095
5096
  if (oldStore.convertMessage !== store.convertMessage) {
@@ -5116,7 +5117,7 @@ var ExternalStoreThreadRuntimeCore = (_class16 = class extends BaseThreadRuntime
5116
5117
  for (let i = 0; i < messages2.length; i++) {
5117
5118
  const message = messages2[i];
5118
5119
  const parent = messages2[i - 1];
5119
- this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess', _264 => _264.id]), () => ( null)), message);
5120
+ this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess', _268 => _268.id]), () => ( null)), message);
5120
5121
  }
5121
5122
  if (this.assistantOptimisticId) {
5122
5123
  this.repository.deleteMessage(this.assistantOptimisticId);
@@ -5124,7 +5125,7 @@ var ExternalStoreThreadRuntimeCore = (_class16 = class extends BaseThreadRuntime
5124
5125
  }
5125
5126
  if (hasUpcomingMessage(isRunning, messages2)) {
5126
5127
  this.assistantOptimisticId = this.repository.appendOptimisticMessage(
5127
- _nullishCoalesce(_optionalChain([messages2, 'access', _265 => _265.at, 'call', _266 => _266(-1), 'optionalAccess', _267 => _267.id]), () => ( null)),
5128
+ _nullishCoalesce(_optionalChain([messages2, 'access', _269 => _269.at, 'call', _270 => _270(-1), 'optionalAccess', _271 => _271.id]), () => ( null)),
5128
5129
  {
5129
5130
  role: "assistant",
5130
5131
  content: []
@@ -5132,7 +5133,7 @@ var ExternalStoreThreadRuntimeCore = (_class16 = class extends BaseThreadRuntime
5132
5133
  );
5133
5134
  }
5134
5135
  this.repository.resetHead(
5135
- _nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages2, 'access', _268 => _268.at, 'call', _269 => _269(-1), 'optionalAccess', _270 => _270.id]))), () => ( null))
5136
+ _nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages2, 'access', _272 => _272.at, 'call', _273 => _273(-1), 'optionalAccess', _274 => _274.id]))), () => ( null))
5136
5137
  );
5137
5138
  this._messages = this.repository.getMessages();
5138
5139
  this._notifySubscribers();
@@ -5144,7 +5145,7 @@ var ExternalStoreThreadRuntimeCore = (_class16 = class extends BaseThreadRuntime
5144
5145
  this.updateMessages(this.repository.getMessages());
5145
5146
  }
5146
5147
  async append(message) {
5147
- if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access', _271 => _271.messages, 'access', _272 => _272.at, 'call', _273 => _273(-1), 'optionalAccess', _274 => _274.id]), () => ( null)))) {
5148
+ if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access', _275 => _275.messages, 'access', _276 => _276.at, 'call', _277 => _277(-1), 'optionalAccess', _278 => _278.id]), () => ( null)))) {
5148
5149
  if (!this._store.onEdit)
5149
5150
  throw new Error("Runtime does not support editing messages.");
5150
5151
  await this._store.onEdit(message);
@@ -5167,7 +5168,7 @@ var ExternalStoreThreadRuntimeCore = (_class16 = class extends BaseThreadRuntime
5167
5168
  }
5168
5169
  let messages2 = this.repository.getMessages();
5169
5170
  const previousMessage = messages2[messages2.length - 1];
5170
- if (_optionalChain([previousMessage, 'optionalAccess', _275 => _275.role]) === "user" && previousMessage.id === _optionalChain([messages2, 'access', _276 => _276.at, 'call', _277 => _277(-1), 'optionalAccess', _278 => _278.id])) {
5171
+ if (_optionalChain([previousMessage, 'optionalAccess', _279 => _279.role]) === "user" && previousMessage.id === _optionalChain([messages2, 'access', _280 => _280.at, 'call', _281 => _281(-1), 'optionalAccess', _282 => _282.id])) {
5171
5172
  this.repository.deleteMessage(previousMessage.id);
5172
5173
  if (!this.composer.text.trim()) {
5173
5174
  this.composer.setText(getThreadMessageText(previousMessage));
@@ -5186,7 +5187,7 @@ var ExternalStoreThreadRuntimeCore = (_class16 = class extends BaseThreadRuntime
5186
5187
  this._store.onAddToolResult(options);
5187
5188
  }
5188
5189
  __init42() {this.updateMessages = (messages2) => {
5189
- _optionalChain([this, 'access', _279 => _279._store, 'access', _280 => _280.setMessages, 'optionalCall', _281 => _281(
5190
+ _optionalChain([this, 'access', _283 => _283._store, 'access', _284 => _284.setMessages, 'optionalCall', _285 => _285(
5190
5191
  messages2.flatMap(getExternalStoreMessage).filter((m) => m != null)
5191
5192
  )]);
5192
5193
  }}
@@ -5198,7 +5199,7 @@ var getThreadManagerAdapter = (store) => {
5198
5199
  threadId: store.threadId,
5199
5200
  onSwitchToNewThread: store.onSwitchToNewThread,
5200
5201
  onSwitchToThread: store.onSwitchToThread,
5201
- ..._optionalChain([store, 'access', _282 => _282.adapters, 'optionalAccess', _283 => _283.threadManager])
5202
+ ..._optionalChain([store, 'access', _286 => _286.adapters, 'optionalAccess', _287 => _287.threadManager])
5202
5203
  };
5203
5204
  };
5204
5205
  var ExternalStoreRuntimeCore = class extends BaseAssistantRuntimeCore {
@@ -5390,18 +5391,18 @@ var DangerousInBrowserAdapter = class {
5390
5391
  this.options = options;
5391
5392
  }
5392
5393
  async *run({ messages: messages2, abortSignal, config }) {
5393
- const res = await _chunk75WIGDCWjs.getEdgeRuntimeStream.call(void 0, {
5394
+ const res = await _chunkMRIZ4RHIjs.getEdgeRuntimeStream.call(void 0, {
5394
5395
  options: this.options,
5395
5396
  abortSignal,
5396
5397
  requestData: {
5397
5398
  system: config.system,
5398
- messages: _chunk75WIGDCWjs.toCoreMessages.call(void 0, messages2),
5399
- tools: config.tools ? _chunk75WIGDCWjs.toLanguageModelTools.call(void 0, config.tools) : [],
5399
+ messages: _chunkMRIZ4RHIjs.toCoreMessages.call(void 0, messages2),
5400
+ tools: config.tools ? _chunkMRIZ4RHIjs.toLanguageModelTools.call(void 0, config.tools) : [],
5400
5401
  ...config.callSettings,
5401
5402
  ...config.config
5402
5403
  }
5403
5404
  });
5404
- const stream = res.pipeThrough(_chunk75WIGDCWjs.toolResultStream.call(void 0, config.tools, abortSignal)).pipeThrough(_chunk75WIGDCWjs.runResultStream.call(void 0, ));
5405
+ const stream = res.pipeThrough(_chunkMRIZ4RHIjs.toolResultStream.call(void 0, config.tools, abortSignal)).pipeThrough(_chunkMRIZ4RHIjs.runResultStream.call(void 0, ));
5405
5406
  for await (const update of asAsyncIterable(stream)) {
5406
5407
  yield update;
5407
5408
  }
@@ -5620,7 +5621,7 @@ var ThreadConfigProvider = ({
5620
5621
  }) => {
5621
5622
  const hasAssistant = !!useAssistantRuntime({ optional: true });
5622
5623
  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 });
5623
- if (!_optionalChain([config, 'optionalAccess', _284 => _284.runtime])) return configProvider;
5624
+ if (!_optionalChain([config, 'optionalAccess', _288 => _288.runtime])) return configProvider;
5624
5625
  if (hasAssistant) {
5625
5626
  throw new Error(
5626
5627
  "You provided a runtime to <Thread> while simulataneously using <AssistantRuntimeProvider>. This is not allowed."
@@ -5948,7 +5949,7 @@ var AssistantMessageContent = _react.forwardRef.call(void 0, ({ components: comp
5948
5949
  {
5949
5950
  components: {
5950
5951
  ...componentsProp,
5951
- Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess', _285 => _285.Text]), () => ( components.Text)), () => ( content_part_default.Text)),
5952
+ Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess', _289 => _289.Text]), () => ( components.Text)), () => ( content_part_default.Text)),
5952
5953
  tools: toolsComponents
5953
5954
  }
5954
5955
  }
@@ -6035,6 +6036,8 @@ DialogContent.displayName = DialogPrimitive.Content.displayName;
6035
6036
 
6036
6037
  // src/ui/attachment.tsx
6037
6038
 
6039
+ var _shallow = require('zustand/shallow');
6040
+
6038
6041
 
6039
6042
  var AttachmentRoot = withDefaults(attachment_exports.Root, {
6040
6043
  className: "aui-attachment-root"
@@ -6056,13 +6059,15 @@ var useFileSrc = (file) => {
6056
6059
  return src;
6057
6060
  };
6058
6061
  var useAttachmentSrc = () => {
6059
- const { file, src } = useAttachment((a) => {
6060
- if (a.type !== "image") return {};
6061
- if (a.file) return { file: a.file };
6062
- const src2 = _optionalChain([a, 'access', _286 => _286.content, 'optionalAccess', _287 => _287.filter, 'call', _288 => _288((c) => c.type === "image"), 'access', _289 => _289[0], 'optionalAccess', _290 => _290.image]);
6063
- if (!src2) return {};
6064
- return { src: src2 };
6065
- });
6062
+ const { file, src } = useAttachment(
6063
+ _shallow.useShallow.call(void 0, (a) => {
6064
+ if (a.type !== "image") return {};
6065
+ if (a.file) return { file: a.file };
6066
+ const src2 = _optionalChain([a, 'access', _290 => _290.content, 'optionalAccess', _291 => _291.filter, 'call', _292 => _292((c) => c.type === "image"), 'access', _293 => _293[0], 'optionalAccess', _294 => _294.image]);
6067
+ if (!src2) return {};
6068
+ return { src: src2 };
6069
+ })
6070
+ );
6066
6071
  return _nullishCoalesce(useFileSrc(file), () => ( src));
6067
6072
  };
6068
6073
  var AttachmentPreview = ({ src }) => {
@@ -6092,7 +6097,10 @@ var AttachmentPreviewDialog = ({ children }) => {
6092
6097
  if (!src) return children;
6093
6098
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Dialog, { children: [
6094
6099
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogTrigger, { className: "aui-attachment-preview-trigger", asChild: true, children }),
6095
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AttachmentPreview, { src }) })
6100
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogContent, { children: [
6101
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactdialog.DialogTitle, { className: "aui-sr-only", children: "Image Attachment Preview" }),
6102
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AttachmentPreview, { src })
6103
+ ] })
6096
6104
  ] });
6097
6105
  };
6098
6106
  var AttachmentThumb = () => {
@@ -6203,7 +6211,7 @@ var ComposerAttachments = ({ components }) => {
6203
6211
  {
6204
6212
  components: {
6205
6213
  ...components,
6206
- Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _291 => _291.Attachment]), () => ( attachment_default))
6214
+ Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _295 => _295.Attachment]), () => ( attachment_default))
6207
6215
  }
6208
6216
  }
6209
6217
  ) });
@@ -6336,7 +6344,7 @@ var ThreadWelcomeSuggestions = () => {
6336
6344
  const suggestions2 = useThread((t) => t.suggestions);
6337
6345
  const { welcome: { suggestions } = {} } = useThreadConfig();
6338
6346
  const finalSuggestions = suggestions2.length ? suggestions2 : suggestions;
6339
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([finalSuggestions, 'optionalAccess', _292 => _292.map, 'call', _293 => _293((suggestion, idx) => {
6347
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([finalSuggestions, 'optionalAccess', _296 => _296.map, 'call', _297 => _297((suggestion, idx) => {
6340
6348
  const key = `${suggestion.prompt}-${idx}`;
6341
6349
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestion, { suggestion }, key);
6342
6350
  })]) });
@@ -6414,7 +6422,7 @@ var UserMessageContent = _react.forwardRef.call(void 0, ({ components, ...props
6414
6422
  {
6415
6423
  components: {
6416
6424
  ...components,
6417
- Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _294 => _294.Text]), () => ( content_part_default.Text))
6425
+ Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _298 => _298.Text]), () => ( content_part_default.Text))
6418
6426
  }
6419
6427
  }
6420
6428
  ) });
@@ -6431,7 +6439,7 @@ var UserMessageAttachments = ({
6431
6439
  {
6432
6440
  components: {
6433
6441
  ...components,
6434
- Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _295 => _295.Attachment]), () => ( attachment_default))
6442
+ Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _299 => _299.Attachment]), () => ( attachment_default))
6435
6443
  }
6436
6444
  }
6437
6445
  ) }) });
@@ -6534,10 +6542,10 @@ var ThreadMessages = ({ components, unstable_flexGrowDiv: flexGrowDiv = true, ..
6534
6542
  thread_exports.Messages,
6535
6543
  {
6536
6544
  components: {
6537
- UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _296 => _296.UserMessage]), () => ( user_message_default)),
6538
- EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _297 => _297.EditComposer]), () => ( edit_composer_default)),
6539
- AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _298 => _298.AssistantMessage]), () => ( assistant_message_default)),
6540
- SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _299 => _299.SystemMessage]), () => ( SystemMessage))
6545
+ UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _300 => _300.UserMessage]), () => ( user_message_default)),
6546
+ EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _301 => _301.EditComposer]), () => ( edit_composer_default)),
6547
+ AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _302 => _302.AssistantMessage]), () => ( assistant_message_default)),
6548
+ SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _303 => _303.SystemMessage]), () => ( SystemMessage))
6541
6549
  },
6542
6550
  ...rest
6543
6551
  }
@@ -6548,7 +6556,7 @@ var ThreadMessages = ({ components, unstable_flexGrowDiv: flexGrowDiv = true, ..
6548
6556
  ThreadMessages.displayName = "ThreadMessages";
6549
6557
  var ThreadFollowupSuggestions = () => {
6550
6558
  const suggestions = useThread((t) => t.suggestions);
6551
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, thread_exports.If, { empty: false, running: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aui-thread-followup-suggestions", children: _optionalChain([suggestions, 'optionalAccess', _300 => _300.map, 'call', _301 => _301((suggestion, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6559
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, thread_exports.If, { empty: false, running: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aui-thread-followup-suggestions", children: _optionalChain([suggestions, 'optionalAccess', _304 => _304.map, 'call', _305 => _305((suggestion, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6552
6560
  thread_exports.Suggestion,
6553
6561
  {
6554
6562
  className: "aui-thread-followup-suggestion",
@@ -6786,5 +6794,5 @@ var assistant_modal_default = Object.assign(AssistantModal, exports12);
6786
6794
 
6787
6795
 
6788
6796
 
6789
- exports.ActionBarPrimitive = actionBar_exports; exports.AssistantActionBar = assistant_action_bar_default; exports.AssistantMessage = assistant_message_default; exports.AssistantModal = assistant_modal_default; exports.AssistantModalPrimitive = assistantModal_exports; exports.AssistantRuntimeProvider = AssistantRuntimeProvider; exports.AttachmentPrimitive = attachment_exports; exports.AttachmentUI = attachment_default; exports.BranchPicker = branch_picker_default; exports.BranchPickerPrimitive = branchPicker_exports; exports.Composer = composer_default; exports.ComposerAttachment = attachment_default; exports.ComposerPrimitive = composer_exports; exports.CompositeAttachmentAdapter = CompositeAttachmentAdapter; exports.ContentPart = content_part_default; exports.ContentPartPrimitive = contentPart_exports; exports.EdgeChatAdapter = EdgeChatAdapter; exports.EditComposer = edit_composer_default; exports.INTERNAL = internal_exports; exports.MessagePrimitive = message_exports; exports.SimpleImageAttachmentAdapter = SimpleImageAttachmentAdapter; exports.SimpleTextAttachmentAdapter = SimpleTextAttachmentAdapter; exports.TextContentPartProvider = TextContentPartProvider; exports.Thread = thread_default; exports.ThreadConfigProvider = ThreadConfigProvider; exports.ThreadPrimitive = thread_exports; exports.ThreadWelcome = thread_welcome_default; exports.UserActionBar = user_action_bar_default; exports.UserMessage = user_message_default; exports.UserMessageAttachment = attachment_default; exports.WebSpeechSynthesisAdapter = WebSpeechSynthesisAdapter; exports.fromCoreMessage = fromCoreMessage; exports.fromCoreMessages = fromCoreMessages; exports.fromLanguageModelMessages = fromLanguageModelMessages; exports.fromLanguageModelTools = fromLanguageModelTools; exports.getExternalStoreMessage = getExternalStoreMessage; exports.makeAssistantTool = makeAssistantTool; exports.makeAssistantToolUI = makeAssistantToolUI; exports.streamUtils = streamUtils; exports.subscribeToMainThread = subscribeToMainThread; exports.toCoreMessage = _chunk75WIGDCWjs.toCoreMessage; exports.toCoreMessages = _chunk75WIGDCWjs.toCoreMessages; exports.toLanguageModelMessages = _chunk75WIGDCWjs.toLanguageModelMessages; exports.toLanguageModelTools = _chunk75WIGDCWjs.toLanguageModelTools; exports.useActionBarCopy = useActionBarCopy; exports.useActionBarEdit = useActionBarEdit; exports.useActionBarFeedbackNegative = useActionBarFeedbackNegative; exports.useActionBarFeedbackPositive = useActionBarFeedbackPositive; exports.useActionBarReload = useActionBarReload; exports.useActionBarSpeak = useActionBarSpeak; exports.useActionBarStopSpeaking = useActionBarStopSpeaking; exports.useAppendMessage = useAppendMessage; exports.useAssistantActions = useAssistantActions; exports.useAssistantActionsStore = useAssistantActionsStore; exports.useAssistantContext = useAssistantContext; exports.useAssistantInstructions = useAssistantInstructions; exports.useAssistantRuntime = useAssistantRuntime; exports.useAssistantRuntimeStore = useAssistantRuntimeStore; exports.useAssistantTool = useAssistantTool; exports.useAssistantToolUI = useAssistantToolUI; exports.useAttachment = useAttachment; exports.useAttachmentRuntime = useAttachmentRuntime; exports.useBranchPickerCount = useBranchPickerCount; exports.useBranchPickerNext = useBranchPickerNext; exports.useBranchPickerNumber = useBranchPickerNumber; exports.useBranchPickerPrevious = useBranchPickerPrevious; exports.useComposer = useComposer; exports.useComposerAddAttachment = useComposerAddAttachment; exports.useComposerCancel = useComposerCancel; exports.useComposerContext = useComposerContext; exports.useComposerIf = useComposerIf; exports.useComposerRuntime = useComposerRuntime; exports.useComposerSend = useComposerSend; exports.useComposerStore = useComposerStore; exports.useContentPart = useContentPart; exports.useContentPartContext = useContentPartContext; exports.useContentPartDisplay = useContentPartDisplay; exports.useContentPartImage = useContentPartImage; exports.useContentPartRuntime = useContentPartRuntime; exports.useContentPartStore = useContentPartStore; exports.useContentPartText = useContentPartText; exports.useDangerousInBrowserRuntime = useDangerousInBrowserRuntime; exports.useEdgeRuntime = useEdgeRuntime; exports.useEditComposer = useEditComposer; exports.useEditComposerStore = useEditComposerStore; exports.useExternalMessageConverter = useExternalMessageConverter; exports.useExternalStoreRuntime = useExternalStoreRuntime; exports.useInlineRender = useInlineRender; exports.useLocalRuntime = useLocalRuntime; exports.useMessage = useMessage; exports.useMessageContext = useMessageContext; exports.useMessageIf = useMessageIf; exports.useMessageRuntime = useMessageRuntime; exports.useMessageStore = useMessageStore; exports.useMessageUtils = useMessageUtils; exports.useMessageUtilsStore = useMessageUtilsStore; exports.useSwitchToNewThread = useSwitchToNewThread; exports.useThread = useThread; exports.useThreadActions = useThreadActions; exports.useThreadActionsStore = useThreadActionsStore; exports.useThreadComposer = useThreadComposer; exports.useThreadComposerStore = useThreadComposerStore; exports.useThreadConfig = useThreadConfig; exports.useThreadContext = useThreadContext; exports.useThreadEmpty = useThreadEmpty; exports.useThreadIf = useThreadIf; exports.useThreadManager = useThreadManager; exports.useThreadMessages = useThreadMessages; exports.useThreadMessagesStore = useThreadMessagesStore; exports.useThreadModelConfig = useThreadModelConfig; exports.useThreadRuntime = useThreadRuntime; exports.useThreadRuntimeStore = useThreadRuntimeStore; exports.useThreadScrollToBottom = useThreadScrollToBottom; exports.useThreadStore = useThreadStore; exports.useThreadSuggestion = useThreadSuggestion; exports.useThreadViewport = useThreadViewport; exports.useThreadViewportStore = useThreadViewportStore; exports.useToolUIs = useToolUIs; exports.useToolUIsStore = useToolUIsStore;
6797
+ exports.ActionBarPrimitive = actionBar_exports; exports.AssistantActionBar = assistant_action_bar_default; exports.AssistantMessage = assistant_message_default; exports.AssistantModal = assistant_modal_default; exports.AssistantModalPrimitive = assistantModal_exports; exports.AssistantRuntimeProvider = AssistantRuntimeProvider; exports.AttachmentPrimitive = attachment_exports; exports.AttachmentUI = attachment_default; exports.BranchPicker = branch_picker_default; exports.BranchPickerPrimitive = branchPicker_exports; exports.Composer = composer_default; exports.ComposerAttachment = attachment_default; exports.ComposerPrimitive = composer_exports; exports.CompositeAttachmentAdapter = CompositeAttachmentAdapter; exports.ContentPart = content_part_default; exports.ContentPartPrimitive = contentPart_exports; exports.EdgeChatAdapter = EdgeChatAdapter; exports.EditComposer = edit_composer_default; exports.INTERNAL = internal_exports; exports.MessagePrimitive = message_exports; exports.SimpleImageAttachmentAdapter = SimpleImageAttachmentAdapter; exports.SimpleTextAttachmentAdapter = SimpleTextAttachmentAdapter; exports.TextContentPartProvider = TextContentPartProvider; exports.Thread = thread_default; exports.ThreadConfigProvider = ThreadConfigProvider; exports.ThreadPrimitive = thread_exports; exports.ThreadWelcome = thread_welcome_default; exports.UserActionBar = user_action_bar_default; exports.UserMessage = user_message_default; exports.UserMessageAttachment = attachment_default; exports.WebSpeechSynthesisAdapter = WebSpeechSynthesisAdapter; exports.fromCoreMessage = fromCoreMessage; exports.fromCoreMessages = fromCoreMessages; exports.fromLanguageModelMessages = fromLanguageModelMessages; exports.fromLanguageModelTools = fromLanguageModelTools; exports.getExternalStoreMessage = getExternalStoreMessage; exports.makeAssistantTool = makeAssistantTool; exports.makeAssistantToolUI = makeAssistantToolUI; exports.streamUtils = streamUtils; exports.subscribeToMainThread = subscribeToMainThread; exports.toCoreMessage = _chunkMRIZ4RHIjs.toCoreMessage; exports.toCoreMessages = _chunkMRIZ4RHIjs.toCoreMessages; exports.toLanguageModelMessages = _chunkMRIZ4RHIjs.toLanguageModelMessages; exports.toLanguageModelTools = _chunkMRIZ4RHIjs.toLanguageModelTools; exports.useActionBarCopy = useActionBarCopy; exports.useActionBarEdit = useActionBarEdit; exports.useActionBarFeedbackNegative = useActionBarFeedbackNegative; exports.useActionBarFeedbackPositive = useActionBarFeedbackPositive; exports.useActionBarReload = useActionBarReload; exports.useActionBarSpeak = useActionBarSpeak; exports.useActionBarStopSpeaking = useActionBarStopSpeaking; exports.useAppendMessage = useAppendMessage; exports.useAssistantActions = useAssistantActions; exports.useAssistantActionsStore = useAssistantActionsStore; exports.useAssistantContext = useAssistantContext; exports.useAssistantInstructions = useAssistantInstructions; exports.useAssistantRuntime = useAssistantRuntime; exports.useAssistantRuntimeStore = useAssistantRuntimeStore; exports.useAssistantTool = useAssistantTool; exports.useAssistantToolUI = useAssistantToolUI; exports.useAttachment = useAttachment; exports.useAttachmentRuntime = useAttachmentRuntime; exports.useBranchPickerCount = useBranchPickerCount; exports.useBranchPickerNext = useBranchPickerNext; exports.useBranchPickerNumber = useBranchPickerNumber; exports.useBranchPickerPrevious = useBranchPickerPrevious; exports.useComposer = useComposer; exports.useComposerAddAttachment = useComposerAddAttachment; exports.useComposerCancel = useComposerCancel; exports.useComposerContext = useComposerContext; exports.useComposerIf = useComposerIf; exports.useComposerRuntime = useComposerRuntime; exports.useComposerSend = useComposerSend; exports.useComposerStore = useComposerStore; exports.useContentPart = useContentPart; exports.useContentPartContext = useContentPartContext; exports.useContentPartDisplay = useContentPartDisplay; exports.useContentPartImage = useContentPartImage; exports.useContentPartRuntime = useContentPartRuntime; exports.useContentPartStore = useContentPartStore; exports.useContentPartText = useContentPartText; exports.useDangerousInBrowserRuntime = useDangerousInBrowserRuntime; exports.useEdgeRuntime = useEdgeRuntime; exports.useEditComposer = useEditComposer; exports.useEditComposerStore = useEditComposerStore; exports.useExternalMessageConverter = useExternalMessageConverter; exports.useExternalStoreRuntime = useExternalStoreRuntime; exports.useInlineRender = useInlineRender; exports.useLocalRuntime = useLocalRuntime; exports.useMessage = useMessage; exports.useMessageContext = useMessageContext; exports.useMessageIf = useMessageIf; exports.useMessageRuntime = useMessageRuntime; exports.useMessageStore = useMessageStore; exports.useMessageUtils = useMessageUtils; exports.useMessageUtilsStore = useMessageUtilsStore; exports.useSwitchToNewThread = useSwitchToNewThread; exports.useThread = useThread; exports.useThreadActions = useThreadActions; exports.useThreadActionsStore = useThreadActionsStore; exports.useThreadComposer = useThreadComposer; exports.useThreadComposerStore = useThreadComposerStore; exports.useThreadConfig = useThreadConfig; exports.useThreadContext = useThreadContext; exports.useThreadEmpty = useThreadEmpty; exports.useThreadIf = useThreadIf; exports.useThreadManager = useThreadManager; exports.useThreadMessages = useThreadMessages; exports.useThreadMessagesStore = useThreadMessagesStore; exports.useThreadModelConfig = useThreadModelConfig; exports.useThreadRuntime = useThreadRuntime; exports.useThreadRuntimeStore = useThreadRuntimeStore; exports.useThreadScrollToBottom = useThreadScrollToBottom; exports.useThreadStore = useThreadStore; exports.useThreadSuggestion = useThreadSuggestion; exports.useThreadViewport = useThreadViewport; exports.useThreadViewportStore = useThreadViewportStore; exports.useToolUIs = useToolUIs; exports.useToolUIsStore = useToolUIsStore;
6790
6798
  //# sourceMappingURL=index.js.map