Commit graph

57 commits

Author SHA1 Message Date
abhinav7x94
363650cc44
Merge a127db6557 into 3f7b9667c6 2026-08-26 04:01:27 +05:30
MaheshtheDev
e4afc770be feat(tools): apiKey option, type re-exports, and two reliability fixes (#1594)
Some checks failed
Publish Tools / publish (push) Has been cancelled
Cherry-picks four contributor PRs for `@supermemory/tools` onto one branch, and bumps the package to 2.2.0.

- #1244 (@rajarshidattapy): `withSupermemory` accepts `options.apiKey` instead of only reading `SUPERMEMORY_API_KEY`, matching the Vercel, Mastra and Voltagent integrations. Unblocks secrets managers, edge runtimes and per-request keys.
- #1574 (@Agnik47): re-exports `PromptTemplate`, `MemoryPromptData` and `WithSupermemoryOptions` from `ai-sdk`. `./vercel` is not a published subpath, so the documented custom-template example did not compile.
- #1488 (@abhinav7x94): malformed tool-call JSON returns an error result instead of throwing out of the request.
- #1507 (@abhinav7x94): VoltAgent `onEnd` awaits the conversation save, which was fire-and-forget and could be dropped when a serverless runtime tore down.

Dropped the `middleware.test.ts` added by #1244. Note that editing `packages/tools/package.json` triggers the npm publish workflow on merge.

Co-Authored-By: rajarshidattapy <138959719+rajarshidattapy@users.noreply.github.com>
Co-Authored-By: Agnik47 <140933190+Agnik47@users.noreply.github.com>
Co-Authored-By: abhinav7x94 <204053250+abhinav7x94@users.noreply.github.com>
2026-08-24 22:39:55 +00:00
shamAnimates
a127db6557 fix(tools): scope Mastra memory cache per request 2026-08-16 16:19:54 +05:30
abhinav7x94
1f8ddd7f2c fix(tools): skip empty memory prompt injection 2026-08-16 04:09:38 +05:30
Abhinav Kumar Singh
82dae50ef4
fix(tools): bound memory forget requests (#1451) 2026-08-13 19:11:00 +05:30
Rajarshi Datta
86c3ad69d1
fix(middleware): update deduplication logic for profile memories in query mode (#1243) 2026-07-21 19:25:32 +05:30
Paramveer singh
bec73e28ad
docs(tools): correct addMemory default in OpenAI middleware JSDoc (#1253) 2026-07-17 23:17:26 -07:00
Abhay Singh
86854efee6
fix(tools): make claude-memory file operations act on the exact file, literally (#1285)
Some checks failed
Publish Tools / publish (push) Has been cancelled
2026-07-17 18:24:09 +05:30
Haroon
e5e4e498f2
fix(tools): coerce limit/offset in ai-sdk schemas (#1202)
Co-authored-by: Dhravya Shah <dhravyashah@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 19:42:15 -07:00
Gautam Sharma
bc6eb73d43
fix(tools): reject conflicting container config (#1214) 2026-07-10 19:15:25 -07:00
Sandipan kundu
2163f592b7
fix(tools,validation): persist tool-call turns in conversation memory & tidy search thresholds (#1211)
Co-authored-by: Dhravya Shah <dhravyashah@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 18:54:56 -07:00
Abhay Singh
501613b6bc
fix(tools): repair SDK call mismatches that broke five tools (#1186) 2026-07-10 18:30:41 -07:00
Mubashir R
9ad351feb0
fix: view_range [start, -1] drops the last line in the Claude memory tool (#1043)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 17:28:36 +05:30
sreedharsreeram
5ecc334989 Voltagent fixes (#882)
Some checks failed
Publish Tools / publish (push) Has been cancelled
2026-04-25 01:45:54 +00:00
sreedharsreeram
589edd3437 updated typescript and python sdk (#878) 2026-04-25 01:43:13 +00:00
sreedharsreeram
d7ee078ae9 mastra object structure udpates (#881) 2026-04-24 23:47:46 +00:00
sreedharsreeram
c76d27f284 custom id implementation (#877) 2026-04-24 23:43:16 +00:00
sreedharsreeram
3c02aefe44 withSupermemory config object signature (#876) 2026-04-24 23:43:16 +00:00
MaheshtheDev
23a60f90f6 tools: timeout and default option on error to skip (#875)
Some checks failed
Publish Tools / publish (push) Has been cancelled
**`withSupermemory`** **(AI SDK)**

- **`skipMemoryOnError`** **defaults to** **`true`**. memory errors/timeouts log and the model runs on the **original** prompt unless you set `skipMemoryOnError: false`.
- **Pre-LLM** **`/v4/profile`** **is aborted after 5s** via `AbortSigna`

**Docs**

- `packages/tools/README.md`, **`apps/docs/integrations/ai-sdk.md`**
2026-04-23 00:11:20 +00:00
MaheshtheDev
20c5a18e13 chore: skipMemoryOnError for withSupermemory (#871) 2026-04-21 16:43:23 +00:00
MaheshtheDev
76b0f2746b fix: Multi Params issue with @supermemory/tools (#854)
testing for now

fix proxy issue

upgraded the package
2026-04-16 07:37:09 +00:00
sreedharsreeram
0783594b8d voltagent-sdk (#791) 2026-04-14 20:22:46 +00:00
Ishaan Gupta
239fc123b9
feat: Use LRUCache instead of Map in MemoryCache (#774) 2026-03-20 10:37:39 -07:00
MaheshtheDev
a00a751e10 pkg(tools): Expose raw search results in MemoryPromptData for prompt templates (#787)
Expose raw search results in `MemoryPromptData` so prompt templates can traverse, filter, and selectively include results based on metadata (e.g. score, source).

##### Usage example

```typescript
const promptTemplate = (data: MemoryPromptData) => {
  const relevant = data.searchResults.filter(
    (r) => (r.metadata?.score as number) > 0.7
  )
  return `${data.userMemories}\n${relevant.map(r => r.memory).join('\n')}`
}
```
2026-03-19 00:38:53 +00:00
Mahesh Sanikommu
962fb85cd3
feat: empty state action for new spaces (#780)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-15 11:02:14 -07:00
sreedharsreeram
6d93cd083d OpenAI SDK Backfill (#771) 2026-03-06 23:57:10 +00:00
nexxeln
9553434c9a mastra integration (#717)
adds withSupermemory wrapper and input/output processors for
mastra agents:

- input processor fetches and injects memories into system prompt
before llm calls
- output processor saves conversations to supermemory after
responses
- supports profile, query, and full memory search modes
- includes custom prompt templates and requestcontext support

const agent = new Agent(withSupermemory(
{ id: "my-assistant", model: openai("gpt-4o"), instructions:
"..." },
"user-123",
{ mode: "full", addMemory: "always", threadId: "conv-456" }
))

includes docs as well

this pr also reworks how the tools package works into shared modules
2026-02-03 00:43:08 +00:00
MaheshtheDev
0853bc86cb feat: tools package strict mode for openai models (#699) 2026-01-23 03:15:39 +00:00
MaheshtheDev
1423bd7004 feat: mobile responsive, lint formats, toast, render issue fix (#688)
- Mobile responsive
- new toast design
- web document render issue fix
- posthog analytics
- ui improvements
2026-01-21 03:11:53 +00:00
MaheshtheDev
32a7eff3af fix(tools): multi step agent prompt caching (#685) 2026-01-20 01:30:43 +00:00
Dhravya Shah
87b361c26b
docs changes (#678)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 16:55:32 -08:00
MaheshtheDev
68d4d95c1d feat: allow prompt template for @supermemory/tools package (#655)
## Add customizable prompt templates for memory injection

**Changes:**

- Add `promptTemplate` option to `withSupermemory()` for full control over injected memory format (XML, custom branding, etc.)
- New `MemoryPromptData` interface with `userMemories` and `generalSearchMemories` fields
- Exclude `system` messages from persistence to avoid storing injected prompts
- Add JSDoc comments to all public interfaces for better DevEx

**Usage:**

```typescript
const customPrompt = (data: MemoryPromptData) => `
<user_memories>
${data.userMemories}
${data.generalSearchMemories}
</user_memories>
`.trim()

const model = withSupermemory(openai("gpt-4"), "user-123", {
  promptTemplate: customPrompt,
})
```
2026-01-07 03:48:16 +00:00
Arnab Mondal
aa5654f084
fix(tools): pass apiKey to profile search instead of using process.env (#634) 2025-12-30 10:15:10 -08:00
Dhravya Shah
1162cbf284 conditional 2025-12-23 19:38:55 -08:00
MaheshtheDev
d095bd234e feat(@supermemory/tools): vercel ai sdk compatbile with v5 and v6 (#628) 2025-12-24 01:36:03 +00:00
Dhravya Shah
67e783158b bump package 2025-12-23 15:26:47 -08:00
Dhravya Shah
821d3049cd fix: deduplicate memories after returned to save tokens 2025-12-22 11:09:50 -08:00
Dhravya
81e192e616 Support for conversations in SDKs (#618) 2025-12-20 00:46:13 +00:00
Arnab Mondal
f9d304ec3e
feat(tools): allow passing apiKey via options for browser support (#599)
Co-authored-by: Mahesh Sanikommmu <mahesh.svmr@gmail.com>
2025-12-05 00:34:44 +05:30
MaheshtheDev
1ff6b7f951 chore(@supermemory/tools): fix the documentation of withSupermemory (#601)
- small docs miss match on addMemory default option
2025-12-03 18:59:55 +00:00
Shoubhit Dash
7b0baea0f2
add support for responses api in openai typescript sdk (#549) 2025-11-07 07:39:44 -07:00
MaheshtheDev
97071502a7 feat(@supermemory/tools): capture assitant responses with filtered memory (#539)
### Added streaming support to the Supermemory middleware and improved memory handling in the AI SDK integration.

### What changed?

- Refactored the middleware architecture to support both streaming and non-streaming responses
- Extracted memory prompt functionality into a separate module (`memory-prompt.ts`)
- Added memory saving capability for streaming responses
- Improved the formatting of memory content with a "User Supermemories:" prefix
- Added utility function to filter out supermemories from content
- Created a new streaming example in the test app with a dedicated route and page
- Updated version from 1.3.0 to 1.3.1 in package.json
- Simplified installation instructions in [README.m](http://README.md)d
2025-10-28 22:28:22 +00:00
MaheshtheDev
9d7f1edbfb fix: openai sdk packaging issue (#532) 2025-10-27 20:40:51 +00:00
MaheshtheDev
b3aab91489 feat: withSupermemory for openai sdk (#531)
### TL;DR

Added OpenAI SDK middleware support for SuperMemory integration, allowing direct memory injection without AI SDK dependency.

### What changed?

- Added `withSupermemory` middleware for OpenAI SDK that automatically injects relevant memories into chat completions
- Implemented memory search and injection functionality for OpenAI clients
- Restructured the OpenAI module to separate tools and middleware functionality
- Updated README with comprehensive documentation and examples for the new OpenAI middleware
- Added test implementation with a Next.js API route example
- Reorganized package exports to support the new structure
2025-10-27 20:08:11 +00:00
Mahesh Sanikommmu
4f2d839412 chat app withSupermemory test 2025-10-22 14:00:59 -07:00
Mahesh Sanikommmu
5fb33743b3 add props interface export 2025-10-22 12:31:54 -07:00
Shoubhit Dash
8436229cbb add comment 2025-10-22 23:00:08 +05:30
Shoubhit Dash
5612380dc2 fix prompt mutation in vercel middleware 2025-10-22 22:43:09 +05:30
sohamd22
79f3059b2a add conversationId functionality to map to customId in ingestion (#499)
### TL;DR

Added support for conversation grouping in Supermemory middleware through a new `conversationId` parameter.

### What changed?

- Added a new `conversationId` option to the `withSupermemory` function to group messages into a single document for contextual memory generation
- Updated the middleware to use this conversation ID when adding memories, using a `customId` format of `conversation:{conversationId}`
- Created a new `getConversationContent` function that extracts the full conversation content from the prompt parameters
- Enhanced memory storage to save entire conversations rather than just the last user message
- Updated documentation and examples to demonstrate the new parameter usage

### How to test?

1. Import the `withSupermemory` function from the package
2. Create a model with memory using the new `conversationId` parameter:
   ```typescript
   const modelWithMemory = withSupermemory(openai("gpt-4"), "user-123", {
     conversationId: "conversation-456",
     mode: "full",
     addMemory: "always"
   })
   ```
3. Use the model in a conversation and verify that messages are grouped by the conversation ID
4. Check that memories are being stored with the custom ID format `conversation:{conversationId}`

### Why make this change?

This enhancement improves the contextual understanding of the AI by allowing related messages to be grouped together as a single conversation document. By using a conversation ID, the system can maintain coherent memory across multiple interactions within the same conversation thread, providing better context retrieval and more relevant responses.
2025-10-19 22:24:00 +00:00
Mahesh Sanikommmu
3e47d9ee53 fix: side effect removal 2025-10-10 21:13:21 -07:00