mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-09-08 22:21:07 +00:00
fix
This commit is contained in:
parent
1e1bb559f6
commit
862b9d1fd9
6 changed files with 16 additions and 14 deletions
|
|
@ -347,7 +347,7 @@ class SupermemoryOpenAIOptions:
|
|||
api_key: Optional[str] = None # Supermemory API key (or use env var)
|
||||
verbose: bool = False # Enable detailed logging
|
||||
mode: Literal["profile", "query", "full"] = "profile" # Memory injection mode
|
||||
add_memory: Literal["always", "never"] = "never" # Auto-save behavior
|
||||
add_memory: Literal["always", "never"] = "always" # Auto-save behavior
|
||||
```
|
||||
|
||||
### SupermemoryTools
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@ class SupermemoryOpenAIOptions:
|
|||
mode: Literal["profile", "query", "full"] = "profile"
|
||||
"""Memory retrieval mode: 'profile', 'query', or 'full'."""
|
||||
|
||||
add_memory: Literal["always", "never"] = "never"
|
||||
"""Memory persistence mode: 'always' or 'never' (default)."""
|
||||
add_memory: Literal["always", "never"] = "always"
|
||||
"""Memory persistence mode: 'always' (default) or 'never'."""
|
||||
|
||||
|
||||
class SupermemoryProfileSearch:
|
||||
|
|
|
|||
4
packages/openai-sdk-python/uv.lock
generated
4
packages/openai-sdk-python/uv.lock
generated
|
|
@ -1,5 +1,5 @@
|
|||
version = 1
|
||||
revision = 2
|
||||
revision = 3
|
||||
requires-python = ">=3.8.1"
|
||||
resolution-markers = [
|
||||
"python_full_version >= '3.10'",
|
||||
|
|
@ -2427,7 +2427,7 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "supermemory-openai-sdk"
|
||||
version = "1.0.3"
|
||||
version = "2.0.0"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "openai" },
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@ interface SupermemoryOpenAIOptions {
|
|||
apiKey?: string // Supermemory API key (or use SUPERMEMORY_API_KEY env var)
|
||||
baseUrl?: string // Custom API endpoint
|
||||
mode?: "profile" | "query" | "full" // Memory search mode (default: "profile")
|
||||
addMemory?: "always" | "never" // Auto-save conversations (default: "never")
|
||||
addMemory?: "always" | "never" // Auto-save conversations (default: "always")
|
||||
verbose?: boolean // Enable debug logging (default: false)
|
||||
}
|
||||
```
|
||||
|
|
@ -591,7 +591,7 @@ interface SupermemoryMastraOptions {
|
|||
apiKey?: string // Supermemory API key (or use SUPERMEMORY_API_KEY env var)
|
||||
baseUrl?: string // Custom API endpoint
|
||||
mode?: "profile" | "query" | "full" // Memory search mode (default: "profile")
|
||||
addMemory?: "always" | "never" // Auto-save conversations (default: "never")
|
||||
addMemory?: "always" | "never" // Auto-save conversations (default: "always")
|
||||
threadId?: string // Conversation ID for grouping messages
|
||||
verbose?: boolean // Enable debug logging (default: false)
|
||||
promptTemplate?: (data: MemoryPromptData) => string // Custom memory formatting
|
||||
|
|
@ -665,7 +665,7 @@ interface WithSupermemoryOptions {
|
|||
- **conversationId**: Optional conversation ID to group messages into a single document for contextual memory generation
|
||||
- **verbose**: Enable detailed logging of memory search and injection process (default: false)
|
||||
- **mode**: Memory search mode - "profile" (default), "query", or "full"
|
||||
- **addMemory**: Automatic memory storage mode - "always" or "never" (default: "never")
|
||||
- **addMemory**: Automatic memory storage mode - "always" (default) or "never"
|
||||
|
||||
## Available Tools
|
||||
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ export interface SupermemoryOpenAIOptions {
|
|||
mode?: "profile" | "query" | "full"
|
||||
/**
|
||||
* Memory persistence mode:
|
||||
* - "always": Automatically save conversations as memories
|
||||
* - "never": Only retrieve memories, don't store new ones (default)
|
||||
* - "always": Automatically save conversations as memories (default)
|
||||
* - "never": Only retrieve memories, don't store new ones
|
||||
*/
|
||||
addMemory?: "always" | "never"
|
||||
}
|
||||
|
|
@ -445,7 +445,7 @@ export function createOpenAIMiddleware(
|
|||
baseUrl,
|
||||
verbose = false,
|
||||
mode = "profile",
|
||||
addMemory = "never",
|
||||
addMemory = "always",
|
||||
} = options
|
||||
|
||||
const logger = createLogger(verbose)
|
||||
|
|
|
|||
|
|
@ -243,6 +243,7 @@ describe("Unit: OpenAI withSupermemory", () => {
|
|||
containerTag: "user-123",
|
||||
customId: "conv-456",
|
||||
mode: "query",
|
||||
addMemory: "never",
|
||||
})
|
||||
|
||||
await wrapped.chat.completions.create({
|
||||
|
|
@ -435,6 +436,7 @@ describe("Unit: OpenAI withSupermemory", () => {
|
|||
const wrapped = withSupermemory(mockClient, {
|
||||
containerTag: "user-123",
|
||||
customId: "conv-456",
|
||||
addMemory: "never",
|
||||
})
|
||||
|
||||
await wrapped.chat.completions.create({
|
||||
|
|
@ -448,7 +450,7 @@ describe("Unit: OpenAI withSupermemory", () => {
|
|||
expect(fetchBody.containerTag).toBe("user-123")
|
||||
})
|
||||
|
||||
it("should default to never for addMemory", async () => {
|
||||
it("should default to always for addMemory", async () => {
|
||||
fetchMock.mockResolvedValue({
|
||||
ok: true,
|
||||
json: () => Promise.resolve(createMockProfileResponse()),
|
||||
|
|
@ -465,8 +467,8 @@ describe("Unit: OpenAI withSupermemory", () => {
|
|||
messages: [{ role: "user", content: "Hello" }],
|
||||
})
|
||||
|
||||
// Only 1 fetch (profile search), no memory add (default is "never")
|
||||
expect(fetchMock).toHaveBeenCalledTimes(1)
|
||||
// 2 fetches: profile search + memory add (default is "always")
|
||||
expect(fetchMock).toHaveBeenCalledTimes(2)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue