diff --git a/apps/server/package.json b/apps/server/package.json index e0de5f5a..12d801a0 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -30,9 +30,9 @@ "test:e2e": "jest --config test/jest-e2e.json" }, "dependencies": { - "@ai-sdk/azure": "^2.0.47", - "@ai-sdk/google": "^2.0.18", - "@ai-sdk/openai": "^2.0.46", + "@ai-sdk/google": "^3.0.9", + "@ai-sdk/openai": "^3.0.11", + "@ai-sdk/openai-compatible": "^2.0.12", "@aws-sdk/client-s3": "3.701.0", "@aws-sdk/lib-storage": "3.701.0", "@aws-sdk/s3-request-presigner": "3.701.0", @@ -59,8 +59,8 @@ "@react-email/components": "0.0.28", "@react-email/render": "1.0.2", "@socket.io/redis-adapter": "^8.3.0", - "ai": "^5.0.65", - "ai-sdk-ollama": "^0.12.0", + "ai": "^6.0.37", + "ai-sdk-ollama": "^3.1.1", "bcrypt": "^6.0.0", "bullmq": "^5.65.0", "cache-manager": "^6.4.3", diff --git a/apps/server/src/ee b/apps/server/src/ee index 9536b7e6..fce3e9e9 160000 --- a/apps/server/src/ee +++ b/apps/server/src/ee @@ -1 +1 @@ -Subproject commit 9536b7e6d61a0a2c64dec525eab4b67d84fb6ce2 +Subproject commit fce3e9e945da114c4f7cdc4de86a6729b072515e diff --git a/apps/server/src/integrations/environment/environment.validation.ts b/apps/server/src/integrations/environment/environment.validation.ts index 5ac1b11b..ced01b5d 100644 --- a/apps/server/src/integrations/environment/environment.validation.ts +++ b/apps/server/src/integrations/environment/environment.validation.ts @@ -105,7 +105,7 @@ export class EnvironmentVariables { @IsOptional() @ValidateIf((obj) => obj.AI_DRIVER) - @IsIn(['openai', 'gemini', 'ollama']) + @IsIn(['openai', 'openai-compatible', 'gemini', 'ollama']) @IsString() AI_DRIVER: string; @@ -117,11 +117,10 @@ export class EnvironmentVariables { @IsOptional() @ValidateIf((obj) => obj.AI_EMBEDDING_DIMENSION) - @IsIn(['768', '1024', '1536', '2000']) + @IsIn(['768', '1024', '1536', '2000', '3072']) @IsString() AI_EMBEDDING_DIMENSION: string; - @IsOptional() @ValidateIf((obj) => obj.AI_DRIVER) @IsString() @@ -129,13 +128,20 @@ export class EnvironmentVariables { AI_COMPLETION_MODEL: string; @IsOptional() - @ValidateIf((obj) => obj.AI_DRIVER && obj.AI_DRIVER === 'openai') + @ValidateIf( + (obj) => + obj.AI_DRIVER && ['openai', 'openai-compatible'].includes(obj.AI_DRIVER), + ) @IsString() @IsNotEmpty() OPENAI_API_KEY: string; @IsOptional() - @ValidateIf((obj) => obj.AI_DRIVER && obj.OPENAI_API_URL && obj.AI_DRIVER === 'openai') + @ValidateIf( + (obj) => + obj.AI_DRIVER === 'openai-compatible' || + (obj.AI_DRIVER === 'openai' && obj.OPENAI_API_URL), + ) @IsUrl({ protocols: ['http', 'https'], require_tld: false }) OPENAI_API_URL: string;