From db54991115731338081aab0f6b3f1bf5c3327ab0 Mon Sep 17 00:00:00 2001 From: Upstash Box Date: Sat, 7 Nov 2026 09:00:04 +0000 Subject: [PATCH 1/4] chore: bump ai 7.0.164, @tanstack/ai 1.2.0, @tanstack/ai-openai 1.1.1 Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01CMK4evAPYQTCyq2xbnvJ8Y --- CLAUDE.md | 1 + examples/ai-sdk-demo/package.json | 2 +- examples/eve-demo/package.json | 2 +- examples/eve-extension-demo/package.json | 2 +- examples/tanstack-ai-demo/package.json | 4 +- packages/ai-sdk/package.json | 2 +- packages/eve/package.json | 2 +- packages/tanstack-ai/package.json | 2 +- pnpm-lock.yaml | 158 +++++++++++++++-------- 9 files changed, 115 insertions(+), 60 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 29378d2..74e2e5d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1708,6 +1708,7 @@ find node_modules -path "*/zod/package.json" | while read f; do echo "$f $(node need_tools/replay loop), Redis `SandboxInstanceStore`/`SandboxCheckpointStore` (+ Upstash Blob `BlobStore`), QStash-backed background runs writing to `upstashStream`, and a QStash schedule for `reapDetachedRuns`. +- **ai 7.0.164 + @tanstack/ai 1.2.0 + @tanstack/ai-openai 1.1.1 (2026-11-07):** devDependency/example pins only (no published-content change, no changeset); eve stays on 0.91.0 (no stable release since; `1.0.0-rc.6` still not adopted — published `@upstash/agentkit-eve-extension@0.19.0` / `@upstash/agentkit-eve@0.19.0` build clean on it). Published tanstack-ai 0.3.0 installs/typechecks/imports against `@tanstack/ai@1.2.0`; `skipLibCheck:false` under `moduleResolution: nodenext` errors inside `@tanstack/ai`'s own `spawn.d.ts` (`Cannot find module '../../..'`), identical on 1.1.0 — upstream, not ours (bundler resolution is clean). Verification on a throwaway free Redis (max 1 search index) cannot cover Redis-Search suites. - **ai 7.0.163 (2026-11-05):** pins bumped from 7.0.159 (no code change); `examples/ai-sdk-demo`'s `@ai-sdk/react` raised to `^4.0.167` because 4.0.160 depends on an *exact* `ai@7.0.156`, which split the `UIMessage` type from the demo's `ai@7.0.163` and failed `next build` (`SteeringMessageUIPart`). Re-checked 2026-11-05: published `@upstash/agentkit-eve-extension@0.19.0` / `@upstash/agentkit-eve@0.19.0` build clean on `eve@1.0.0-rc.5` (the 0.91.0 build stays); TanStack AI 1.x (ai 1.1.0, ai-persistence 1.0.1, ai-memory 1.1.0) still not adopted (same `threadId`/`blobKey` test-file errors). - **TanStack AI 1.x applied (2026-11-05):** `@tanstack/ai` 1.1.0, `ai-persistence` 1.0.1, `ai-memory` 1.1.0 (devDeps, exact) and the tanstack-ai-demo's `ai-client` 1.1.0 / `ai-react` 1.0.2 / `ai-openai` 1.1.0. `src` needed no change; only tests did: `chat()` calls pass `threadId` (`middleware.test.ts`, `search-tools.test.ts`) and `ArtifactRecord` fixtures carry `blobKey` (`persistence.test.ts`). The peer floors (`>=0.65.0` / `>=0.8.0` / `>=0.2.8`) are untouched: the source is unchanged and still works on 0.x, and published `@upstash/agentkit-tanstack-ai@0.2.0` imports on 1.x, so no changeset. Upstream `@tanstack/ai@1.1.0`'s `spawn.d.ts` still has the broken `import('../../..')` (TS2307 with `skipLibCheck: false`). The 1.0 contracts `SessionIndexStore` and `CredentialStore` are implemented in the follow-up below. - **TanStack AI 1.0 contracts implemented (2026-11-05, `@upstash/agentkit-tanstack-ai` minor):** `stores.log` (`persistence/log-store.ts`, see below), `stores.sessions` (`SessionIndexStore`, `persistence/sessions.ts`) and `./byok` (`upstashCredentials`, `byok/credentials.ts`, `CredentialStore`). **Peer floors raised to `@tanstack/ai >=1.0.0` and `@tanstack/ai-persistence >=1.0.0`** (verified by packing 0.71.0/0.10.1: neither has `SessionIndexStore` / `@tanstack/ai/byok`; `ai-memory` floor untouched). Sessions: doc `{r,e}` per `(tenant, thread)` + one ZSET per tenant (score `updatedAt`, member `~` so the client never JSON-parses a numeric-looking id); `list` walks the ZSET in batches of whole score groups and re-reads a tie group in full so the `threadId` UTF-8 order is exact, filtering after loading; `ZRANGE BYSCORE REV` takes `(max, min)` (cast through `number`, the SDK types forbid `(`-exclusive strings). Revisions come from an `INCR` counter, never reused (the credential contract requires that; sessions may reuse). Passes the 19 `sessions` cases of `runPersistenceConformance` (they run only when the store is present). Credentials: one hash per owner (`%none` segment = undefined tenant/user, distinct from `""`), value `{r,t,x?,c | iv,ct}` with type/expiry in the clear so `list` never decrypts; optional AES-256-GCM `encryptionKey`, AAD = owner key + id (a copied ciphertext does not decrypt). `storedProviderKeys` lives in `@tanstack/ai/byok/server`, not `/byok`. **`stores.log` (`LogStore`):** per log a meta hash (head, first, epoch, owner, harness, exp, rel, wake, aff, del, laneH, oseq), a records ZSET (score seq, member `:`), snapshot string (`seq` must stay the first JSON key: `truncate` reads it with a Lua pattern), offers hash + info hash + pending ZSET, and a tick counter; shared `logDue` ZSET (when each log needs an owner) and `logHosts` hash. Every op is one Lua script over the same nine declared keys; the store clock is Redis `TIME` inside the script; numbers written from Lua go through `%.0f` (plain `tostring` prints epoch ms in scientific notation); ids returned from Lua are `~`-prefixed because the client JSON-parses numeric-looking strings (`"007"` -> 7). `subscribe` = immediate local callback + a `reported` and an `observed` tick per log so each counter value is reported once (a baseline read that already contains a local write must not mark it reported: that swallowed the notification), plus a 250 ms tick poll for other machines (non-overlapping; the first successful read is the baseline, so a failed first read is retried instead of silencing the subscription). `changed()` skips a counter the poll already reported (deterministic repro in tests: delay the append reply with a Proxy), which fixed a double notification (a poll can see the tick before the write reply arrives; it failed the `calls a listener after each append` conformance case in CI). The baseline read is still async, so a write by another machine landing in the first round trip after `subscribe` can go unreported (listeners are wake-ups, hosts reconcile with `read`). `append` rejects more than 10,000 records (a 50,000-record batch outran the Lua time limit and left part of the writes). Known follow-ups: `listLogsWithoutOwner` re-checks entries skipped by `harnesses` / a live pin on every call; consumed offers, old hosts and `deleteLog` tombstones are never cleaned up; `read` / `listOfferedInputs` without a limit return everything. Conformance needs the `twin` option (a second store set on the same keyspace) for the 4 `log across instances` cases; all 56 log cases and 19 sessions cases pass. Not implemented: `ownership` TTL-based cleanup of finished logs (logs and their keys live until `deleteLog`). diff --git a/examples/ai-sdk-demo/package.json b/examples/ai-sdk-demo/package.json index f39d2b4..a58de52 100644 --- a/examples/ai-sdk-demo/package.json +++ b/examples/ai-sdk-demo/package.json @@ -13,7 +13,7 @@ "@upstash/agentkit-ai-sdk": "workspace:*", "@upstash/agentkit-sdk": "workspace:*", "@upstash/redis": "^1.38.4", - "ai": "7.0.163", + "ai": "7.0.164", "dotenv": "^16.4.5", "next": "16.2.9", "react": "19.2.6", diff --git a/examples/eve-demo/package.json b/examples/eve-demo/package.json index fa26bdf..9a48f4a 100644 --- a/examples/eve-demo/package.json +++ b/examples/eve-demo/package.json @@ -28,7 +28,7 @@ "@upstash/box": "^0.7.5", "@upstash/redis": "^1.38.4", "@vercel/connect": "2.5.6", - "ai": "7.0.163", + "ai": "7.0.164", "class-variance-authority": "0.7.1", "clsx": "2.1.1", "cmdk": "1.1.1", diff --git a/examples/eve-extension-demo/package.json b/examples/eve-extension-demo/package.json index 4d19ad3..84d2632 100644 --- a/examples/eve-extension-demo/package.json +++ b/examples/eve-extension-demo/package.json @@ -18,7 +18,7 @@ "@upstash/agentkit-eve-extension": "workspace:*", "@upstash/redis": "^1.38.4", "@vercel/connect": "2.5.6", - "ai": "7.0.163", + "ai": "7.0.164", "eve": "^0.91.0", "zod": "4.4.3" }, diff --git a/examples/tanstack-ai-demo/package.json b/examples/tanstack-ai-demo/package.json index 98bd177..df33926 100644 --- a/examples/tanstack-ai-demo/package.json +++ b/examples/tanstack-ai-demo/package.json @@ -10,10 +10,10 @@ "e2e": "vitest run --config e2e/vitest.config.ts" }, "dependencies": { - "@tanstack/ai": "1.1.0", + "@tanstack/ai": "1.2.0", "@tanstack/ai-client": "1.1.0", "@tanstack/ai-memory": "1.1.0", - "@tanstack/ai-openai": "1.1.0", + "@tanstack/ai-openai": "1.1.1", "@tanstack/ai-persistence": "1.0.1", "@tanstack/ai-react": "1.0.2", "@upstash/agentkit-tanstack-ai": "workspace:*", diff --git a/packages/ai-sdk/package.json b/packages/ai-sdk/package.json index 3340b26..5df740b 100644 --- a/packages/ai-sdk/package.json +++ b/packages/ai-sdk/package.json @@ -53,7 +53,7 @@ "@ai-sdk/openai": "^4.0.71", "@ai-sdk/provider": "^4.0.17", "@upstash/redis": "^1.38.4", - "ai": "7.0.163", + "ai": "7.0.164", "dotenv": "^16.4.5" }, "peerDependencies": { diff --git a/packages/eve/package.json b/packages/eve/package.json index de895ee..8ea9fd7 100644 --- a/packages/eve/package.json +++ b/packages/eve/package.json @@ -60,7 +60,7 @@ "devDependencies": { "@upstash/box": "^0.7.5", "@upstash/redis": "^1.38.4", - "ai": "7.0.163", + "ai": "7.0.164", "dotenv": "^16.4.5", "eve": "^0.91.0" }, diff --git a/packages/tanstack-ai/package.json b/packages/tanstack-ai/package.json index 72e1718..a1faec9 100644 --- a/packages/tanstack-ai/package.json +++ b/packages/tanstack-ai/package.json @@ -62,7 +62,7 @@ "zod": "^3.23.8 || ^4" }, "devDependencies": { - "@tanstack/ai": "1.1.0", + "@tanstack/ai": "1.2.0", "@tanstack/ai-memory": "1.1.0", "@tanstack/ai-persistence": "1.0.1", "dotenv": "^16.4.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e719ce9..7a119f9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -60,8 +60,8 @@ importers: specifier: ^1.38.4 version: 1.38.4 ai: - specifier: 7.0.163 - version: 7.0.163(zod@4.4.3) + specifier: 7.0.164 + version: 7.0.164(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 @@ -134,10 +134,10 @@ importers: version: 1.38.4 '@vercel/connect': specifier: 2.5.6 - version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.163(zod@4.4.3))(eve@0.91.0) + version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.164(zod@4.4.3))(eve@0.91.0) ai: - specifier: 7.0.163 - version: 7.0.163(zod@4.4.3) + specifier: 7.0.164 + version: 7.0.164(zod@4.4.3) class-variance-authority: specifier: 0.7.1 version: 0.7.1 @@ -149,7 +149,7 @@ importers: version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.163(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) lucide-react: specifier: 1.16.0 version: 1.16.0(react@19.2.6) @@ -216,13 +216,13 @@ importers: version: 1.38.4 '@vercel/connect': specifier: 2.5.6 - version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.163(zod@4.4.3))(eve@0.91.0) + version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.164(zod@4.4.3))(eve@0.91.0) ai: - specifier: 7.0.163 - version: 7.0.163(zod@4.4.3) + specifier: 7.0.164 + version: 7.0.164(zod@4.4.3) eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.163(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) zod: specifier: 4.4.3 version: 4.4.3 @@ -280,23 +280,23 @@ importers: examples/tanstack-ai-demo: dependencies: '@tanstack/ai': - specifier: 1.1.0 - version: 1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3) + specifier: 1.2.0 + version: 1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3) '@tanstack/ai-client': specifier: 1.1.0 version: 1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3) '@tanstack/ai-memory': specifier: 1.1.0 - version: 1.1.0(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 1.1.0(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0)) '@tanstack/ai-openai': - specifier: 1.1.0 - version: 1.1.0(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(undici@8.12.3)(ws@8.21.3)(zod@4.4.3) + specifier: 1.1.1 + version: 1.1.1(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(undici@8.12.3)(ws@8.21.3)(zod@4.4.3) '@tanstack/ai-persistence': specifier: 1.0.1 - version: 1.0.1(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 1.0.1(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0)) '@tanstack/ai-react': specifier: 1.0.2 - version: 1.0.2(@opentelemetry/api@1.9.1)(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3) + version: 1.0.2(@opentelemetry/api@1.9.1)(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3) '@upstash/agentkit-tanstack-ai': specifier: workspace:* version: link:../../packages/tanstack-ai @@ -354,8 +354,8 @@ importers: specifier: ^4.0.17 version: 4.0.17 ai: - specifier: 7.0.163 - version: 7.0.163(zod@4.4.3) + specifier: 7.0.164 + version: 7.0.164(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 @@ -379,14 +379,14 @@ importers: specifier: ^1.38.4 version: 1.38.4 ai: - specifier: 7.0.163 - version: 7.0.163(zod@4.4.3) + specifier: 7.0.164 + version: 7.0.164(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.163(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) packages/eve-extension: dependencies: @@ -405,7 +405,7 @@ importers: version: 24.13.2 eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.163(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) typescript: specifier: 7.0.2 version: 7.0.2 @@ -464,14 +464,14 @@ importers: version: 4.4.3 devDependencies: '@tanstack/ai': - specifier: 1.1.0 - version: 1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3) + specifier: 1.2.0 + version: 1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3) '@tanstack/ai-memory': specifier: 1.1.0 - version: 1.1.0(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 1.1.0(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0)) '@tanstack/ai-persistence': specifier: 1.0.1 - version: 1.0.1(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 1.0.1(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0)) '@upstash/blob': specifier: 0.0.7 version: 0.0.7(react@19.2.6) @@ -495,6 +495,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/gateway@4.0.137': + resolution: {integrity: sha512-AYAoZmMGEGOWnMpBvEYc3lONumD3WZIc3GqTv2Q2QLHXr7BY1JVwCbm6ZA3dd8tT1xx5eSJSBbYfZZ3xSRfskQ==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/mcp@2.0.91': resolution: {integrity: sha512-N6+vu+RoKklEjuGiExe3ePpgGSsErzylScFEVcL6PblzALuVlzlGTNU7VFhZrn2UJ173+rL6Zm2bJ0zSmvjO9Q==} engines: {node: '>=22'} @@ -2522,10 +2528,10 @@ packages: vitest: optional: true - '@tanstack/ai-openai@1.1.0': - resolution: {integrity: sha512-/tw8NknWaVq6q90RhfQKXYA7BRKo1PL3n63gbxvjcFf8MteY1bKfz5XxzrjFrUcSAQv9dIZwVM3Pu7tsjcHprw==} + '@tanstack/ai-openai@1.1.1': + resolution: {integrity: sha512-IzieUf8FmAaZOVV4ADM3PrL0W7GQ+SPB1BOLHU/EG+cVGcg+KuunlflNrjJJB7pcvJTZUoOhgBn2ljn8NH4mdw==} peerDependencies: - '@tanstack/ai': ^1.1.0 + '@tanstack/ai': ^1.2.0 '@tanstack/ai-persistence@1.0.1': resolution: {integrity: sha512-nsQ6kHRyN/tN41Ccxxk6LRsmru9YnoE9aM3G9X888iBtYK0znh7bBGCMHGDc+dt5GAeHVKq7GLqW7wt92c0U4A==} @@ -2553,6 +2559,9 @@ packages: '@tanstack/ai-utils@1.0.1': resolution: {integrity: sha512-NIoMOCB+fVIYbaSOhZWkEgwM8yhZFDtFSzicIxsE3SiDKFVPgPR+kLAqTr0uU/KnXQcsZuHn5GVNxDj9bHAdWg==} + '@tanstack/ai-utils@1.1.0': + resolution: {integrity: sha512-li47v/794azVLourgteS/+jjH/ZF+cIp/3RMVA1VybtKAFiMy3ZGxREU10OzfUghMzYLdfpK2l6ahvlWxNVHug==} + '@tanstack/ai@1.1.0': resolution: {integrity: sha512-mtG1tEiXUpFXwN4nDszjw2vSHR+UgdsKCtd0XSloZcqdnZcxwAPMiVgzZ3HsaqG1PotvRBn+awVS8HvhrWhglg==} engines: {node: '>=18'} @@ -2562,6 +2571,15 @@ packages: '@opentelemetry/api': optional: true + '@tanstack/ai@1.2.0': + resolution: {integrity: sha512-N4v2HfkJgwNxkVNcYHVbjuJM4jJhb/y6ifNhUIqoGw6oa/nZjuTnGSCer9ldr9DIMQVrAizc8ocM3FBmszItSw==} + engines: {node: '>=18'} + peerDependencies: + '@opentelemetry/api': '>=1.9.0' + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@tanstack/devtools-event-client@0.4.4': resolution: {integrity: sha512-6T5Yop/793YI+H+5J8Hsyj4kCih9sl4t3ElLgKioW5hk3ocn+ZdSJ94tT7vL7uabxSugWYBZlOTMPzEw2puvQw==} engines: {node: '>=18'} @@ -2578,10 +2596,10 @@ packages: react: optional: true - '@tanstack/openai-base@1.0.1': - resolution: {integrity: sha512-Qej1b/9VG3B/vrXkSEgRrxSFnaPYwQHuW8wxvfaLKwSme7KuIkHadtn4YrX5Jt5uaZYT1icnJqEe0rfsFIv7pQ==} + '@tanstack/openai-base@1.0.2': + resolution: {integrity: sha512-rykBjNg8C4rSfI+JDHwKnqt+SzupuxZlXPHBJD8pY2fO+0Cbbb8BsMVNECoW5EIPxEbfoNaSwTFcUvWjDsN+vA==} peerDependencies: - '@tanstack/ai': ^1.1.0 + '@tanstack/ai': ^1.2.0 '@tanstack/store@0.11.2': resolution: {integrity: sha512-sJ4mjol8uQsHV0gOJzzjwXfh2Fwm+Sz0+8deqiTm4jGbMdjzNSW+xZCFm0kUa870uhd8yi+DpKnZb5Kc4apa0Q==} @@ -3084,6 +3102,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 + ai@7.0.164: + resolution: {integrity: sha512-wZxQnJ53WntJ334Q/UuCIXmhnZ3X0+NcU3706VGSYAeW0lbEIJd9pOKCoRHN7HZTzyOyrl5o38BEgE+0duVwuw==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + ajv@6.15.0: resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} @@ -5281,6 +5305,13 @@ snapshots: '@vercel/oidc': 3.2.0 zod: 4.4.3 + '@ai-sdk/gateway@4.0.137(zod@4.4.3)': + dependencies: + '@ai-sdk/provider': 4.0.36 + '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) + '@vercel/oidc': 3.2.0 + zod: 4.4.3 + '@ai-sdk/mcp@2.0.91(zod@4.4.3)': dependencies: '@ai-sdk/provider': 4.0.36 @@ -7111,18 +7142,18 @@ snapshots: dependencies: '@tanstack/devtools-event-client': 0.4.4 - '@tanstack/ai-memory@1.1.0(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0))': + '@tanstack/ai-memory@1.1.0(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0))': dependencies: - '@tanstack/ai': 1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3) + '@tanstack/ai': 1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3) '@tanstack/ai-event-client': 1.0.1 optionalDependencies: vitest: 2.1.9(@types/node@20.19.43)(lightningcss@1.32.0) - '@tanstack/ai-openai@1.1.0(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(undici@8.12.3)(ws@8.21.3)(zod@4.4.3)': + '@tanstack/ai-openai@1.1.1(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(undici@8.12.3)(ws@8.21.3)(zod@4.4.3)': dependencies: - '@tanstack/ai': 1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3) - '@tanstack/ai-utils': 1.0.1 - '@tanstack/openai-base': 1.0.1(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(undici@8.12.3)(ws@8.21.3)(zod@4.4.3) + '@tanstack/ai': 1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3) + '@tanstack/ai-utils': 1.1.0 + '@tanstack/openai-base': 1.0.2(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(undici@8.12.3)(ws@8.21.3)(zod@4.4.3) openai: 7.42.0(undici@8.12.3)(ws@8.21.3)(zod@4.4.3) transitivePeerDependencies: - '@aws-sdk/credential-provider-node' @@ -7133,16 +7164,16 @@ snapshots: - ws - zod - '@tanstack/ai-persistence@1.0.1(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0))': + '@tanstack/ai-persistence@1.0.1(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0))': dependencies: - '@tanstack/ai': 1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3) + '@tanstack/ai': 1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3) '@tanstack/ai-utils': 1.0.1 optionalDependencies: vitest: 2.1.9(@types/node@20.19.43)(lightningcss@1.32.0) - '@tanstack/ai-react@1.0.2(@opentelemetry/api@1.9.1)(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3)': + '@tanstack/ai-react@1.0.2(@opentelemetry/api@1.9.1)(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3)': dependencies: - '@tanstack/ai': 1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3) + '@tanstack/ai': 1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3) '@tanstack/ai-client': 1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3) '@tanstack/markdown': 0.0.13(react@19.2.6) '@types/react': 19.2.15 @@ -7156,6 +7187,8 @@ snapshots: '@tanstack/ai-utils@1.0.1': {} + '@tanstack/ai-utils@1.1.0': {} + '@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3)': dependencies: '@ag-ui/core': 1.0.0(zod@4.4.3) @@ -7170,16 +7203,30 @@ snapshots: transitivePeerDependencies: - zod + '@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3)': + dependencies: + '@ag-ui/core': 1.0.0(zod@4.4.3) + '@cfworker/json-schema': 4.1.1 + '@standard-schema/spec': 1.1.0 + '@tanstack/ai-event-client': 1.0.1 + '@tanstack/ai-utils': 1.1.0 + fast-json-patch: 3.1.1 + partial-json: 0.1.7 + optionalDependencies: + '@opentelemetry/api': 1.9.1 + transitivePeerDependencies: + - zod + '@tanstack/devtools-event-client@0.4.4': {} '@tanstack/markdown@0.0.13(react@19.2.6)': optionalDependencies: react: 19.2.6 - '@tanstack/openai-base@1.0.1(@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(undici@8.12.3)(ws@8.21.3)(zod@4.4.3)': + '@tanstack/openai-base@1.0.2(@tanstack/ai@1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(undici@8.12.3)(ws@8.21.3)(zod@4.4.3)': dependencies: - '@tanstack/ai': 1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3) - '@tanstack/ai-utils': 1.0.1 + '@tanstack/ai': 1.2.0(@opentelemetry/api@1.9.1)(zod@4.4.3) + '@tanstack/ai-utils': 1.1.0 openai: 7.42.0(undici@8.12.3)(ws@8.21.3)(zod@4.4.3) transitivePeerDependencies: - '@aws-sdk/credential-provider-node' @@ -7583,13 +7630,13 @@ snapshots: dependencies: execa: 5.1.1 - '@vercel/connect@2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.163(zod@4.4.3))(eve@0.91.0)': + '@vercel/connect@2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.164(zod@4.4.3))(eve@0.91.0)': dependencies: '@vercel/oidc': 4.0.4 optionalDependencies: '@ai-sdk/mcp': 2.0.91(zod@4.4.3) - ai: 7.0.163(zod@4.4.3) - eve: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.163(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + ai: 7.0.164(zod@4.4.3) + eve: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) '@vercel/oidc@3.2.0': {} @@ -7654,6 +7701,13 @@ snapshots: '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) zod: 4.4.3 + ai@7.0.164(zod@4.4.3): + dependencies: + '@ai-sdk/gateway': 4.0.137(zod@4.4.3) + '@ai-sdk/provider': 4.0.36 + '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) + zod: 4.4.3 + ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 @@ -8202,14 +8256,14 @@ snapshots: esutils@2.0.3: {} - eve@0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.163(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)): + eve@0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)): dependencies: - ai: 7.0.163(zod@4.4.3) + ai: 7.0.164(zod@4.4.3) nitro: 3.0.260903-beta undici: 8.12.3 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@vercel/connect': 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.163(zod@4.4.3))(eve@0.91.0) + '@vercel/connect': 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.164(zod@4.4.3))(eve@0.91.0) next: 16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) react: 19.2.6 vite: 5.4.21(@types/node@20.19.43)(lightningcss@1.32.0) From 06442b90d0a1363976fe78384c4e3d006841f1d6 Mon Sep 17 00:00:00 2001 From: Upstash Box Date: Sun, 8 Nov 2026 08:58:12 +0000 Subject: [PATCH 2/4] chore: bump ai to 7.0.165 Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01CMK4eugtK9LfV2qGt1w6ox --- CLAUDE.md | 2 +- examples/ai-sdk-demo/package.json | 2 +- examples/eve-demo/package.json | 2 +- examples/eve-extension-demo/package.json | 2 +- packages/ai-sdk/package.json | 2 +- packages/eve/package.json | 2 +- pnpm-lock.yaml | 89 +++++++++++++++--------- 7 files changed, 62 insertions(+), 39 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 74e2e5d..286b717 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1708,7 +1708,7 @@ find node_modules -path "*/zod/package.json" | while read f; do echo "$f $(node need_tools/replay loop), Redis `SandboxInstanceStore`/`SandboxCheckpointStore` (+ Upstash Blob `BlobStore`), QStash-backed background runs writing to `upstashStream`, and a QStash schedule for `reapDetachedRuns`. -- **ai 7.0.164 + @tanstack/ai 1.2.0 + @tanstack/ai-openai 1.1.1 (2026-11-07):** devDependency/example pins only (no published-content change, no changeset); eve stays on 0.91.0 (no stable release since; `1.0.0-rc.6` still not adopted — published `@upstash/agentkit-eve-extension@0.19.0` / `@upstash/agentkit-eve@0.19.0` build clean on it). Published tanstack-ai 0.3.0 installs/typechecks/imports against `@tanstack/ai@1.2.0`; `skipLibCheck:false` under `moduleResolution: nodenext` errors inside `@tanstack/ai`'s own `spawn.d.ts` (`Cannot find module '../../..'`), identical on 1.1.0 — upstream, not ours (bundler resolution is clean). Verification on a throwaway free Redis (max 1 search index) cannot cover Redis-Search suites. +- **ai 7.0.165 + @tanstack/ai 1.2.0 + @tanstack/ai-openai 1.1.1 (2026-11-07):** devDependency/example pins only (no published-content change, no changeset); eve stays on 0.91.0 (no stable release since; `1.0.0-rc.6` still not adopted — published `@upstash/agentkit-eve-extension@0.19.0` / `@upstash/agentkit-eve@0.19.0` build clean on it). Published tanstack-ai 0.3.0 installs/typechecks/imports against `@tanstack/ai@1.2.0`; `skipLibCheck:false` under `moduleResolution: nodenext` errors inside `@tanstack/ai`'s own `spawn.d.ts` (`Cannot find module '../../..'`), identical on 1.1.0 — upstream, not ours (bundler resolution is clean). Verification on a throwaway free Redis (max 1 search index) cannot cover Redis-Search suites. - **ai 7.0.163 (2026-11-05):** pins bumped from 7.0.159 (no code change); `examples/ai-sdk-demo`'s `@ai-sdk/react` raised to `^4.0.167` because 4.0.160 depends on an *exact* `ai@7.0.156`, which split the `UIMessage` type from the demo's `ai@7.0.163` and failed `next build` (`SteeringMessageUIPart`). Re-checked 2026-11-05: published `@upstash/agentkit-eve-extension@0.19.0` / `@upstash/agentkit-eve@0.19.0` build clean on `eve@1.0.0-rc.5` (the 0.91.0 build stays); TanStack AI 1.x (ai 1.1.0, ai-persistence 1.0.1, ai-memory 1.1.0) still not adopted (same `threadId`/`blobKey` test-file errors). - **TanStack AI 1.x applied (2026-11-05):** `@tanstack/ai` 1.1.0, `ai-persistence` 1.0.1, `ai-memory` 1.1.0 (devDeps, exact) and the tanstack-ai-demo's `ai-client` 1.1.0 / `ai-react` 1.0.2 / `ai-openai` 1.1.0. `src` needed no change; only tests did: `chat()` calls pass `threadId` (`middleware.test.ts`, `search-tools.test.ts`) and `ArtifactRecord` fixtures carry `blobKey` (`persistence.test.ts`). The peer floors (`>=0.65.0` / `>=0.8.0` / `>=0.2.8`) are untouched: the source is unchanged and still works on 0.x, and published `@upstash/agentkit-tanstack-ai@0.2.0` imports on 1.x, so no changeset. Upstream `@tanstack/ai@1.1.0`'s `spawn.d.ts` still has the broken `import('../../..')` (TS2307 with `skipLibCheck: false`). The 1.0 contracts `SessionIndexStore` and `CredentialStore` are implemented in the follow-up below. - **TanStack AI 1.0 contracts implemented (2026-11-05, `@upstash/agentkit-tanstack-ai` minor):** `stores.log` (`persistence/log-store.ts`, see below), `stores.sessions` (`SessionIndexStore`, `persistence/sessions.ts`) and `./byok` (`upstashCredentials`, `byok/credentials.ts`, `CredentialStore`). **Peer floors raised to `@tanstack/ai >=1.0.0` and `@tanstack/ai-persistence >=1.0.0`** (verified by packing 0.71.0/0.10.1: neither has `SessionIndexStore` / `@tanstack/ai/byok`; `ai-memory` floor untouched). Sessions: doc `{r,e}` per `(tenant, thread)` + one ZSET per tenant (score `updatedAt`, member `~` so the client never JSON-parses a numeric-looking id); `list` walks the ZSET in batches of whole score groups and re-reads a tie group in full so the `threadId` UTF-8 order is exact, filtering after loading; `ZRANGE BYSCORE REV` takes `(max, min)` (cast through `number`, the SDK types forbid `(`-exclusive strings). Revisions come from an `INCR` counter, never reused (the credential contract requires that; sessions may reuse). Passes the 19 `sessions` cases of `runPersistenceConformance` (they run only when the store is present). Credentials: one hash per owner (`%none` segment = undefined tenant/user, distinct from `""`), value `{r,t,x?,c | iv,ct}` with type/expiry in the clear so `list` never decrypts; optional AES-256-GCM `encryptionKey`, AAD = owner key + id (a copied ciphertext does not decrypt). `storedProviderKeys` lives in `@tanstack/ai/byok/server`, not `/byok`. **`stores.log` (`LogStore`):** per log a meta hash (head, first, epoch, owner, harness, exp, rel, wake, aff, del, laneH, oseq), a records ZSET (score seq, member `:`), snapshot string (`seq` must stay the first JSON key: `truncate` reads it with a Lua pattern), offers hash + info hash + pending ZSET, and a tick counter; shared `logDue` ZSET (when each log needs an owner) and `logHosts` hash. Every op is one Lua script over the same nine declared keys; the store clock is Redis `TIME` inside the script; numbers written from Lua go through `%.0f` (plain `tostring` prints epoch ms in scientific notation); ids returned from Lua are `~`-prefixed because the client JSON-parses numeric-looking strings (`"007"` -> 7). `subscribe` = immediate local callback + a `reported` and an `observed` tick per log so each counter value is reported once (a baseline read that already contains a local write must not mark it reported: that swallowed the notification), plus a 250 ms tick poll for other machines (non-overlapping; the first successful read is the baseline, so a failed first read is retried instead of silencing the subscription). `changed()` skips a counter the poll already reported (deterministic repro in tests: delay the append reply with a Proxy), which fixed a double notification (a poll can see the tick before the write reply arrives; it failed the `calls a listener after each append` conformance case in CI). The baseline read is still async, so a write by another machine landing in the first round trip after `subscribe` can go unreported (listeners are wake-ups, hosts reconcile with `read`). `append` rejects more than 10,000 records (a 50,000-record batch outran the Lua time limit and left part of the writes). Known follow-ups: `listLogsWithoutOwner` re-checks entries skipped by `harnesses` / a live pin on every call; consumed offers, old hosts and `deleteLog` tombstones are never cleaned up; `read` / `listOfferedInputs` without a limit return everything. Conformance needs the `twin` option (a second store set on the same keyspace) for the 4 `log across instances` cases; all 56 log cases and 19 sessions cases pass. Not implemented: `ownership` TTL-based cleanup of finished logs (logs and their keys live until `deleteLog`). diff --git a/examples/ai-sdk-demo/package.json b/examples/ai-sdk-demo/package.json index a58de52..be9a561 100644 --- a/examples/ai-sdk-demo/package.json +++ b/examples/ai-sdk-demo/package.json @@ -13,7 +13,7 @@ "@upstash/agentkit-ai-sdk": "workspace:*", "@upstash/agentkit-sdk": "workspace:*", "@upstash/redis": "^1.38.4", - "ai": "7.0.164", + "ai": "7.0.165", "dotenv": "^16.4.5", "next": "16.2.9", "react": "19.2.6", diff --git a/examples/eve-demo/package.json b/examples/eve-demo/package.json index 9a48f4a..2649f77 100644 --- a/examples/eve-demo/package.json +++ b/examples/eve-demo/package.json @@ -28,7 +28,7 @@ "@upstash/box": "^0.7.5", "@upstash/redis": "^1.38.4", "@vercel/connect": "2.5.6", - "ai": "7.0.164", + "ai": "7.0.165", "class-variance-authority": "0.7.1", "clsx": "2.1.1", "cmdk": "1.1.1", diff --git a/examples/eve-extension-demo/package.json b/examples/eve-extension-demo/package.json index 84d2632..6c688da 100644 --- a/examples/eve-extension-demo/package.json +++ b/examples/eve-extension-demo/package.json @@ -18,7 +18,7 @@ "@upstash/agentkit-eve-extension": "workspace:*", "@upstash/redis": "^1.38.4", "@vercel/connect": "2.5.6", - "ai": "7.0.164", + "ai": "7.0.165", "eve": "^0.91.0", "zod": "4.4.3" }, diff --git a/packages/ai-sdk/package.json b/packages/ai-sdk/package.json index 5df740b..58cccfe 100644 --- a/packages/ai-sdk/package.json +++ b/packages/ai-sdk/package.json @@ -53,7 +53,7 @@ "@ai-sdk/openai": "^4.0.71", "@ai-sdk/provider": "^4.0.17", "@upstash/redis": "^1.38.4", - "ai": "7.0.164", + "ai": "7.0.165", "dotenv": "^16.4.5" }, "peerDependencies": { diff --git a/packages/eve/package.json b/packages/eve/package.json index 8ea9fd7..56d0987 100644 --- a/packages/eve/package.json +++ b/packages/eve/package.json @@ -60,7 +60,7 @@ "devDependencies": { "@upstash/box": "^0.7.5", "@upstash/redis": "^1.38.4", - "ai": "7.0.164", + "ai": "7.0.165", "dotenv": "^16.4.5", "eve": "^0.91.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a119f9..c8c198e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -60,8 +60,8 @@ importers: specifier: ^1.38.4 version: 1.38.4 ai: - specifier: 7.0.164 - version: 7.0.164(zod@4.4.3) + specifier: 7.0.165 + version: 7.0.165(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 @@ -134,10 +134,10 @@ importers: version: 1.38.4 '@vercel/connect': specifier: 2.5.6 - version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.164(zod@4.4.3))(eve@0.91.0) + version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.165(zod@4.4.3))(eve@0.91.0) ai: - specifier: 7.0.164 - version: 7.0.164(zod@4.4.3) + specifier: 7.0.165 + version: 7.0.165(zod@4.4.3) class-variance-authority: specifier: 0.7.1 version: 0.7.1 @@ -149,7 +149,7 @@ importers: version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) lucide-react: specifier: 1.16.0 version: 1.16.0(react@19.2.6) @@ -216,13 +216,13 @@ importers: version: 1.38.4 '@vercel/connect': specifier: 2.5.6 - version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.164(zod@4.4.3))(eve@0.91.0) + version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.165(zod@4.4.3))(eve@0.91.0) ai: - specifier: 7.0.164 - version: 7.0.164(zod@4.4.3) + specifier: 7.0.165 + version: 7.0.165(zod@4.4.3) eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) zod: specifier: 4.4.3 version: 4.4.3 @@ -354,8 +354,8 @@ importers: specifier: ^4.0.17 version: 4.0.17 ai: - specifier: 7.0.164 - version: 7.0.164(zod@4.4.3) + specifier: 7.0.165 + version: 7.0.165(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 @@ -379,14 +379,14 @@ importers: specifier: ^1.38.4 version: 1.38.4 ai: - specifier: 7.0.164 - version: 7.0.164(zod@4.4.3) + specifier: 7.0.165 + version: 7.0.165(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) packages/eve-extension: dependencies: @@ -405,7 +405,7 @@ importers: version: 24.13.2 eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) typescript: specifier: 7.0.2 version: 7.0.2 @@ -495,8 +495,8 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@4.0.137': - resolution: {integrity: sha512-AYAoZmMGEGOWnMpBvEYc3lONumD3WZIc3GqTv2Q2QLHXr7BY1JVwCbm6ZA3dd8tT1xx5eSJSBbYfZZ3xSRfskQ==} + '@ai-sdk/gateway@4.0.138': + resolution: {integrity: sha512-7a/LGqioUyU2CmjRjMwnX4WR5V4vP3+YdPZEAbh7CH9OXf1GcPSsiySsHxNbqiDlDnL+KdqPvWeipIR7u/VFHA==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -525,6 +525,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/provider-utils@5.0.76': + resolution: {integrity: sha512-76QcCmVtSunSAbQBJtgQTTE8e+Yaz4rJJe1MRWnJ3GAQYUvNPHJejKx4jZTbhGGTdSSLaYcMBT62SISNgnGq9w==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/provider@4.0.17': resolution: {integrity: sha512-VYMBxIQdcHqbIf1j+YZlI9Ati6LZ4wJe0GGd4z4a5H/KxTggjeOiyaVYTnfF7LHZK5jMQ+rofmzz4QPqf++NUw==} engines: {node: '>=22'} @@ -533,6 +539,10 @@ packages: resolution: {integrity: sha512-GqvWZSZdBelCGughlBdOoupT258rgM3YMbaLAS9WSZJ0vlt8c9vm3My+ZT31mYhiReMCMCF2qF2axnGbILpk1A==} engines: {node: '>=22'} + '@ai-sdk/provider@4.0.37': + resolution: {integrity: sha512-4uPgZ3qiX/JaQFr0dQoibUzHImZit9u05ro2BxGUnJwU4fV28BOAbKUa2OjQvqtM1tMac3bTKkaXdyzGovQXqg==} + engines: {node: '>=22'} + '@ai-sdk/react@4.0.167': resolution: {integrity: sha512-MHS+hPVR4HOKBgO9aKZ3znQW7WpOvoCJ4vK7QCFkL8prJQgHzwWPkOMGd0MLawcDvqC0r6eMMuZfVoLWh/sMFA==} engines: {node: '>=22'} @@ -3102,8 +3112,8 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 - ai@7.0.164: - resolution: {integrity: sha512-wZxQnJ53WntJ334Q/UuCIXmhnZ3X0+NcU3706VGSYAeW0lbEIJd9pOKCoRHN7HZTzyOyrl5o38BEgE+0duVwuw==} + ai@7.0.165: + resolution: {integrity: sha512-cEeORsLF+9+fNzvo4nQo9hxgQoEfupjc9Xmq6OM2NGUwQQQdkHxByBdFoqnNfBE0H+qwhGQaZejvbCFFD84tBA==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -5305,10 +5315,10 @@ snapshots: '@vercel/oidc': 3.2.0 zod: 4.4.3 - '@ai-sdk/gateway@4.0.137(zod@4.4.3)': + '@ai-sdk/gateway@4.0.138(zod@4.4.3)': dependencies: - '@ai-sdk/provider': 4.0.36 - '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) + '@ai-sdk/provider': 4.0.37 + '@ai-sdk/provider-utils': 5.0.76(zod@4.4.3) '@vercel/oidc': 3.2.0 zod: 4.4.3 @@ -5344,6 +5354,15 @@ snapshots: undici: 7.29.1 zod: 4.4.3 + '@ai-sdk/provider-utils@5.0.76(zod@4.4.3)': + dependencies: + '@ai-sdk/provider': 4.0.37 + '@standard-schema/spec': 1.1.0 + '@workflow/serde': 4.1.0 + eventsource-parser: 3.1.1 + undici: 7.29.1 + zod: 4.4.3 + '@ai-sdk/provider@4.0.17': dependencies: json-schema: 0.4.0 @@ -5352,6 +5371,10 @@ snapshots: dependencies: json-schema: 0.4.0 + '@ai-sdk/provider@4.0.37': + dependencies: + json-schema: 0.4.0 + '@ai-sdk/react@4.0.167(react@19.2.6)(zod@4.4.3)': dependencies: '@ai-sdk/mcp': 2.0.91(zod@4.4.3) @@ -7630,13 +7653,13 @@ snapshots: dependencies: execa: 5.1.1 - '@vercel/connect@2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.164(zod@4.4.3))(eve@0.91.0)': + '@vercel/connect@2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.165(zod@4.4.3))(eve@0.91.0)': dependencies: '@vercel/oidc': 4.0.4 optionalDependencies: '@ai-sdk/mcp': 2.0.91(zod@4.4.3) - ai: 7.0.164(zod@4.4.3) - eve: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + ai: 7.0.165(zod@4.4.3) + eve: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) '@vercel/oidc@3.2.0': {} @@ -7701,11 +7724,11 @@ snapshots: '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) zod: 4.4.3 - ai@7.0.164(zod@4.4.3): + ai@7.0.165(zod@4.4.3): dependencies: - '@ai-sdk/gateway': 4.0.137(zod@4.4.3) - '@ai-sdk/provider': 4.0.36 - '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) + '@ai-sdk/gateway': 4.0.138(zod@4.4.3) + '@ai-sdk/provider': 4.0.37 + '@ai-sdk/provider-utils': 5.0.76(zod@4.4.3) zod: 4.4.3 ajv@6.15.0: @@ -8256,14 +8279,14 @@ snapshots: esutils@2.0.3: {} - eve@0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.164(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)): + eve@0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)): dependencies: - ai: 7.0.164(zod@4.4.3) + ai: 7.0.165(zod@4.4.3) nitro: 3.0.260903-beta undici: 8.12.3 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@vercel/connect': 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.164(zod@4.4.3))(eve@0.91.0) + '@vercel/connect': 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.165(zod@4.4.3))(eve@0.91.0) next: 16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) react: 19.2.6 vite: 5.4.21(@types/node@20.19.43)(lightningcss@1.32.0) From 4b890d3d692655b37f98748e25ddc190cdf40a2c Mon Sep 17 00:00:00 2001 From: Upstash Box Date: Mon, 9 Nov 2026 08:56:00 +0000 Subject: [PATCH 3/4] chore: bump ai to 7.0.166 Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01CMK4etHc4YNi4cRq4QrvMG --- CLAUDE.md | 2 +- examples/ai-sdk-demo/package.json | 6 +- examples/eve-demo/package.json | 4 +- examples/eve-extension-demo/package.json | 4 +- packages/ai-sdk/package.json | 6 +- packages/eve/package.json | 2 +- pnpm-lock.yaml | 198 ++++++++--------------- 7 files changed, 75 insertions(+), 147 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 286b717..c3a8271 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1708,7 +1708,7 @@ find node_modules -path "*/zod/package.json" | while read f; do echo "$f $(node need_tools/replay loop), Redis `SandboxInstanceStore`/`SandboxCheckpointStore` (+ Upstash Blob `BlobStore`), QStash-backed background runs writing to `upstashStream`, and a QStash schedule for `reapDetachedRuns`. -- **ai 7.0.165 + @tanstack/ai 1.2.0 + @tanstack/ai-openai 1.1.1 (2026-11-07):** devDependency/example pins only (no published-content change, no changeset); eve stays on 0.91.0 (no stable release since; `1.0.0-rc.6` still not adopted — published `@upstash/agentkit-eve-extension@0.19.0` / `@upstash/agentkit-eve@0.19.0` build clean on it). Published tanstack-ai 0.3.0 installs/typechecks/imports against `@tanstack/ai@1.2.0`; `skipLibCheck:false` under `moduleResolution: nodenext` errors inside `@tanstack/ai`'s own `spawn.d.ts` (`Cannot find module '../../..'`), identical on 1.1.0 — upstream, not ours (bundler resolution is clean). Verification on a throwaway free Redis (max 1 search index) cannot cover Redis-Search suites. +- **ai 7.0.166 + @tanstack/ai 1.2.0 + @tanstack/ai-openai 1.1.1 (2026-11-07, ai re-bumped to 7.0.166 on 2026-11-09):** devDependency/example pins only (no published-content change, no changeset); eve stays on 0.91.0 (no stable release since; `1.0.0-rc.6` still not adopted — published `@upstash/agentkit-eve-extension@0.19.0` / `@upstash/agentkit-eve@0.19.0` build clean on it). Published tanstack-ai 0.3.0 installs/typechecks/imports against `@tanstack/ai@1.2.0`; `skipLibCheck:false` under `moduleResolution: nodenext` errors inside `@tanstack/ai`'s own `spawn.d.ts` (`Cannot find module '../../..'`), identical on 1.1.0 — upstream, not ours (bundler resolution is clean). Verification on a throwaway free Redis (max 1 search index) cannot cover Redis-Search suites. - **ai 7.0.163 (2026-11-05):** pins bumped from 7.0.159 (no code change); `examples/ai-sdk-demo`'s `@ai-sdk/react` raised to `^4.0.167` because 4.0.160 depends on an *exact* `ai@7.0.156`, which split the `UIMessage` type from the demo's `ai@7.0.163` and failed `next build` (`SteeringMessageUIPart`). Re-checked 2026-11-05: published `@upstash/agentkit-eve-extension@0.19.0` / `@upstash/agentkit-eve@0.19.0` build clean on `eve@1.0.0-rc.5` (the 0.91.0 build stays); TanStack AI 1.x (ai 1.1.0, ai-persistence 1.0.1, ai-memory 1.1.0) still not adopted (same `threadId`/`blobKey` test-file errors). - **TanStack AI 1.x applied (2026-11-05):** `@tanstack/ai` 1.1.0, `ai-persistence` 1.0.1, `ai-memory` 1.1.0 (devDeps, exact) and the tanstack-ai-demo's `ai-client` 1.1.0 / `ai-react` 1.0.2 / `ai-openai` 1.1.0. `src` needed no change; only tests did: `chat()` calls pass `threadId` (`middleware.test.ts`, `search-tools.test.ts`) and `ArtifactRecord` fixtures carry `blobKey` (`persistence.test.ts`). The peer floors (`>=0.65.0` / `>=0.8.0` / `>=0.2.8`) are untouched: the source is unchanged and still works on 0.x, and published `@upstash/agentkit-tanstack-ai@0.2.0` imports on 1.x, so no changeset. Upstream `@tanstack/ai@1.1.0`'s `spawn.d.ts` still has the broken `import('../../..')` (TS2307 with `skipLibCheck: false`). The 1.0 contracts `SessionIndexStore` and `CredentialStore` are implemented in the follow-up below. - **TanStack AI 1.0 contracts implemented (2026-11-05, `@upstash/agentkit-tanstack-ai` minor):** `stores.log` (`persistence/log-store.ts`, see below), `stores.sessions` (`SessionIndexStore`, `persistence/sessions.ts`) and `./byok` (`upstashCredentials`, `byok/credentials.ts`, `CredentialStore`). **Peer floors raised to `@tanstack/ai >=1.0.0` and `@tanstack/ai-persistence >=1.0.0`** (verified by packing 0.71.0/0.10.1: neither has `SessionIndexStore` / `@tanstack/ai/byok`; `ai-memory` floor untouched). Sessions: doc `{r,e}` per `(tenant, thread)` + one ZSET per tenant (score `updatedAt`, member `~` so the client never JSON-parses a numeric-looking id); `list` walks the ZSET in batches of whole score groups and re-reads a tie group in full so the `threadId` UTF-8 order is exact, filtering after loading; `ZRANGE BYSCORE REV` takes `(max, min)` (cast through `number`, the SDK types forbid `(`-exclusive strings). Revisions come from an `INCR` counter, never reused (the credential contract requires that; sessions may reuse). Passes the 19 `sessions` cases of `runPersistenceConformance` (they run only when the store is present). Credentials: one hash per owner (`%none` segment = undefined tenant/user, distinct from `""`), value `{r,t,x?,c | iv,ct}` with type/expiry in the clear so `list` never decrypts; optional AES-256-GCM `encryptionKey`, AAD = owner key + id (a copied ciphertext does not decrypt). `storedProviderKeys` lives in `@tanstack/ai/byok/server`, not `/byok`. **`stores.log` (`LogStore`):** per log a meta hash (head, first, epoch, owner, harness, exp, rel, wake, aff, del, laneH, oseq), a records ZSET (score seq, member `:`), snapshot string (`seq` must stay the first JSON key: `truncate` reads it with a Lua pattern), offers hash + info hash + pending ZSET, and a tick counter; shared `logDue` ZSET (when each log needs an owner) and `logHosts` hash. Every op is one Lua script over the same nine declared keys; the store clock is Redis `TIME` inside the script; numbers written from Lua go through `%.0f` (plain `tostring` prints epoch ms in scientific notation); ids returned from Lua are `~`-prefixed because the client JSON-parses numeric-looking strings (`"007"` -> 7). `subscribe` = immediate local callback + a `reported` and an `observed` tick per log so each counter value is reported once (a baseline read that already contains a local write must not mark it reported: that swallowed the notification), plus a 250 ms tick poll for other machines (non-overlapping; the first successful read is the baseline, so a failed first read is retried instead of silencing the subscription). `changed()` skips a counter the poll already reported (deterministic repro in tests: delay the append reply with a Proxy), which fixed a double notification (a poll can see the tick before the write reply arrives; it failed the `calls a listener after each append` conformance case in CI). The baseline read is still async, so a write by another machine landing in the first round trip after `subscribe` can go unreported (listeners are wake-ups, hosts reconcile with `read`). `append` rejects more than 10,000 records (a 50,000-record batch outran the Lua time limit and left part of the writes). Known follow-ups: `listLogsWithoutOwner` re-checks entries skipped by `harnesses` / a live pin on every call; consumed offers, old hosts and `deleteLog` tombstones are never cleaned up; `read` / `listOfferedInputs` without a limit return everything. Conformance needs the `twin` option (a second store set on the same keyspace) for the 4 `log across instances` cases; all 56 log cases and 19 sessions cases pass. Not implemented: `ownership` TTL-based cleanup of finished logs (logs and their keys live until `deleteLog`). diff --git a/examples/ai-sdk-demo/package.json b/examples/ai-sdk-demo/package.json index be9a561..7a8ba6d 100644 --- a/examples/ai-sdk-demo/package.json +++ b/examples/ai-sdk-demo/package.json @@ -8,12 +8,12 @@ "start": "next start" }, "dependencies": { - "@ai-sdk/openai": "^4.0.71", - "@ai-sdk/react": "^4.0.167", + "@ai-sdk/openai": "^4.0.111", + "@ai-sdk/react": "^4.0.170", "@upstash/agentkit-ai-sdk": "workspace:*", "@upstash/agentkit-sdk": "workspace:*", "@upstash/redis": "^1.38.4", - "ai": "7.0.165", + "ai": "7.0.166", "dotenv": "^16.4.5", "next": "16.2.9", "react": "19.2.6", diff --git a/examples/eve-demo/package.json b/examples/eve-demo/package.json index 2649f77..3f9c7d7 100644 --- a/examples/eve-demo/package.json +++ b/examples/eve-demo/package.json @@ -14,7 +14,7 @@ "typecheck": "tsgo --noEmit -p tsconfig.json" }, "dependencies": { - "@ai-sdk/openai": "^4.0.71", + "@ai-sdk/openai": "^4.0.111", "@radix-ui/react-use-controllable-state": "1.2.2", "@shikijs/core": "4.1.0", "@shikijs/engine-javascript": "4.1.0", @@ -28,7 +28,7 @@ "@upstash/box": "^0.7.5", "@upstash/redis": "^1.38.4", "@vercel/connect": "2.5.6", - "ai": "7.0.165", + "ai": "7.0.166", "class-variance-authority": "0.7.1", "clsx": "2.1.1", "cmdk": "1.1.1", diff --git a/examples/eve-extension-demo/package.json b/examples/eve-extension-demo/package.json index 6c688da..690b485 100644 --- a/examples/eve-extension-demo/package.json +++ b/examples/eve-extension-demo/package.json @@ -14,11 +14,11 @@ "typecheck": "tsc" }, "dependencies": { - "@ai-sdk/openai": "^4.0.71", + "@ai-sdk/openai": "^4.0.111", "@upstash/agentkit-eve-extension": "workspace:*", "@upstash/redis": "^1.38.4", "@vercel/connect": "2.5.6", - "ai": "7.0.165", + "ai": "7.0.166", "eve": "^0.91.0", "zod": "4.4.3" }, diff --git a/packages/ai-sdk/package.json b/packages/ai-sdk/package.json index 58cccfe..ae658de 100644 --- a/packages/ai-sdk/package.json +++ b/packages/ai-sdk/package.json @@ -50,10 +50,10 @@ "zod": "^3.23.8 || ^4" }, "devDependencies": { - "@ai-sdk/openai": "^4.0.71", - "@ai-sdk/provider": "^4.0.17", + "@ai-sdk/openai": "^4.0.111", + "@ai-sdk/provider": "^4.0.37", "@upstash/redis": "^1.38.4", - "ai": "7.0.165", + "ai": "7.0.166", "dotenv": "^16.4.5" }, "peerDependencies": { diff --git a/packages/eve/package.json b/packages/eve/package.json index 56d0987..4c9575d 100644 --- a/packages/eve/package.json +++ b/packages/eve/package.json @@ -60,7 +60,7 @@ "devDependencies": { "@upstash/box": "^0.7.5", "@upstash/redis": "^1.38.4", - "ai": "7.0.165", + "ai": "7.0.166", "dotenv": "^16.4.5", "eve": "^0.91.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c8c198e..9a152d2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,11 +45,11 @@ importers: examples/ai-sdk-demo: dependencies: '@ai-sdk/openai': - specifier: ^4.0.71 - version: 4.0.71(zod@4.4.3) + specifier: ^4.0.111 + version: 4.0.111(zod@4.4.3) '@ai-sdk/react': - specifier: ^4.0.167 - version: 4.0.167(react@19.2.6)(zod@4.4.3) + specifier: ^4.0.170 + version: 4.0.170(react@19.2.6)(zod@4.4.3) '@upstash/agentkit-ai-sdk': specifier: workspace:* version: link:../../packages/ai-sdk @@ -60,8 +60,8 @@ importers: specifier: ^1.38.4 version: 1.38.4 ai: - specifier: 7.0.165 - version: 7.0.165(zod@4.4.3) + specifier: 7.0.166 + version: 7.0.166(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 @@ -94,8 +94,8 @@ importers: examples/eve-demo: dependencies: '@ai-sdk/openai': - specifier: ^4.0.71 - version: 4.0.71(zod@4.4.3) + specifier: ^4.0.111 + version: 4.0.111(zod@4.4.3) '@radix-ui/react-use-controllable-state': specifier: 1.2.2 version: 1.2.2(@types/react@19.2.15)(react@19.2.6) @@ -134,10 +134,10 @@ importers: version: 1.38.4 '@vercel/connect': specifier: 2.5.6 - version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.165(zod@4.4.3))(eve@0.91.0) + version: 2.5.6(@ai-sdk/mcp@2.0.93(zod@4.4.3))(ai@7.0.166(zod@4.4.3))(eve@0.91.0) ai: - specifier: 7.0.165 - version: 7.0.165(zod@4.4.3) + specifier: 7.0.166 + version: 7.0.166(zod@4.4.3) class-variance-authority: specifier: 0.7.1 version: 0.7.1 @@ -149,7 +149,7 @@ importers: version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) lucide-react: specifier: 1.16.0 version: 1.16.0(react@19.2.6) @@ -206,8 +206,8 @@ importers: examples/eve-extension-demo: dependencies: '@ai-sdk/openai': - specifier: ^4.0.71 - version: 4.0.71(zod@4.4.3) + specifier: ^4.0.111 + version: 4.0.111(zod@4.4.3) '@upstash/agentkit-eve-extension': specifier: workspace:* version: link:../../packages/eve-extension @@ -216,13 +216,13 @@ importers: version: 1.38.4 '@vercel/connect': specifier: 2.5.6 - version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.165(zod@4.4.3))(eve@0.91.0) + version: 2.5.6(@ai-sdk/mcp@2.0.93(zod@4.4.3))(ai@7.0.166(zod@4.4.3))(eve@0.91.0) ai: - specifier: 7.0.165 - version: 7.0.165(zod@4.4.3) + specifier: 7.0.166 + version: 7.0.166(zod@4.4.3) eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) zod: specifier: 4.4.3 version: 4.4.3 @@ -348,14 +348,14 @@ importers: version: 4.4.3 devDependencies: '@ai-sdk/openai': - specifier: ^4.0.71 - version: 4.0.71(zod@4.4.3) + specifier: ^4.0.111 + version: 4.0.111(zod@4.4.3) '@ai-sdk/provider': - specifier: ^4.0.17 - version: 4.0.17 + specifier: ^4.0.37 + version: 4.0.37 ai: - specifier: 7.0.165 - version: 7.0.165(zod@4.4.3) + specifier: 7.0.166 + version: 7.0.166(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 @@ -379,14 +379,14 @@ importers: specifier: ^1.38.4 version: 1.38.4 ai: - specifier: 7.0.165 - version: 7.0.165(zod@4.4.3) + specifier: 7.0.166 + version: 7.0.166(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) packages/eve-extension: dependencies: @@ -405,7 +405,7 @@ importers: version: 24.13.2 eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) typescript: specifier: 7.0.2 version: 7.0.2 @@ -489,38 +489,20 @@ packages: zod: optional: true - '@ai-sdk/gateway@4.0.136': - resolution: {integrity: sha512-P851NL80P85Ee6MhblRuuCzNlQdOYU5rKmdt/Wuo5dMtkzvIHhyVZY9wtfKG3wBJUUoxHxWKsI2aR6O75o8diA==} + '@ai-sdk/gateway@4.0.139': + resolution: {integrity: sha512-2YEIPm4n59nm4PBhMGjFWH0g+ztPgfybqoeMIjfJYNiB8zLHftUrONgb8P3Ho3Yy5cdoLCjiDE/Hv2Crol0JBw==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@4.0.138': - resolution: {integrity: sha512-7a/LGqioUyU2CmjRjMwnX4WR5V4vP3+YdPZEAbh7CH9OXf1GcPSsiySsHxNbqiDlDnL+KdqPvWeipIR7u/VFHA==} + '@ai-sdk/mcp@2.0.93': + resolution: {integrity: sha512-Jo9NZNfpDVYUhrq/FkFo+AVQJpoFo8YHOfkgjvY4VxJ00njb3Pu129S6AYcjdcelOZSJ10ASJM6T06/oGslGTw==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/mcp@2.0.91': - resolution: {integrity: sha512-N6+vu+RoKklEjuGiExe3ePpgGSsErzylScFEVcL6PblzALuVlzlGTNU7VFhZrn2UJ173+rL6Zm2bJ0zSmvjO9Q==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/openai@4.0.71': - resolution: {integrity: sha512-w8FuHr1bD/bP/8SIgcaJKUyePE4ke9s7+Ew2ed/9i5mDoFXEfyVUyFX8R0wQ3YfcdMKmTs8ct/f6XJsXsnPVsQ==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider-utils@5.0.45': - resolution: {integrity: sha512-gLuaCups8OCIRz3eO6WWz5op7VLYNNtFzyH0sWUr0FE9v7cTxR0qxDpQdrKnGcql+9WWttobjnZsJVsuEbsPQQ==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider-utils@5.0.75': - resolution: {integrity: sha512-k4yAsFliGZwoTpyTpm3ptxwIeaPvRh5vGh/UWoqDiLLXKoyz4zuBGS7p3ygf8to5Bh4fAOHynotLBsWLIYdu2A==} + '@ai-sdk/openai@4.0.111': + resolution: {integrity: sha512-r6aLB/7MlBlD4c/Ep7oAam7NbEDzShFXAmz68DyFj+JTIPvWR6Il8mPI2yw82kCtxeXLbL48dW+8p/IQANKoWQ==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -531,20 +513,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider@4.0.17': - resolution: {integrity: sha512-VYMBxIQdcHqbIf1j+YZlI9Ati6LZ4wJe0GGd4z4a5H/KxTggjeOiyaVYTnfF7LHZK5jMQ+rofmzz4QPqf++NUw==} - engines: {node: '>=22'} - - '@ai-sdk/provider@4.0.36': - resolution: {integrity: sha512-GqvWZSZdBelCGughlBdOoupT258rgM3YMbaLAS9WSZJ0vlt8c9vm3My+ZT31mYhiReMCMCF2qF2axnGbILpk1A==} - engines: {node: '>=22'} - '@ai-sdk/provider@4.0.37': resolution: {integrity: sha512-4uPgZ3qiX/JaQFr0dQoibUzHImZit9u05ro2BxGUnJwU4fV28BOAbKUa2OjQvqtM1tMac3bTKkaXdyzGovQXqg==} engines: {node: '>=22'} - '@ai-sdk/react@4.0.167': - resolution: {integrity: sha512-MHS+hPVR4HOKBgO9aKZ3znQW7WpOvoCJ4vK7QCFkL8prJQgHzwWPkOMGd0MLawcDvqC0r6eMMuZfVoLWh/sMFA==} + '@ai-sdk/react@4.0.170': + resolution: {integrity: sha512-ghHQDIUVMqVKdfRjejfRl5PJqcCa4z9nm61jZSQuQ3HsQfP3tRONcj5Dbd5RZPWPdv5DQ+OxU+7aNqrDsdjEXg==} engines: {node: '>=22'} peerDependencies: react: ^18 || ~19.0.1 || ~19.1.2 || ^19.2.1 @@ -3106,14 +3080,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - ai@7.0.163: - resolution: {integrity: sha512-nm8+qn36NQXO4Hjfj7SlbcNRhUyNXKtdoS9xhXr/z92lvdGFuPkzHmA2tFzhaUQy13IitNYrcw2QSNpEJC/iSA==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - ai@7.0.165: - resolution: {integrity: sha512-cEeORsLF+9+fNzvo4nQo9hxgQoEfupjc9Xmq6OM2NGUwQQQdkHxByBdFoqnNfBE0H+qwhGQaZejvbCFFD84tBA==} + ai@7.0.166: + resolution: {integrity: sha512-bijt5WsdpQXQLB0SHYEoSuvpZ8KdUxl3Iz843uvHFcGpEBSrxlgwXXadR7EBVOHoByEf2PwgOxutWU5dcdjs9Q==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -5095,8 +5063,8 @@ packages: undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} - undici@7.29.1: - resolution: {integrity: sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q==} + undici@7.30.2: + resolution: {integrity: sha512-mLyPQnHwUxaM/rideoK/+KL8DaAJLRl4aBCfmX444aCSLnIaomqPLtNRe2jdCYcsk5wZzXrDIQC8ZeYNRAYyIA==} engines: {node: '>=20.18.1'} undici@8.12.3: @@ -5308,50 +5276,25 @@ snapshots: optionalDependencies: zod: 4.4.3 - '@ai-sdk/gateway@4.0.136(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 4.0.36 - '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) - '@vercel/oidc': 3.2.0 - zod: 4.4.3 - - '@ai-sdk/gateway@4.0.138(zod@4.4.3)': + '@ai-sdk/gateway@4.0.139(zod@4.4.3)': dependencies: '@ai-sdk/provider': 4.0.37 '@ai-sdk/provider-utils': 5.0.76(zod@4.4.3) '@vercel/oidc': 3.2.0 zod: 4.4.3 - '@ai-sdk/mcp@2.0.91(zod@4.4.3)': + '@ai-sdk/mcp@2.0.93(zod@4.4.3)': dependencies: - '@ai-sdk/provider': 4.0.36 - '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) + '@ai-sdk/provider': 4.0.37 + '@ai-sdk/provider-utils': 5.0.76(zod@4.4.3) cross-spawn: 7.0.6 pkce-challenge: 5.0.1 zod: 4.4.3 - '@ai-sdk/openai@4.0.71(zod@4.4.3)': + '@ai-sdk/openai@4.0.111(zod@4.4.3)': dependencies: - '@ai-sdk/provider': 4.0.17 - '@ai-sdk/provider-utils': 5.0.45(zod@4.4.3) - zod: 4.4.3 - - '@ai-sdk/provider-utils@5.0.45(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 4.0.17 - '@standard-schema/spec': 1.1.0 - '@workflow/serde': 4.1.0 - eventsource-parser: 3.1.1 - undici: 7.29.1 - zod: 4.4.3 - - '@ai-sdk/provider-utils@5.0.75(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 4.0.36 - '@standard-schema/spec': 1.1.0 - '@workflow/serde': 4.1.0 - eventsource-parser: 3.1.1 - undici: 7.29.1 + '@ai-sdk/provider': 4.0.37 + '@ai-sdk/provider-utils': 5.0.76(zod@4.4.3) zod: 4.4.3 '@ai-sdk/provider-utils@5.0.76(zod@4.4.3)': @@ -5360,27 +5303,19 @@ snapshots: '@standard-schema/spec': 1.1.0 '@workflow/serde': 4.1.0 eventsource-parser: 3.1.1 - undici: 7.29.1 + undici: 7.30.2 zod: 4.4.3 - '@ai-sdk/provider@4.0.17': - dependencies: - json-schema: 0.4.0 - - '@ai-sdk/provider@4.0.36': - dependencies: - json-schema: 0.4.0 - '@ai-sdk/provider@4.0.37': dependencies: json-schema: 0.4.0 - '@ai-sdk/react@4.0.167(react@19.2.6)(zod@4.4.3)': + '@ai-sdk/react@4.0.170(react@19.2.6)(zod@4.4.3)': dependencies: - '@ai-sdk/mcp': 2.0.91(zod@4.4.3) - '@ai-sdk/provider': 4.0.36 - '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) - ai: 7.0.163(zod@4.4.3) + '@ai-sdk/mcp': 2.0.93(zod@4.4.3) + '@ai-sdk/provider': 4.0.37 + '@ai-sdk/provider-utils': 5.0.76(zod@4.4.3) + ai: 7.0.166(zod@4.4.3) react: 19.2.6 swr: 2.4.1(react@19.2.6) throttleit: 2.1.0 @@ -7653,13 +7588,13 @@ snapshots: dependencies: execa: 5.1.1 - '@vercel/connect@2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.165(zod@4.4.3))(eve@0.91.0)': + '@vercel/connect@2.5.6(@ai-sdk/mcp@2.0.93(zod@4.4.3))(ai@7.0.166(zod@4.4.3))(eve@0.91.0)': dependencies: '@vercel/oidc': 4.0.4 optionalDependencies: - '@ai-sdk/mcp': 2.0.91(zod@4.4.3) - ai: 7.0.165(zod@4.4.3) - eve: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + '@ai-sdk/mcp': 2.0.93(zod@4.4.3) + ai: 7.0.166(zod@4.4.3) + eve: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) '@vercel/oidc@3.2.0': {} @@ -7717,16 +7652,9 @@ snapshots: acorn@8.17.0: {} - ai@7.0.163(zod@4.4.3): - dependencies: - '@ai-sdk/gateway': 4.0.136(zod@4.4.3) - '@ai-sdk/provider': 4.0.36 - '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) - zod: 4.4.3 - - ai@7.0.165(zod@4.4.3): + ai@7.0.166(zod@4.4.3): dependencies: - '@ai-sdk/gateway': 4.0.138(zod@4.4.3) + '@ai-sdk/gateway': 4.0.139(zod@4.4.3) '@ai-sdk/provider': 4.0.37 '@ai-sdk/provider-utils': 5.0.76(zod@4.4.3) zod: 4.4.3 @@ -8279,14 +8207,14 @@ snapshots: esutils@2.0.3: {} - eve@0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.165(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)): + eve@0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)): dependencies: - ai: 7.0.165(zod@4.4.3) + ai: 7.0.166(zod@4.4.3) nitro: 3.0.260903-beta undici: 8.12.3 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@vercel/connect': 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.165(zod@4.4.3))(eve@0.91.0) + '@vercel/connect': 2.5.6(@ai-sdk/mcp@2.0.93(zod@4.4.3))(ai@7.0.166(zod@4.4.3))(eve@0.91.0) next: 16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) react: 19.2.6 vite: 5.4.21(@types/node@20.19.43)(lightningcss@1.32.0) @@ -10079,7 +10007,7 @@ snapshots: undici-types@7.18.2: {} - undici@7.29.1: {} + undici@7.30.2: {} undici@8.12.3: {} From 3a6f2a76368d65e7d03107a74b2b192959e8d444 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 11 Nov 2026 08:04:50 +0000 Subject: [PATCH 4/4] chore: bump ai 7.0.169, @tanstack/ai 1.4.0, @tanstack/ai-openai 1.1.1 DevDependency and example pins only; @ai-sdk/* ranges refreshed and the lockfile deduped to one ai and one @tanstack/ai copy. eve stays on 0.91.0 (npm latest is 1.0.0-rc.9, not adopted). No published-content change, so no changeset. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01CMK4eu9PjSRN7f2zoTrj7F --- CLAUDE.md | 2 +- examples/ai-sdk-demo/package.json | 6 +- examples/eve-demo/package.json | 4 +- examples/eve-extension-demo/package.json | 4 +- packages/ai-sdk/package.json | 6 +- packages/eve/package.json | 2 +- pnpm-lock.yaml | 242 +++++++---------------- 7 files changed, 83 insertions(+), 183 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index fc4592c..b9cc284 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1709,7 +1709,7 @@ find node_modules -path "*/zod/package.json" | while read f; do echo "$f $(node need_tools/replay loop), Redis `SandboxInstanceStore`/`SandboxCheckpointStore` (+ Upstash Blob `BlobStore`), QStash-backed background runs writing to `upstashStream`, and a QStash schedule for `reapDetachedRuns`. -- **ai 7.0.166 + @tanstack/ai 1.4.0 + @tanstack/ai-openai 1.1.1 (2026-11-10):** devDependency/example pins only (no published-content change, no changeset). eve stays on 0.91.0 (`1.0.0-rc.8` is npm `latest` but RCs are not adopted); published `@upstash/agentkit-eve-extension@0.19.0` / `@upstash/agentkit-eve@0.19.0` install and `eve build` clean on `eve@1.0.0-rc.8`. Published ai-sdk 0.15.1 typechecks (`skipLibCheck:false`, nodenext) and imports on ai 7.0.166; published tanstack-ai 0.3.0 typechecks (bundler) and imports on `@tanstack/ai@1.4.0`. Repo: lint, typecheck, sync-version, build, examples build pass. `pnpm test` had 18 failures, all from the throwaway free Redis allowing 1 search index (`ERR Exceeded max index count of 1`) plus one rate-limit test; inconclusive, CI covers it. +- **ai 7.0.169 + @tanstack/ai 1.4.0 + @tanstack/ai-openai 1.1.1 (2026-11-11):** devDependency/example pins only (no published-content change, no changeset); `@ai-sdk/*` ranges moved with `pnpm -r update "@ai-sdk/*"` (one `ai@7.0.169` in the lockfile) and `pnpm dedupe` dropped a stale second `@tanstack/ai@1.1.0` that `@tanstack/ai-client@1.1.0` (`^1.1.0`) kept in the lockfile. eve stays on 0.91.0: no stable release since, npm `latest` is `1.0.0-rc.9` (not adopted); published `@upstash/agentkit-eve-extension@0.19.0` + `@upstash/agentkit-eve@0.19.0` install on it, `eve build` clean and the mocked `eve eval` passes 4/4. A `skipLibCheck: false` consumer of `ai` errors inside `@ai-sdk/provider` (`TS7016 … module 'json-schema'`, no `@types/json-schema` dependency) on 7.0.163 and 7.0.169 alike: upstream, fixed by `npm i -D @types/json-schema`. The free throwaway Redis caps search indexes at 1: run index-using test files one at a time with `FLUSHDB` in between (`FLUSHDB` drops the indexes too; `SEARCH.DROPINDEX` is not available). - **ai 7.0.163 (2026-11-05):** pins bumped from 7.0.159 (no code change); `examples/ai-sdk-demo`'s `@ai-sdk/react` raised to `^4.0.167` because 4.0.160 depends on an *exact* `ai@7.0.156`, which split the `UIMessage` type from the demo's `ai@7.0.163` and failed `next build` (`SteeringMessageUIPart`). Re-checked 2026-11-05: published `@upstash/agentkit-eve-extension@0.19.0` / `@upstash/agentkit-eve@0.19.0` build clean on `eve@1.0.0-rc.5` (the 0.91.0 build stays); TanStack AI 1.x (ai 1.1.0, ai-persistence 1.0.1, ai-memory 1.1.0) still not adopted (same `threadId`/`blobKey` test-file errors). - **TanStack AI 1.x applied (2026-11-05):** `@tanstack/ai` 1.1.0, `ai-persistence` 1.0.1, `ai-memory` 1.1.0 (devDeps, exact) and the tanstack-ai-demo's `ai-client` 1.1.0 / `ai-react` 1.0.2 / `ai-openai` 1.1.0. `src` needed no change; only tests did: `chat()` calls pass `threadId` (`middleware.test.ts`, `search-tools.test.ts`) and `ArtifactRecord` fixtures carry `blobKey` (`persistence.test.ts`). The peer floors (`>=0.65.0` / `>=0.8.0` / `>=0.2.8`) are untouched: the source is unchanged and still works on 0.x, and published `@upstash/agentkit-tanstack-ai@0.2.0` imports on 1.x, so no changeset. Upstream `@tanstack/ai@1.1.0`'s `spawn.d.ts` still has the broken `import('../../..')` (TS2307 with `skipLibCheck: false`). The 1.0 contracts `SessionIndexStore` and `CredentialStore` are implemented in the follow-up below. - **TanStack AI 1.0 contracts implemented (2026-11-05, `@upstash/agentkit-tanstack-ai` minor):** `stores.log` (`persistence/log-store.ts`, see below), `stores.sessions` (`SessionIndexStore`, `persistence/sessions.ts`) and `./byok` (`upstashCredentials`, `byok/credentials.ts`, `CredentialStore`). **Peer floors raised to `@tanstack/ai >=1.0.0` and `@tanstack/ai-persistence >=1.0.0`** (verified by packing 0.71.0/0.10.1: neither has `SessionIndexStore` / `@tanstack/ai/byok`; `ai-memory` floor untouched). Sessions: doc `{r,e}` per `(tenant, thread)` + one ZSET per tenant (score `updatedAt`, member `~` so the client never JSON-parses a numeric-looking id); `list` walks the ZSET in batches of whole score groups and re-reads a tie group in full so the `threadId` UTF-8 order is exact, filtering after loading; `ZRANGE BYSCORE REV` takes `(max, min)` (cast through `number`, the SDK types forbid `(`-exclusive strings). Revisions come from an `INCR` counter, never reused (the credential contract requires that; sessions may reuse). Passes the 19 `sessions` cases of `runPersistenceConformance` (they run only when the store is present). Credentials: one hash per owner (`%none` segment = undefined tenant/user, distinct from `""`), value `{r,t,x?,c | iv,ct}` with type/expiry in the clear so `list` never decrypts; optional AES-256-GCM `encryptionKey`, AAD = owner key + id (a copied ciphertext does not decrypt). `storedProviderKeys` lives in `@tanstack/ai/byok/server`, not `/byok`. **`stores.log` (`LogStore`):** per log a meta hash (head, first, epoch, owner, harness, exp, rel, wake, aff, del, laneH, oseq), a records ZSET (score seq, member `:`), snapshot string (`seq` must stay the first JSON key: `truncate` reads it with a Lua pattern), offers hash + info hash + pending ZSET, and a tick counter; shared `logDue` ZSET (when each log needs an owner) and `logHosts` hash. Every op is one Lua script over the same nine declared keys; the store clock is Redis `TIME` inside the script; numbers written from Lua go through `%.0f` (plain `tostring` prints epoch ms in scientific notation); ids returned from Lua are `~`-prefixed because the client JSON-parses numeric-looking strings (`"007"` -> 7). `subscribe` = immediate local callback + a `reported` and an `observed` tick per log so each counter value is reported once (a baseline read that already contains a local write must not mark it reported: that swallowed the notification), plus a 250 ms tick poll for other machines (non-overlapping; the first successful read is the baseline, so a failed first read is retried instead of silencing the subscription). `changed()` skips a counter the poll already reported (deterministic repro in tests: delay the append reply with a Proxy), which fixed a double notification (a poll can see the tick before the write reply arrives; it failed the `calls a listener after each append` conformance case in CI). The baseline read is still async, so a write by another machine landing in the first round trip after `subscribe` can go unreported (listeners are wake-ups, hosts reconcile with `read`). `append` rejects more than 10,000 records (a 50,000-record batch outran the Lua time limit and left part of the writes). Known follow-ups: `listLogsWithoutOwner` re-checks entries skipped by `harnesses` / a live pin on every call; consumed offers, old hosts and `deleteLog` tombstones are never cleaned up; `read` / `listOfferedInputs` without a limit return everything. Conformance needs the `twin` option (a second store set on the same keyspace) for the 4 `log across instances` cases; all 56 log cases and 19 sessions cases pass. Not implemented: `ownership` TTL-based cleanup of finished logs (logs and their keys live until `deleteLog`). diff --git a/examples/ai-sdk-demo/package.json b/examples/ai-sdk-demo/package.json index 7af516c..85d1e33 100644 --- a/examples/ai-sdk-demo/package.json +++ b/examples/ai-sdk-demo/package.json @@ -8,12 +8,12 @@ "start": "next start" }, "dependencies": { - "@ai-sdk/openai": "^4.0.71", - "@ai-sdk/react": "^4.0.167", + "@ai-sdk/openai": "^4.0.114", + "@ai-sdk/react": "^4.0.173", "@upstash/agentkit-ai-sdk": "workspace:*", "@upstash/agentkit-sdk": "workspace:*", "@upstash/redis": "^1.38.4", - "ai": "7.0.166", + "ai": "7.0.169", "dotenv": "^16.4.5", "next": "16.2.9", "react": "19.2.6", diff --git a/examples/eve-demo/package.json b/examples/eve-demo/package.json index 11e49bb..156cbb6 100644 --- a/examples/eve-demo/package.json +++ b/examples/eve-demo/package.json @@ -14,7 +14,7 @@ "typecheck": "tsgo --noEmit -p tsconfig.json" }, "dependencies": { - "@ai-sdk/openai": "^4.0.71", + "@ai-sdk/openai": "^4.0.114", "@radix-ui/react-use-controllable-state": "1.2.2", "@shikijs/core": "4.1.0", "@shikijs/engine-javascript": "4.1.0", @@ -28,7 +28,7 @@ "@upstash/box": "^0.7.5", "@upstash/redis": "^1.38.4", "@vercel/connect": "2.5.6", - "ai": "7.0.166", + "ai": "7.0.169", "class-variance-authority": "0.7.1", "clsx": "2.1.1", "cmdk": "1.1.1", diff --git a/examples/eve-extension-demo/package.json b/examples/eve-extension-demo/package.json index fc740c0..2c558d7 100644 --- a/examples/eve-extension-demo/package.json +++ b/examples/eve-extension-demo/package.json @@ -14,11 +14,11 @@ "typecheck": "tsc" }, "dependencies": { - "@ai-sdk/openai": "^4.0.71", + "@ai-sdk/openai": "^4.0.114", "@upstash/agentkit-eve-extension": "workspace:*", "@upstash/redis": "^1.38.4", "@vercel/connect": "2.5.6", - "ai": "7.0.166", + "ai": "7.0.169", "eve": "^0.91.0", "zod": "4.4.3" }, diff --git a/packages/ai-sdk/package.json b/packages/ai-sdk/package.json index 791d115..4d6a354 100644 --- a/packages/ai-sdk/package.json +++ b/packages/ai-sdk/package.json @@ -50,10 +50,10 @@ "zod": "^3.23.8 || ^4" }, "devDependencies": { - "@ai-sdk/openai": "^4.0.71", - "@ai-sdk/provider": "^4.0.17", + "@ai-sdk/openai": "^4.0.114", + "@ai-sdk/provider": "^4.0.37", "@upstash/redis": "^1.38.4", - "ai": "7.0.166", + "ai": "7.0.169", "dotenv": "^16.4.5" }, "peerDependencies": { diff --git a/packages/eve/package.json b/packages/eve/package.json index 4c9575d..aa1cb1c 100644 --- a/packages/eve/package.json +++ b/packages/eve/package.json @@ -60,7 +60,7 @@ "devDependencies": { "@upstash/box": "^0.7.5", "@upstash/redis": "^1.38.4", - "ai": "7.0.166", + "ai": "7.0.169", "dotenv": "^16.4.5", "eve": "^0.91.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 53faa1e..761d111 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,11 +45,11 @@ importers: examples/ai-sdk-demo: dependencies: '@ai-sdk/openai': - specifier: ^4.0.71 - version: 4.0.71(zod@4.4.3) + specifier: ^4.0.114 + version: 4.0.114(zod@4.4.3) '@ai-sdk/react': - specifier: ^4.0.167 - version: 4.0.167(react@19.2.6)(zod@4.4.3) + specifier: ^4.0.173 + version: 4.0.173(react@19.2.6)(zod@4.4.3) '@upstash/agentkit-ai-sdk': specifier: workspace:* version: link:../../packages/ai-sdk @@ -60,8 +60,8 @@ importers: specifier: ^1.38.4 version: 1.38.4 ai: - specifier: 7.0.166 - version: 7.0.166(zod@4.4.3) + specifier: 7.0.169 + version: 7.0.169(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 @@ -94,8 +94,8 @@ importers: examples/eve-demo: dependencies: '@ai-sdk/openai': - specifier: ^4.0.71 - version: 4.0.71(zod@4.4.3) + specifier: ^4.0.114 + version: 4.0.114(zod@4.4.3) '@radix-ui/react-use-controllable-state': specifier: 1.2.2 version: 1.2.2(@types/react@19.2.15)(react@19.2.6) @@ -134,10 +134,10 @@ importers: version: 1.38.4 '@vercel/connect': specifier: 2.5.6 - version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.166(zod@4.4.3))(eve@0.91.0) + version: 2.5.6(@ai-sdk/mcp@2.0.96(zod@4.4.3))(ai@7.0.169(zod@4.4.3))(eve@0.91.0) ai: - specifier: 7.0.166 - version: 7.0.166(zod@4.4.3) + specifier: 7.0.169 + version: 7.0.169(zod@4.4.3) class-variance-authority: specifier: 0.7.1 version: 0.7.1 @@ -149,7 +149,7 @@ importers: version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.169(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) lucide-react: specifier: 1.16.0 version: 1.16.0(react@19.2.6) @@ -206,8 +206,8 @@ importers: examples/eve-extension-demo: dependencies: '@ai-sdk/openai': - specifier: ^4.0.71 - version: 4.0.71(zod@4.4.3) + specifier: ^4.0.114 + version: 4.0.114(zod@4.4.3) '@upstash/agentkit-eve-extension': specifier: workspace:* version: link:../../packages/eve-extension @@ -216,13 +216,13 @@ importers: version: 1.38.4 '@vercel/connect': specifier: 2.5.6 - version: 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.166(zod@4.4.3))(eve@0.91.0) + version: 2.5.6(@ai-sdk/mcp@2.0.96(zod@4.4.3))(ai@7.0.169(zod@4.4.3))(eve@0.91.0) ai: - specifier: 7.0.166 - version: 7.0.166(zod@4.4.3) + specifier: 7.0.169 + version: 7.0.169(zod@4.4.3) eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.169(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) zod: specifier: 4.4.3 version: 4.4.3 @@ -348,14 +348,14 @@ importers: version: 4.4.3 devDependencies: '@ai-sdk/openai': - specifier: ^4.0.71 - version: 4.0.71(zod@4.4.3) + specifier: ^4.0.114 + version: 4.0.114(zod@4.4.3) '@ai-sdk/provider': - specifier: ^4.0.17 - version: 4.0.17 + specifier: ^4.0.37 + version: 4.0.37 ai: - specifier: 7.0.166 - version: 7.0.166(zod@4.4.3) + specifier: 7.0.169 + version: 7.0.169(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 @@ -379,14 +379,14 @@ importers: specifier: ^1.38.4 version: 1.38.4 ai: - specifier: 7.0.166 - version: 7.0.166(zod@4.4.3) + specifier: 7.0.169 + version: 7.0.169(zod@4.4.3) dotenv: specifier: ^16.4.5 version: 16.6.1 eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.169(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) packages/eve-extension: dependencies: @@ -405,7 +405,7 @@ importers: version: 24.13.2 eve: specifier: ^0.91.0 - version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + version: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.169(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) typescript: specifier: 7.0.2 version: 7.0.2 @@ -489,62 +489,36 @@ packages: zod: optional: true - '@ai-sdk/gateway@4.0.136': - resolution: {integrity: sha512-P851NL80P85Ee6MhblRuuCzNlQdOYU5rKmdt/Wuo5dMtkzvIHhyVZY9wtfKG3wBJUUoxHxWKsI2aR6O75o8diA==} + '@ai-sdk/gateway@4.0.142': + resolution: {integrity: sha512-X5UpG2dMLT29OkHLOEknZ0/4/iEyPTuVEiNypiUc3ltuNz2k9ixssgBc/XcV4PylpBpz3RAdGQB4qDmVbUMX8A==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@4.0.139': - resolution: {integrity: sha512-2YEIPm4n59nm4PBhMGjFWH0g+ztPgfybqoeMIjfJYNiB8zLHftUrONgb8P3Ho3Yy5cdoLCjiDE/Hv2Crol0JBw==} + '@ai-sdk/mcp@2.0.96': + resolution: {integrity: sha512-l1QW0wYxWkvw2yQAf4J4ZA3sPQzxq0xDrc0SoTc4hB4AqcQb3rAVVe3LdvHThkqlgjuM3qtS9g5UlAe+2+cTmA==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/mcp@2.0.91': - resolution: {integrity: sha512-N6+vu+RoKklEjuGiExe3ePpgGSsErzylScFEVcL6PblzALuVlzlGTNU7VFhZrn2UJ173+rL6Zm2bJ0zSmvjO9Q==} + '@ai-sdk/openai@4.0.114': + resolution: {integrity: sha512-HceWOUPej4zSYvjZhICQVoQWzwXP3SyJY8GN/P0a+dqJaUMdn3NQMEW6KyhbS+/ltAgR6MauW9KgDx8NDbFe3g==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/openai@4.0.71': - resolution: {integrity: sha512-w8FuHr1bD/bP/8SIgcaJKUyePE4ke9s7+Ew2ed/9i5mDoFXEfyVUyFX8R0wQ3YfcdMKmTs8ct/f6XJsXsnPVsQ==} + '@ai-sdk/provider-utils@5.0.79': + resolution: {integrity: sha512-IYu6MT0NDE3JFWBWEJWAXjhskHTSj6NfRp9FuEAOcyS2Jrj3qBePu7OEoXVmoCWT3pYPgrF4DBKzjjjOMRyw9Q==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider-utils@5.0.45': - resolution: {integrity: sha512-gLuaCups8OCIRz3eO6WWz5op7VLYNNtFzyH0sWUr0FE9v7cTxR0qxDpQdrKnGcql+9WWttobjnZsJVsuEbsPQQ==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider-utils@5.0.75': - resolution: {integrity: sha512-k4yAsFliGZwoTpyTpm3ptxwIeaPvRh5vGh/UWoqDiLLXKoyz4zuBGS7p3ygf8to5Bh4fAOHynotLBsWLIYdu2A==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider-utils@5.0.76': - resolution: {integrity: sha512-76QcCmVtSunSAbQBJtgQTTE8e+Yaz4rJJe1MRWnJ3GAQYUvNPHJejKx4jZTbhGGTdSSLaYcMBT62SISNgnGq9w==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider@4.0.17': - resolution: {integrity: sha512-VYMBxIQdcHqbIf1j+YZlI9Ati6LZ4wJe0GGd4z4a5H/KxTggjeOiyaVYTnfF7LHZK5jMQ+rofmzz4QPqf++NUw==} - engines: {node: '>=22'} - - '@ai-sdk/provider@4.0.36': - resolution: {integrity: sha512-GqvWZSZdBelCGughlBdOoupT258rgM3YMbaLAS9WSZJ0vlt8c9vm3My+ZT31mYhiReMCMCF2qF2axnGbILpk1A==} - engines: {node: '>=22'} - '@ai-sdk/provider@4.0.37': resolution: {integrity: sha512-4uPgZ3qiX/JaQFr0dQoibUzHImZit9u05ro2BxGUnJwU4fV28BOAbKUa2OjQvqtM1tMac3bTKkaXdyzGovQXqg==} engines: {node: '>=22'} - '@ai-sdk/react@4.0.167': - resolution: {integrity: sha512-MHS+hPVR4HOKBgO9aKZ3znQW7WpOvoCJ4vK7QCFkL8prJQgHzwWPkOMGd0MLawcDvqC0r6eMMuZfVoLWh/sMFA==} + '@ai-sdk/react@4.0.173': + resolution: {integrity: sha512-XO2mepKySyYG9D2sUxck0l1ET4hm86kV33Rk8lvzp0ZURwJhiuqO2DMEbi1+0topTZU/WTmZL17WKFC3QkbJJA==} engines: {node: '>=22'} peerDependencies: react: ^18 || ~19.0.1 || ~19.1.2 || ^19.2.1 @@ -2566,21 +2540,9 @@ packages: react-dom: optional: true - '@tanstack/ai-utils@1.0.1': - resolution: {integrity: sha512-NIoMOCB+fVIYbaSOhZWkEgwM8yhZFDtFSzicIxsE3SiDKFVPgPR+kLAqTr0uU/KnXQcsZuHn5GVNxDj9bHAdWg==} - '@tanstack/ai-utils@1.1.0': resolution: {integrity: sha512-li47v/794azVLourgteS/+jjH/ZF+cIp/3RMVA1VybtKAFiMy3ZGxREU10OzfUghMzYLdfpK2l6ahvlWxNVHug==} - '@tanstack/ai@1.1.0': - resolution: {integrity: sha512-mtG1tEiXUpFXwN4nDszjw2vSHR+UgdsKCtd0XSloZcqdnZcxwAPMiVgzZ3HsaqG1PotvRBn+awVS8HvhrWhglg==} - engines: {node: '>=18'} - peerDependencies: - '@opentelemetry/api': '>=1.9.0' - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - '@tanstack/ai@1.4.0': resolution: {integrity: sha512-3f0D9gFCk8LUe9qAPCsRkjlXU2bqbIKKMGGo9P6Q6O0vR+5/0N/J3x1J2QWYY8L3LNvJliZBDnutudEIRzNU8w==} engines: {node: '>=18'} @@ -3106,14 +3068,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - ai@7.0.163: - resolution: {integrity: sha512-nm8+qn36NQXO4Hjfj7SlbcNRhUyNXKtdoS9xhXr/z92lvdGFuPkzHmA2tFzhaUQy13IitNYrcw2QSNpEJC/iSA==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - ai@7.0.166: - resolution: {integrity: sha512-bijt5WsdpQXQLB0SHYEoSuvpZ8KdUxl3Iz843uvHFcGpEBSrxlgwXXadR7EBVOHoByEf2PwgOxutWU5dcdjs9Q==} + ai@7.0.169: + resolution: {integrity: sha512-p2GHNRXnIP7EE5/pV8pq2RrFDtXrSMSAZB6/CQHYXCaFXrKqspzDyXn89wSg5bv61V3KukjQQtguSOVkN5KI9w==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -5095,8 +5051,8 @@ packages: undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} - undici@7.29.1: - resolution: {integrity: sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q==} + undici@7.30.2: + resolution: {integrity: sha512-mLyPQnHwUxaM/rideoK/+KL8DaAJLRl4aBCfmX444aCSLnIaomqPLtNRe2jdCYcsk5wZzXrDIQC8ZeYNRAYyIA==} engines: {node: '>=20.18.1'} undici@8.12.3: @@ -5308,79 +5264,46 @@ snapshots: optionalDependencies: zod: 4.4.3 - '@ai-sdk/gateway@4.0.136(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 4.0.36 - '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) - '@vercel/oidc': 3.2.0 - zod: 4.4.3 - - '@ai-sdk/gateway@4.0.139(zod@4.4.3)': + '@ai-sdk/gateway@4.0.142(zod@4.4.3)': dependencies: '@ai-sdk/provider': 4.0.37 - '@ai-sdk/provider-utils': 5.0.76(zod@4.4.3) + '@ai-sdk/provider-utils': 5.0.79(zod@4.4.3) '@vercel/oidc': 3.2.0 zod: 4.4.3 - '@ai-sdk/mcp@2.0.91(zod@4.4.3)': + '@ai-sdk/mcp@2.0.96(zod@4.4.3)': dependencies: - '@ai-sdk/provider': 4.0.36 - '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) + '@ai-sdk/provider': 4.0.37 + '@ai-sdk/provider-utils': 5.0.79(zod@4.4.3) cross-spawn: 7.0.6 pkce-challenge: 5.0.1 zod: 4.4.3 - '@ai-sdk/openai@4.0.71(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 4.0.17 - '@ai-sdk/provider-utils': 5.0.45(zod@4.4.3) - zod: 4.4.3 - - '@ai-sdk/provider-utils@5.0.45(zod@4.4.3)': + '@ai-sdk/openai@4.0.114(zod@4.4.3)': dependencies: - '@ai-sdk/provider': 4.0.17 - '@standard-schema/spec': 1.1.0 - '@workflow/serde': 4.1.0 - eventsource-parser: 3.1.1 - undici: 7.29.1 - zod: 4.4.3 - - '@ai-sdk/provider-utils@5.0.75(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 4.0.36 - '@standard-schema/spec': 1.1.0 - '@workflow/serde': 4.1.0 - eventsource-parser: 3.1.1 - undici: 7.29.1 + '@ai-sdk/provider': 4.0.37 + '@ai-sdk/provider-utils': 5.0.79(zod@4.4.3) zod: 4.4.3 - '@ai-sdk/provider-utils@5.0.76(zod@4.4.3)': + '@ai-sdk/provider-utils@5.0.79(zod@4.4.3)': dependencies: '@ai-sdk/provider': 4.0.37 '@standard-schema/spec': 1.1.0 '@workflow/serde': 4.1.0 eventsource-parser: 3.1.1 - undici: 7.29.1 + undici: 7.30.2 zod: 4.4.3 - '@ai-sdk/provider@4.0.17': - dependencies: - json-schema: 0.4.0 - - '@ai-sdk/provider@4.0.36': - dependencies: - json-schema: 0.4.0 - '@ai-sdk/provider@4.0.37': dependencies: json-schema: 0.4.0 - '@ai-sdk/react@4.0.167(react@19.2.6)(zod@4.4.3)': + '@ai-sdk/react@4.0.173(react@19.2.6)(zod@4.4.3)': dependencies: - '@ai-sdk/mcp': 2.0.91(zod@4.4.3) - '@ai-sdk/provider': 4.0.36 - '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) - ai: 7.0.163(zod@4.4.3) + '@ai-sdk/mcp': 2.0.96(zod@4.4.3) + '@ai-sdk/provider': 4.0.37 + '@ai-sdk/provider-utils': 5.0.79(zod@4.4.3) + ai: 7.0.169(zod@4.4.3) react: 19.2.6 swr: 2.4.1(react@19.2.6) throttleit: 2.1.0 @@ -7153,9 +7076,9 @@ snapshots: '@tanstack/ai-client@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3)': dependencies: - '@tanstack/ai': 1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3) + '@tanstack/ai': 1.4.0(@opentelemetry/api@1.9.1)(zod@4.4.3) '@tanstack/ai-event-client': 1.0.1 - '@tanstack/ai-utils': 1.0.1 + '@tanstack/ai-utils': 1.1.0 '@tanstack/store': 0.11.2 transitivePeerDependencies: - '@opentelemetry/api' @@ -7190,7 +7113,7 @@ snapshots: '@tanstack/ai-persistence@1.0.1(@tanstack/ai@1.4.0(@opentelemetry/api@1.9.1)(zod@4.4.3))(vitest@2.1.9(@types/node@20.19.43)(lightningcss@1.32.0))': dependencies: '@tanstack/ai': 1.4.0(@opentelemetry/api@1.9.1)(zod@4.4.3) - '@tanstack/ai-utils': 1.0.1 + '@tanstack/ai-utils': 1.1.0 optionalDependencies: vitest: 2.1.9(@types/node@20.19.43)(lightningcss@1.32.0) @@ -7208,24 +7131,8 @@ snapshots: - octane - zod - '@tanstack/ai-utils@1.0.1': {} - '@tanstack/ai-utils@1.1.0': {} - '@tanstack/ai@1.1.0(@opentelemetry/api@1.9.1)(zod@4.4.3)': - dependencies: - '@ag-ui/core': 1.0.0(zod@4.4.3) - '@cfworker/json-schema': 4.1.1 - '@standard-schema/spec': 1.1.0 - '@tanstack/ai-event-client': 1.0.1 - '@tanstack/ai-utils': 1.0.1 - fast-json-patch: 3.1.1 - partial-json: 0.1.7 - optionalDependencies: - '@opentelemetry/api': 1.9.1 - transitivePeerDependencies: - - zod - '@tanstack/ai@1.4.0(@opentelemetry/api@1.9.1)(zod@4.4.3)': dependencies: '@ag-ui/core': 1.0.0(zod@4.4.3) @@ -7653,13 +7560,13 @@ snapshots: dependencies: execa: 5.1.1 - '@vercel/connect@2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.166(zod@4.4.3))(eve@0.91.0)': + '@vercel/connect@2.5.6(@ai-sdk/mcp@2.0.96(zod@4.4.3))(ai@7.0.169(zod@4.4.3))(eve@0.91.0)': dependencies: '@vercel/oidc': 4.0.4 optionalDependencies: - '@ai-sdk/mcp': 2.0.91(zod@4.4.3) - ai: 7.0.166(zod@4.4.3) - eve: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) + '@ai-sdk/mcp': 2.0.96(zod@4.4.3) + ai: 7.0.169(zod@4.4.3) + eve: 0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.169(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)) '@vercel/oidc@3.2.0': {} @@ -7717,18 +7624,11 @@ snapshots: acorn@8.17.0: {} - ai@7.0.163(zod@4.4.3): - dependencies: - '@ai-sdk/gateway': 4.0.136(zod@4.4.3) - '@ai-sdk/provider': 4.0.36 - '@ai-sdk/provider-utils': 5.0.75(zod@4.4.3) - zod: 4.4.3 - - ai@7.0.166(zod@4.4.3): + ai@7.0.169(zod@4.4.3): dependencies: - '@ai-sdk/gateway': 4.0.139(zod@4.4.3) + '@ai-sdk/gateway': 4.0.142(zod@4.4.3) '@ai-sdk/provider': 4.0.37 - '@ai-sdk/provider-utils': 5.0.76(zod@4.4.3) + '@ai-sdk/provider-utils': 5.0.79(zod@4.4.3) zod: 4.4.3 ajv@6.15.0: @@ -8279,14 +8179,14 @@ snapshots: esutils@2.0.3: {} - eve@0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.166(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)): + eve@0.91.0(@opentelemetry/api@1.9.1)(@vercel/connect@2.5.6)(ai@7.0.169(zod@4.4.3))(next@16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(vite@5.4.21(@types/node@20.19.43)(lightningcss@1.32.0)): dependencies: - ai: 7.0.166(zod@4.4.3) + ai: 7.0.169(zod@4.4.3) nitro: 3.0.260903-beta undici: 8.12.3 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@vercel/connect': 2.5.6(@ai-sdk/mcp@2.0.91(zod@4.4.3))(ai@7.0.166(zod@4.4.3))(eve@0.91.0) + '@vercel/connect': 2.5.6(@ai-sdk/mcp@2.0.96(zod@4.4.3))(ai@7.0.169(zod@4.4.3))(eve@0.91.0) next: 16.2.9(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) react: 19.2.6 vite: 5.4.21(@types/node@20.19.43)(lightningcss@1.32.0) @@ -10079,7 +9979,7 @@ snapshots: undici-types@7.18.2: {} - undici@7.29.1: {} + undici@7.30.2: {} undici@8.12.3: {}