ai 5.0.28 → 5.0.30

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
@@ -9480,6 +9480,9 @@ var AbstractChat = class {
9480
9480
  var _a17, _b, _c;
9481
9481
  this.setStatus({ status: "submitted", error: void 0 });
9482
9482
  const lastMessage = this.lastMessage;
9483
+ let isAbort = false;
9484
+ let isDisconnect = false;
9485
+ let isError = false;
9483
9486
  try {
9484
9487
  const activeResponse = {
9485
9488
  state: createStreamingUIMessageState({
@@ -9488,6 +9491,9 @@ var AbstractChat = class {
9488
9491
  }),
9489
9492
  abortController: new AbortController()
9490
9493
  };
9494
+ activeResponse.abortController.signal.addEventListener("abort", () => {
9495
+ isAbort = true;
9496
+ });
9491
9497
  this.activeResponse = activeResponse;
9492
9498
  let stream;
9493
9499
  if (trigger === "resume-stream") {
@@ -9551,21 +9557,33 @@ var AbstractChat = class {
9551
9557
  throw error;
9552
9558
  }
9553
9559
  });
9554
- (_a17 = this.onFinish) == null ? void 0 : _a17.call(this, {
9555
- message: activeResponse.state.message,
9556
- messages: this.state.messages
9557
- });
9558
9560
  this.setStatus({ status: "ready" });
9559
9561
  } catch (err) {
9560
- if (err.name === "AbortError") {
9562
+ if (isAbort || err.name === "AbortError") {
9563
+ isAbort = true;
9561
9564
  this.setStatus({ status: "ready" });
9562
9565
  return null;
9563
9566
  }
9567
+ isError = true;
9568
+ if (err instanceof TypeError && (err.message.toLowerCase().includes("fetch") || err.message.toLowerCase().includes("network"))) {
9569
+ isDisconnect = true;
9570
+ }
9564
9571
  if (this.onError && err instanceof Error) {
9565
9572
  this.onError(err);
9566
9573
  }
9567
9574
  this.setStatus({ status: "error", error: err });
9568
9575
  } finally {
9576
+ try {
9577
+ (_a17 = this.onFinish) == null ? void 0 : _a17.call(this, {
9578
+ message: this.activeResponse.state.message,
9579
+ messages: this.state.messages,
9580
+ isAbort,
9581
+ isDisconnect,
9582
+ isError
9583
+ });
9584
+ } catch (err) {
9585
+ console.error(err);
9586
+ }
9569
9587
  this.activeResponse = void 0;
9570
9588
  }
9571
9589
  if ((_b = this.sendAutomaticallyWhen) == null ? void 0 : _b.call(this, { messages: this.state.messages })) {
@@ -9974,6 +9992,13 @@ async function validateUIMessages({
9974
9992
  dataSchemas,
9975
9993
  tools
9976
9994
  }) {
9995
+ if (messages == null) {
9996
+ throw new InvalidArgumentError({
9997
+ parameter: "messages",
9998
+ value: messages,
9999
+ message: "messages parameter must be provided"
10000
+ });
10001
+ }
9977
10002
  const validatedMessages = await validateTypes2({
9978
10003
  value: messages,
9979
10004
  schema: z10.array(uiMessageSchema)