diff options
| author | Shoubhit Dash <[email protected]> | 2025-10-22 22:43:09 +0530 |
|---|---|---|
| committer | Shoubhit Dash <[email protected]> | 2025-10-22 22:43:09 +0530 |
| commit | 5612380dc2c10ac95bd4c01544401e4ea3ac8291 (patch) | |
| tree | 8331c23357e2f269adabddd2110e12d1019af4c3 /packages | |
| parent | fix: t3chat prompt injection (#505) (diff) | |
| download | supermemory-5612380dc2c10ac95bd4c01544401e4ea3ac8291.tar.xz supermemory-5612380dc2c10ac95bd4c01544401e4ea3ac8291.zip | |
fix prompt mutation in vercel middleware
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/tools/src/vercel/middleware.ts | 12 |
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, |