From 2e38a944d32c97e59561f8ca01bfd8afab301617 Mon Sep 17 00:00:00 2001 From: shatfield4 Date: Thu, 21 Mar 2024 13:07:11 -0700 Subject: [PATCH 1/3] track workspace prompt change --- server/endpoints/workspaces.js | 2 +- server/models/workspace.js | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/server/endpoints/workspaces.js b/server/endpoints/workspaces.js index 2fe63e58af9..13f2d3ec622 100644 --- a/server/endpoints/workspaces.js +++ b/server/endpoints/workspaces.js @@ -87,7 +87,7 @@ function workspaceEndpoints(app) { response.sendStatus(400).end(); return; } - + await Workspace.trackChange(data, currWorkspace, user); const { workspace, message } = await Workspace.update( currWorkspace.id, data diff --git a/server/models/workspace.js b/server/models/workspace.js index 48952c637c6..f65cfe3fbab 100644 --- a/server/models/workspace.js +++ b/server/models/workspace.js @@ -4,6 +4,8 @@ const { Document } = require("./documents"); const { WorkspaceUser } = require("./workspaceUsers"); const { ROLES } = require("../utils/middleware/multiUserProtected"); const { v4: uuidv4 } = require("uuid"); +const { Telemetry } = require("./telemetry"); +const { EventLogs } = require("./eventLogs"); const Workspace = { writable: [ @@ -213,6 +215,19 @@ const Workspace = { return { success: false, error: error.message }; } }, + + trackChange: async function (newData, currWorkspace, user) { + try { + if (newData.openAiPrompt !== currWorkspace.openAiPrompt) { + await Telemetry.sendTelemetry("workspace_prompt_changed"); + await EventLogs.logEvent("workspace_prompt_changed", {}, user?.id); + } + return; + } catch (error) { + console.error("Error tracking workspace change:", error.message); + return; + } + }, }; module.exports = { Workspace }; From 24429de6ea0ee55725a00d02d3c33eadae2de170 Mon Sep 17 00:00:00 2001 From: timothycarambat Date: Thu, 21 Mar 2024 15:20:16 -0700 Subject: [PATCH 2/3] refactor --- server/models/workspace.js | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/server/models/workspace.js b/server/models/workspace.js index f65cfe3fbab..7056468d1b0 100644 --- a/server/models/workspace.js +++ b/server/models/workspace.js @@ -4,10 +4,10 @@ const { Document } = require("./documents"); const { WorkspaceUser } = require("./workspaceUsers"); const { ROLES } = require("../utils/middleware/multiUserProtected"); const { v4: uuidv4 } = require("uuid"); -const { Telemetry } = require("./telemetry"); -const { EventLogs } = require("./eventLogs"); const Workspace = { + defaultPrompt: + "Given the following conversation, relevant context, and a follow up question, reply with an answer to the current question the user is asking. Return only your response to the question given the above information following the users instructions as needed.", writable: [ // Used for generic updates so we can validate keys in request body "name", @@ -216,12 +216,27 @@ const Workspace = { } }, - trackChange: async function (newData, currWorkspace, user) { + trackChange: async function (prevData, newData, user) { try { - if (newData.openAiPrompt !== currWorkspace.openAiPrompt) { - await Telemetry.sendTelemetry("workspace_prompt_changed"); - await EventLogs.logEvent("workspace_prompt_changed", {}, user?.id); - } + const { Telemetry } = require("./telemetry"); + const { EventLogs } = require("./eventLogs"); + if ( + !newData?.openAiPrompt || + newData?.openAiPrompt === this.defaultPrompt || + newData?.openAiPrompt === prevData?.openAiPrompt + ) + return; + + await Telemetry.sendTelemetry("workspace_prompt_changed"); + await EventLogs.logEvent( + "workspace_prompt_changed", + { + workspaceName: prevData?.name, + prevSystemPrompt: prevData?.openAiPrompt || this.defaultPrompt, + newSystemPrompt: newData?.openAiPrompt, + }, + user?.id + ); return; } catch (error) { console.error("Error tracking workspace change:", error.message); From 5cde71afd285653282dc993adcc9e8f1e46d56d6 Mon Sep 17 00:00:00 2001 From: timothycarambat Date: Thu, 21 Mar 2024 15:21:18 -0700 Subject: [PATCH 3/3] modify arg order --- server/endpoints/workspaces.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/endpoints/workspaces.js b/server/endpoints/workspaces.js index 13f2d3ec622..d3715cd843a 100644 --- a/server/endpoints/workspaces.js +++ b/server/endpoints/workspaces.js @@ -87,7 +87,7 @@ function workspaceEndpoints(app) { response.sendStatus(400).end(); return; } - await Workspace.trackChange(data, currWorkspace, user); + await Workspace.trackChange(currWorkspace, data, user); const { workspace, message } = await Workspace.update( currWorkspace.id, data