aboutsummaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorShoubhit Dash <[email protected]>2025-10-22 22:43:09 +0530
committerShoubhit Dash <[email protected]>2025-10-22 22:43:09 +0530
commit5612380dc2c10ac95bd4c01544401e4ea3ac8291 (patch)
tree8331c23357e2f269adabddd2110e12d1019af4c3 /packages
parentfix: t3chat prompt injection (#505) (diff)
downloadsupermemory-5612380dc2c10ac95bd4c01544401e4ea3ac8291.tar.xz
supermemory-5612380dc2c10ac95bd4c01544401e4ea3ac8291.zip
fix prompt mutation in vercel middleware
Diffstat (limited to 'packages')
-rw-r--r--packages/tools/src/vercel/middleware.ts12
1 files changed, 9 insertions, 3 deletions
diff --git a/packages/tools/src/vercel/middleware.ts b/packages/tools/src/vercel/middleware.ts
index 0abebb5a..75d7a12d 100644
--- a/packages/tools/src/vercel/middleware.ts
+++ b/packages/tools/src/vercel/middleware.ts
@@ -9,7 +9,7 @@ import { convertProfileToMarkdown, type ProfileStructure } from "./util"
const getLastUserMessage = (params: LanguageModelV2CallOptions) => {
const lastUserMessage = params.prompt
- .reverse()
+ .slice().reverse()
.find((prompt: LanguageModelV2Message) => prompt.role === "user")
const memories = lastUserMessage?.content
.filter((content) => content.type === "text")
@@ -70,7 +70,7 @@ const addSystemPrompt = async (
const queryText =
mode !== "profile"
? params.prompt
- .reverse()
+ .slice().reverse()
.find((prompt) => prompt.role === "user")
?.content?.filter((content) => content.type === "text")
?.map((content) => (content.type === "text" ? content.text : ""))
@@ -136,15 +136,21 @@ const getConversationContent = (params: LanguageModelV2CallOptions) => {
return params.prompt
.map((msg) => {
const role = msg.role === "user" ? "User" : "Assistant"
+
+ if (typeof msg.content === "string") {
+ return `${role}: ${msg.content}`
+ }
+
const content = msg.content
.filter((c) => c.type === "text")
- .map((c) => c.text)
+ .map((c) => (c.type === "text" ? c.text : ""))
.join(" ")
return `${role}: ${content}`
})
.join("\n\n")
}
+
const addMemoryTool = async (
client: Supermemory,
containerTag: string,