Files
twenty/packages/twenty-server/nest-cli.json
T
Félix MalfaitandGitHub 908aefe7c1 feat: replace hardcoded AI model constants with JSON seed catalog (#18818)
## Summary

- Replaces per-provider TypeScript constant files
(`openai-models.const.ts`, `anthropic-models.const.ts`, etc.) with a
single `ai-providers.json` catalog as the source of truth
- Adds runtime model discovery via AI SDK for self-hosted providers,
with `models.dev` enrichment for pricing/capabilities
- Introduces composite model IDs (`provider/modelId`) for canonical,
conflict-free identification
- Simplifies provider configuration: API keys are injected from
environment variables (e.g., `OPENAI_API_KEY`)
- Adds admin panel UI for provider management (add/remove/test), model
discovery, recommended model configuration, and default fast/smart model
selection per workspace
- Removes deprecated config variables (`AI_DISABLED_MODEL_IDS`,
`AUTO_ENABLE_NEW_AI_MODELS`, etc.)
- Adds database migration for composite model ID format

## Test plan

- [ ] Server typecheck passes
- [ ] Frontend typecheck passes
- [ ] Server unit tests pass
- [ ] Frontend unit tests pass
- [ ] CI pipeline green
- [ ] Admin panel AI tab loads correctly
- [ ] Provider discovery works for configured providers
- [ ] Model recommendation toggles persist
- [ ] Default fast/smart model selection works


Made with [Cursor](https://cursor.com)
2026-03-21 16:03:58 +01:00

64 lines
1.8 KiB
JSON

{
"$schema": "https://json.schemastore.org/nest-cli",
"collection": "@nestjs/schematics",
"sourceRoot": "src",
"watchOptions": {
"ignored": [
"**/node_modules/**",
"**/dist/**",
"**/.git/**",
"**/.nx/**",
"**/.local-storage/**"
]
},
"compilerOptions": {
"builder": "swc",
"typeCheck": false,
"watchAssets": true,
"assets": [
{
"include": "engine/core-modules/logic-function/logic-function-resource/constants/seed-project/**",
"outDir": "dist/assets"
},
{
"include": "engine/core-modules/application/application-package/constants/seed-dependencies/**",
"outDir": "dist/assets"
},
{
"include": "engine/core-modules/application/application-package/constants/yarn-engine/**",
"outDir": "dist/assets"
},
{
"include": "engine/core-modules/logic-function/logic-function-drivers/constants/executor/index.mjs",
"outDir": "dist/assets"
},
{
"include": "engine/core-modules/logic-function/logic-function-drivers/constants/yarn-install/index.mjs",
"outDir": "dist/assets"
},
{
"include": "engine/core-modules/logic-function/logic-function-drivers/constants/builder/index.mjs",
"outDir": "dist/assets"
},
{
"include": "engine/core-modules/logic-function/logic-function-drivers/constants/common-layer-dependencies/**",
"outDir": "dist/assets"
},
{
"include": "database/clickHouse/migrations/*.sql",
"outDir": "dist"
},
{
"include": "engine/workspace-manager/dev-seeder/data/sample-files/**",
"outDir": "dist/assets"
},
{
"include": "engine/metadata-modules/ai/ai-models/ai-providers.json",
"outDir": "dist"
}
]
},
"monorepo": false,
"root": "src"
}