From 9d438f534b88f4dfc33b3575b231da8b0e79c110 Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Thu, 9 Apr 2026 03:18:05 +0000 Subject: [PATCH 1/2] fix: correct includeFiles pattern in vercel.json for @libsql/client Agent-Logs-Url: https://github.com/objectstack-ai/framework/sessions/72059f26-f877-41e1-8ed7-5ed564e6618f Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- apps/studio/vercel.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/studio/vercel.json b/apps/studio/vercel.json index 20408b0a6..9ba7379a3 100644 --- a/apps/studio/vercel.json +++ b/apps/studio/vercel.json @@ -13,7 +13,7 @@ "api/**/*.js": { "memory": 1024, "maxDuration": 300, - "includeFiles": "{node_modules/@libsql,node_modules/better-sqlite3,node_modules/@ai-sdk}/**" + "includeFiles": "node_modules/{@libsql,better-sqlite3,@ai-sdk}/**" } }, "headers": [ From 429d19281a555d525a07be89acf4fc67e224c5ac Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Thu, 9 Apr 2026 03:36:12 +0000 Subject: [PATCH 2/2] fix: bundle @libsql/client to resolve Vercel deployment issue Bundle @libsql/client into the serverless function instead of keeping it external. This resolves the "Cannot find package '@libsql/client'" error that persisted even with includeFiles configuration. Changes: - Remove @libsql/client from EXTERNAL array in bundle-api.mjs - Remove @libsql from includeFiles pattern in vercel.json - Stop copying @libsql packages in build-vercel.sh @libsql/client is pure JavaScript with no native bindings, so bundling it completely eliminates runtime dependency resolution issues. Agent-Logs-Url: https://github.com/objectstack-ai/framework/sessions/b7028017-b002-464e-845b-4757cf731cdd Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- apps/studio/scripts/build-vercel.sh | 13 ++----------- apps/studio/scripts/bundle-api.mjs | 4 +++- apps/studio/vercel.json | 2 +- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/apps/studio/scripts/build-vercel.sh b/apps/studio/scripts/build-vercel.sh index ab516bab6..10a5507f4 100755 --- a/apps/studio/scripts/build-vercel.sh +++ b/apps/studio/scripts/build-vercel.sh @@ -38,6 +38,8 @@ node scripts/bundle-api.mjs # The vercel.json includeFiles pattern references node_modules/ relative to # apps/studio/, so we must copy the actual module files here for Vercel to # include them in the serverless function's deployment package. +# +# Note: @libsql/client is now bundled by esbuild, so we no longer copy it. echo "[build-vercel] Copying external native modules to local node_modules..." for mod in better-sqlite3; do src="../../node_modules/$mod" @@ -50,17 +52,6 @@ for mod in better-sqlite3; do echo "[build-vercel] ⚠ $mod not found at $src (skipped)" fi done -# Copy the @libsql scope (client + its sub-dependencies like core, hrana-client) -if [ -d "../../node_modules/@libsql" ]; then - mkdir -p "node_modules/@libsql" - for pkg in ../../node_modules/@libsql/*/; do - pkgname="$(basename "$pkg")" - cp -rL "$pkg" "node_modules/@libsql/$pkgname" - done - echo "[build-vercel] ✓ Copied @libsql/*" -else - echo "[build-vercel] ⚠ @libsql not found (skipped)" -fi # Copy the @ai-sdk scope (dynamically loaded provider packages) if [ -d "../../node_modules/@ai-sdk" ]; then mkdir -p "node_modules/@ai-sdk" diff --git a/apps/studio/scripts/bundle-api.mjs b/apps/studio/scripts/bundle-api.mjs index 63c5f2b03..9f1d8fc81 100644 --- a/apps/studio/scripts/bundle-api.mjs +++ b/apps/studio/scripts/bundle-api.mjs @@ -16,7 +16,9 @@ import { build } from 'esbuild'; // Packages that cannot be bundled (native bindings / optional drivers) const EXTERNAL = [ - '@libsql/client', + // @libsql/client is now bundled (pure JS, no native bindings) + // Bundling it solves Vercel deployment issues where external packages + // aren't properly included in the serverless function despite includeFiles config 'better-sqlite3', // AI SDK provider packages — dynamically imported based on env vars '@ai-sdk/anthropic', diff --git a/apps/studio/vercel.json b/apps/studio/vercel.json index 9ba7379a3..96e8daf72 100644 --- a/apps/studio/vercel.json +++ b/apps/studio/vercel.json @@ -13,7 +13,7 @@ "api/**/*.js": { "memory": 1024, "maxDuration": 300, - "includeFiles": "node_modules/{@libsql,better-sqlite3,@ai-sdk}/**" + "includeFiles": "node_modules/{better-sqlite3,@ai-sdk}/**" } }, "headers": [