From 192aadfbb481d8ab67eb037b8c05659f167eca3d Mon Sep 17 00:00:00 2001 From: Philipinho <16838612+Philipinho@users.noreply.github.com> Date: Mon, 17 Aug 2026 01:06:38 +0100 Subject: [PATCH] feat(ai): rebuild turbopuffer namespaces when the embedding model changes --- .../database/repos/workspace/workspace.repo.ts | 18 ++++++++++++++++++ apps/server/src/ee | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/apps/server/src/database/repos/workspace/workspace.repo.ts b/apps/server/src/database/repos/workspace/workspace.repo.ts index d0f9b5cee..a8323d7ce 100644 --- a/apps/server/src/database/repos/workspace/workspace.repo.ts +++ b/apps/server/src/database/repos/workspace/workspace.repo.ts @@ -211,6 +211,24 @@ export class WorkspaceRepo { .executeTakeFirst(); } + async updateAiEmbeddingFingerprint( + workspaceId: string, + fingerprint: { driver: string; model: string; dimensions: number }, + trx?: KyselyTransaction, + ) { + const db = dbOrTx(this.db, trx); + return db + .updateTable('workspaces') + .set({ + settings: sql`COALESCE(settings, '{}'::jsonb) + || jsonb_build_object('ai', COALESCE(settings->'ai', '{}'::jsonb) + || jsonb_build_object('embedding', ${JSON.stringify(fingerprint)}::text::jsonb))`, + updatedAt: new Date(), + }) + .where('id', '=', workspaceId) + .execute(); + } + async updateSharingSettings( workspaceId: string, prefKey: string, diff --git a/apps/server/src/ee b/apps/server/src/ee index f2da346b2..26030bdd7 160000 --- a/apps/server/src/ee +++ b/apps/server/src/ee @@ -1 +1 @@ -Subproject commit f2da346b255e59e696be02e986b851e680191edf +Subproject commit 26030bdd71ed30fc710c8e9786877a317a094fc6