Skip to content

Commit da789e4

Browse files
committed
Merge branch 'main' into dependabot/npm_and_yarn/production-dependencies-fad8da1280
2 parents d1ee024 + ffc5953 commit da789e4

File tree

46 files changed

+1059
-419
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1059
-419
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
## [Unreleased]
99

1010
### Added
11+
- **AIServicePlugin Auto-Detection** — AIServicePlugin now automatically detects and initializes
12+
LLM providers based on environment variables, eliminating the need for manual adapter configuration
13+
in each deployment:
14+
- Auto-detection priority: `AI_GATEWAY_MODEL``OPENAI_API_KEY``ANTHROPIC_API_KEY``GOOGLE_GENERATIVE_AI_API_KEY`
15+
- Graceful fallback to MemoryLLMAdapter when no provider is configured
16+
- Comprehensive logging of selected provider and warnings for missing SDKs
17+
- Supports custom model selection via `AI_MODEL` environment variable
18+
- Consistent behavior across CLI, Vercel, Docker, and custom deployments
19+
- Dynamic import failures are handled as soft errors with automatic fallback
20+
([#1067](https://github.com/objectstack-ai/framework/issues/1067))
21+
1122
- **Metadata Versioning & History** — Comprehensive version history tracking and rollback capabilities
1223
for metadata items. Key features include:
1324
- `MetadataHistoryRecordSchema` defining structure for historical snapshots

apps/docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"@tailwindcss/postcss": "^4.2.2",
2828
"@types/mdx": "^2.0.13",
2929
"@types/negotiator": "^0.6.4",
30-
"@types/node": "^25.5.0",
30+
"@types/node": "^25.5.2",
3131
"@types/react": "^19.2.14",
3232
"@types/react-dom": "^19.2.3",
3333
"negotiator": "^1.0.0",

apps/studio/package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
"preview": "vite preview"
1818
},
1919
"dependencies": {
20+
"@ai-sdk/anthropic": "^3.0.0",
21+
"@ai-sdk/gateway": "^3.0.0",
22+
"@ai-sdk/google": "^3.0.0",
23+
"@ai-sdk/openai": "^3.0.0",
2024
"@ai-sdk/react": "^3.0.148",
2125
"@hono/node-server": "^1.19.12",
2226
"@objectstack/client": "workspace:*",
@@ -69,13 +73,13 @@
6973
"@types/react-dom": "^19.2.3",
7074
"@vitejs/plugin-react": "^6.0.1",
7175
"autoprefixer": "^10.4.27",
72-
"esbuild": "^0.27.4",
76+
"esbuild": "^0.28.0",
7377
"happy-dom": "^20.8.9",
7478
"msw": "^2.12.14",
7579
"postcss": "^8.5.8",
7680
"tailwindcss": "^4.2.2",
7781
"typescript": "^6.0.2",
78-
"vite": "^8.0.3",
82+
"vite": "^8.0.5",
7983
"vitest": "^4.1.2"
8084
},
8185
"msw": {

apps/studio/scripts/build-vercel.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,17 @@ if [ -d "../../node_modules/@libsql" ]; then
6161
else
6262
echo "[build-vercel] ⚠ @libsql not found (skipped)"
6363
fi
64+
# Copy the @ai-sdk scope (dynamically loaded provider packages)
65+
if [ -d "../../node_modules/@ai-sdk" ]; then
66+
mkdir -p "node_modules/@ai-sdk"
67+
for pkg in ../../node_modules/@ai-sdk/*/; do
68+
pkgname="$(basename "$pkg")"
69+
cp -rL "$pkg" "node_modules/@ai-sdk/$pkgname"
70+
done
71+
echo "[build-vercel] ✓ Copied @ai-sdk/*"
72+
else
73+
echo "[build-vercel] ⚠ @ai-sdk not found (skipped)"
74+
fi
6475

6576
# 4. Copy Vite build output to public/ for static file serving
6677
rm -rf public

apps/studio/scripts/bundle-api.mjs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ import { build } from 'esbuild';
1818
const EXTERNAL = [
1919
'@libsql/client',
2020
'better-sqlite3',
21+
// AI SDK provider packages — dynamically imported based on env vars
22+
'@ai-sdk/anthropic',
23+
'@ai-sdk/gateway',
24+
'@ai-sdk/google',
25+
'@ai-sdk/openai',
2126
// Optional knex database drivers — never used at runtime, but knex requires() them
2227
'pg',
2328
'pg-native',

apps/studio/vercel.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"api/**/*.js": {
1414
"memory": 1024,
1515
"maxDuration": 300,
16-
"includeFiles": "{node_modules/@libsql,node_modules/better-sqlite3}/**"
16+
"includeFiles": "{node_modules/@libsql,node_modules/better-sqlite3,node_modules/@ai-sdk}/**"
1717
}
1818
},
1919
"headers": [

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929
"license": "Apache-2.0",
3030
"devDependencies": {
3131
"@changesets/cli": "^2.30.0",
32-
"@types/node": "^25.5.0",
32+
"@types/node": "^25.5.2",
3333
"tsup": "^8.5.1",
3434
"tsx": "^4.21.0",
35-
"turbo": "^2.8.21",
35+
"turbo": "^2.9.4",
3636
"typescript": "^6.0.2"
3737
},
3838
"dependencies": {

packages/adapters/nestjs/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
"test:watch": "vitest"
1111
},
1212
"peerDependencies": {
13-
"@nestjs/common": "^11.1.17",
14-
"@nestjs/core": "^11.1.17",
13+
"@nestjs/common": "^11.1.18",
14+
"@nestjs/core": "^11.1.18",
1515
"@objectstack/runtime": "workspace:^"
1616
},
1717
"devDependencies": {
18-
"@nestjs/common": "^11.1.17",
19-
"@nestjs/core": "^11.1.17",
18+
"@nestjs/common": "^11.1.18",
19+
"@nestjs/core": "^11.1.18",
2020
"@objectstack/runtime": "workspace:*",
2121
"typescript": "^6.0.2",
2222
"vitest": "^4.1.2"

packages/adapters/nuxt/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
},
1919
"peerDependencies": {
2020
"@objectstack/runtime": "workspace:^",
21-
"h3": "^1.15.10"
21+
"h3": "^1.15.11"
2222
},
2323
"devDependencies": {
2424
"@objectstack/runtime": "workspace:*",
25-
"h3": "^1.15.10",
25+
"h3": "^1.15.11",
2626
"typescript": "^6.0.2",
2727
"vitest": "^4.1.2"
2828
}

packages/adapters/sveltekit/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
},
1919
"peerDependencies": {
2020
"@objectstack/runtime": "workspace:^",
21-
"@sveltejs/kit": "^2.55.0"
21+
"@sveltejs/kit": "^2.56.1"
2222
},
2323
"devDependencies": {
2424
"@objectstack/runtime": "workspace:*",
25-
"@sveltejs/kit": "^2.55.0",
25+
"@sveltejs/kit": "^2.56.1",
2626
"typescript": "^6.0.2",
2727
"vitest": "^4.1.2"
2828
}

0 commit comments

Comments
 (0)