diff --git a/.changeset/ai-sdk-v7-chatbot.md b/.changeset/ai-sdk-v7-chatbot.md new file mode 100644 index 000000000..0a616d8de --- /dev/null +++ b/.changeset/ai-sdk-v7-chatbot.md @@ -0,0 +1,14 @@ +--- +'@object-ui/plugin-chatbot': minor +--- + +chore(chatbot): upgrade to Vercel AI SDK v7 / @ai-sdk/react v4 + +Bump `ai` ^6 -> ^7 and `@ai-sdk/react` ^3 -> ^4. The chatbot's `useChat`, +`DefaultChatTransport`, `UIMessage`/`ChatStatus` usage and the `mapMessages` +parts adapter are all source-compatible with v7 — no code changes required. + +Verified: type-check clean, build green, 183/183 unit tests pass on v7. + +Part of the org-wide AI SDK v6->v7 / providers v3->v4 upgrade (framework#2464, +cloud#710). diff --git a/packages/plugin-chatbot/package.json b/packages/plugin-chatbot/package.json index 0c3766e1d..6a7f6aa71 100644 --- a/packages/plugin-chatbot/package.json +++ b/packages/plugin-chatbot/package.json @@ -31,14 +31,14 @@ "lint": "eslint ." }, "dependencies": { - "@ai-sdk/react": "^3.0.216", + "@ai-sdk/react": "^4.0.5", "@object-ui/components": "workspace:*", "@object-ui/core": "workspace:*", "@object-ui/react": "workspace:*", "@object-ui/types": "workspace:*", "@radix-ui/react-slot": "^1.3.0", "@radix-ui/react-use-controllable-state": "^1.2.3", - "ai": "^6.0.214", + "ai": "^7.0.4", "class-variance-authority": "^0.7.1", "lucide-react": "^1.22.0", "motion": "^12.42.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e539ad151..753ce78e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1461,8 +1461,8 @@ importers: packages/plugin-chatbot: dependencies: '@ai-sdk/react': - specifier: ^3.0.216 - version: 3.0.216(react@19.2.7)(zod@4.4.3) + specifier: ^4.0.5 + version: 4.0.5(react@19.2.7)(zod@4.4.3) '@object-ui/components': specifier: workspace:* version: link:../components @@ -1482,8 +1482,8 @@ importers: specifier: ^1.2.3 version: 1.2.3(@types/react@19.2.17)(react@19.2.7) ai: - specifier: ^6.0.214 - version: 6.0.214(zod@4.4.3) + specifier: ^7.0.4 + version: 7.0.4(zod@4.4.3) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -2618,19 +2618,41 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/gateway@4.0.4': + resolution: {integrity: sha512-xO0e9duft/uZlnDaIeBZmzTMjfdEz1kkDzWnhQNkJZZljsKWVi6IREZW9nAa+Dx6jYJssyxSUggaFYBAV1WZpw==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + + '@ai-sdk/mcp@2.0.3': + resolution: {integrity: sha512-VlffJutf3KkpjZdmw56yrcUQ0dk6u8LykNLCjIHrsWSgscPdRIHc1DZtPzwEh6FjZAV2+gamTItuu1jcWmmPFQ==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/provider-utils@4.0.33': resolution: {integrity: sha512-nJ0bAfegMAIJtrzMJtbzer1cS3nb7c7DsyU1S4nrPm7ZU0Mn6SBBZv5IGZZGTbpWTJwqKTSPeZJTXalbAxt1BA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/provider-utils@5.0.1': + resolution: {integrity: sha512-p9Ra+dN4jjHrssXvklNf4nFvWbj1KePMfUOs7nue0NuoIMbYFBULhX4Vu0+6DWLnw3+UsLL9+RCKLtzzU43Qpg==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/provider@3.0.12': resolution: {integrity: sha512-sj9DWTJ2Ze0WR9qsiOPqoqzNx3OxL6iMxHImbhvoe9qOspekbzxNDMiJ4TIGfYHYh9w4OmBjz3prvqhzTi96+Q==} engines: {node: '>=18'} - '@ai-sdk/react@3.0.216': - resolution: {integrity: sha512-fDMKTHRCC3SI/2F3O9d8eYSN6MkV8Z9KY8Xp3asw87am70pGdno2xV2ZDjx/P+9I9ZIIQjPNTmId70MJVtFOWQ==} - engines: {node: '>=18'} + '@ai-sdk/provider@4.0.0': + resolution: {integrity: sha512-fr9Gs89prDWiuox/T+kCA+i2cJkHpxU5S+tr4megjTzRC27ZsvFhwjU/+XrqqMbvBUlfmXxTOYWy8ng45dsjIg==} + engines: {node: '>=22'} + + '@ai-sdk/react@4.0.5': + resolution: {integrity: sha512-RqScsB409Qqk89Z/Nwjbh/+SfnxkFzjvmeYd0k62MbDt4RVehKxjU5MbnHHjUFuBGKmWdfSWGfMfCDQEqgNvGQ==} + engines: {node: '>=22'} peerDependencies: react: 19.2.7 @@ -5786,6 +5808,9 @@ packages: engines: {node: '>= 20'} hasBin: true + '@workflow/serde@4.1.0': + resolution: {integrity: sha512-pav4F2BoirECWR7Nf1TKt+2eETcBj7jj4cBefQ8VXQCA6NPkaKeLfj/zMgi+3zYV5ZIBT4GuUiphsj0/b9hPQQ==} + accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -5818,6 +5843,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 + ai@7.0.4: + resolution: {integrity: sha512-mZub080RWRxpWg8OY56KVnI3AoMVniccSWG+dwVb3nH81+GiNMDYBIdP41RLUivLpmU49pB7ssD7tvfIUaSaCA==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: @@ -10674,6 +10705,21 @@ snapshots: '@ai-sdk/provider-utils': 4.0.33(zod@4.4.3) '@vercel/oidc': 3.2.0 zod: 4.4.3 + optional: true + + '@ai-sdk/gateway@4.0.4(zod@4.4.3)': + dependencies: + '@ai-sdk/provider': 4.0.0 + '@ai-sdk/provider-utils': 5.0.1(zod@4.4.3) + '@vercel/oidc': 3.2.0 + zod: 4.4.3 + + '@ai-sdk/mcp@2.0.3(zod@4.4.3)': + dependencies: + '@ai-sdk/provider': 4.0.0 + '@ai-sdk/provider-utils': 5.0.1(zod@4.4.3) + pkce-challenge: 5.0.1 + zod: 4.4.3 '@ai-sdk/provider-utils@4.0.33(zod@4.4.3)': dependencies: @@ -10681,15 +10727,31 @@ snapshots: '@standard-schema/spec': 1.1.0 eventsource-parser: 3.1.0 zod: 4.4.3 + optional: true + + '@ai-sdk/provider-utils@5.0.1(zod@4.4.3)': + dependencies: + '@ai-sdk/provider': 4.0.0 + '@standard-schema/spec': 1.1.0 + '@workflow/serde': 4.1.0 + eventsource-parser: 3.1.0 + zod: 4.4.3 '@ai-sdk/provider@3.0.12': dependencies: json-schema: 0.4.0 + optional: true + + '@ai-sdk/provider@4.0.0': + dependencies: + json-schema: 0.4.0 - '@ai-sdk/react@3.0.216(react@19.2.7)(zod@4.4.3)': + '@ai-sdk/react@4.0.5(react@19.2.7)(zod@4.4.3)': dependencies: - '@ai-sdk/provider-utils': 4.0.33(zod@4.4.3) - ai: 6.0.214(zod@4.4.3) + '@ai-sdk/mcp': 2.0.3(zod@4.4.3) + '@ai-sdk/provider': 4.0.0 + '@ai-sdk/provider-utils': 5.0.1(zod@4.4.3) + ai: 7.0.4(zod@4.4.3) react: 19.2.7 swr: 2.4.2(react@19.2.7) throttleit: 2.1.0 @@ -12015,7 +12077,8 @@ snapshots: '@open-draft/until@2.1.0': {} - '@opentelemetry/api@1.9.1': {} + '@opentelemetry/api@1.9.1': + optional: true '@opentelemetry/semantic-conventions@1.41.1': {} @@ -13925,6 +13988,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@workflow/serde@4.1.0': {} + accepts@1.3.8: dependencies: mime-types: 2.1.35 @@ -13956,6 +14021,14 @@ snapshots: '@ai-sdk/provider-utils': 4.0.33(zod@4.4.3) '@opentelemetry/api': 1.9.1 zod: 4.4.3 + optional: true + + ai@7.0.4(zod@4.4.3): + dependencies: + '@ai-sdk/gateway': 4.0.4(zod@4.4.3) + '@ai-sdk/provider': 4.0.0 + '@ai-sdk/provider-utils': 5.0.1(zod@4.4.3) + zod: 4.4.3 ajv-draft-04@1.0.0(ajv@8.18.0): optionalDependencies: