diff --git a/src/main/services/agents/BaseService.ts b/src/main/services/agents/BaseService.ts index 40a3d059dc..65d326465b 100644 --- a/src/main/services/agents/BaseService.ts +++ b/src/main/services/agents/BaseService.ts @@ -1,5 +1,6 @@ import { type Client, createClient } from '@libsql/client' import { loggerService } from '@logger' +import { objectKeys } from '@types' import { drizzle, type LibSQLDatabase } from 'drizzle-orm/libsql' import fs from 'fs' import path from 'path' @@ -150,6 +151,13 @@ export abstract class BaseService { } } + // convert null from db to undefined to satisfy type definition + for (const key of objectKeys(data)) { + if (deserialized[key] === null) { + deserialized[key] = undefined + } + } + return deserialized } diff --git a/src/renderer/src/types/agent.ts b/src/renderer/src/types/agent.ts index 58e7e5e7cb..d477a6f59c 100644 --- a/src/renderer/src/types/agent.ts +++ b/src/renderer/src/types/agent.ts @@ -1,6 +1,8 @@ /** * Database entity types for Agent, Session, and SessionMessage * Shared between main and renderer processes + * + * WARNING: Any null value will be converted to undefined from api. */ import { ModelMessage, modelMessageSchema, TextStreamPart } from 'ai' import { z } from 'zod'