ai 3.1.33 → 3.1.34

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai",
3
- "version": "3.1.33",
3
+ "version": "3.1.34",
4
4
  "license": "Apache-2.0",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
@@ -98,8 +98,8 @@
98
98
  "tsup": "^7.2.0",
99
99
  "typescript": "5.1.3",
100
100
  "zod": "3.23.8",
101
- "eslint-config-vercel-ai": "0.0.0",
102
- "@vercel/ai-tsconfig": "0.0.0"
101
+ "@vercel/ai-tsconfig": "0.0.0",
102
+ "eslint-config-vercel-ai": "0.0.0"
103
103
  },
104
104
  "peerDependencies": {
105
105
  "openai": "^4.42.0",
@@ -253,6 +253,29 @@ function convertDataContentToUint8Array(content) {
253
253
  throw new InvalidDataContentError({ content });
254
254
  }
255
255
 
256
+ // core/prompt/invalid-message-role-error.ts
257
+ var InvalidMessageRoleError = class extends Error {
258
+ constructor({
259
+ role,
260
+ message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
261
+ }) {
262
+ super(message);
263
+ this.name = "AI_InvalidMessageRoleError";
264
+ this.role = role;
265
+ }
266
+ static isInvalidMessageRoleError(error) {
267
+ return error instanceof Error && error.name === "AI_InvalidMessageRoleError" && typeof error.role === "string";
268
+ }
269
+ toJSON() {
270
+ return {
271
+ name: this.name,
272
+ message: this.message,
273
+ stack: this.stack,
274
+ role: this.role
275
+ };
276
+ }
277
+ };
278
+
256
279
  // core/prompt/convert-to-language-model-prompt.ts
257
280
  function convertToLanguageModelPrompt(prompt) {
258
281
  const languageModelMessages = [];
@@ -282,7 +305,8 @@ function convertToLanguageModelPrompt(prompt) {
282
305
  return languageModelMessages;
283
306
  }
284
307
  function convertToLanguageModelMessage(message) {
285
- switch (message.role) {
308
+ const role = message.role;
309
+ switch (role) {
286
310
  case "system": {
287
311
  return { role: "system", content: message.content };
288
312
  }
@@ -341,8 +365,8 @@ function convertToLanguageModelMessage(message) {
341
365
  return message;
342
366
  }
343
367
  default: {
344
- const _exhaustiveCheck = message;
345
- throw new Error(`Unsupported message role: ${_exhaustiveCheck}`);
368
+ const _exhaustiveCheck = role;
369
+ throw new InvalidMessageRoleError({ role: _exhaustiveCheck });
346
370
  }
347
371
  }
348
372
  }