Memory and context engine + app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.
This report summarizes scanner evidence for supermemoryai/supermemory, a TypeScript project with 31,184 GitHub stars. SynthScan examined 78,625 lines of code across 493 source files, recording 437 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 8.1 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 240 finding(s).
Are imports declared and package/API names verified? 135 finding(s).
Are wrappers, guards, and repeated structures necessary? 224 finding(s).
Which changes need focused human review? 437 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 437 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/ui/components/chart.tsx | 308 | function getPayloadConfigFromPayload( | CODE |
| LOW | packages/tools/test/claude-memory-real-example.ts | 16 | export async function handleClaudeMemoryToolCall( | CODE |
| LOW | packages/tools/src/tools-shared.ts | 305 | export function deduplicateMemoriesForMode( | CODE |
| LOW | packages/tools/src/mastra/processor.ts | 357 | export function createSupermemoryProcessor( | CODE |
| LOW | packages/tools/src/mastra/processor.ts | 389 | export function createSupermemoryOutputProcessor( | CODE |
| LOW | packages/tools/src/mastra/processor.ts | 426 | export function createSupermemoryProcessors( | CODE |
| LOW | packages/tools/src/shared/memory-context.ts | 11 | function escapeMemoryContextDelimiters(memories: string): string { | CODE |
| LOW | packages/tools/src/openai/tools.ts | 212 | export function createSearchMemoriesFunction( | CODE |
| LOW | packages/tools/src/openai/tools.ts | 294 | export function createDocumentListFunction( | CODE |
| LOW | packages/tools/src/openai/tools.ts | 324 | export function createDocumentDeleteFunction( | CODE |
| LOW | packages/tools/src/openai/tools.ts | 348 | export function createDocumentAddFunction( | CODE |
| LOW | packages/tools/src/openai/tools.ts | 383 | export function createMemoryForgetFunction( | CODE |
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 308 | def test_participant_attribute_beats_identity_and_sanitizes(self): | CODE |
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 323 | def test_explicit_tag_beats_participant(self): | CODE |
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 331 | def test_capture_groups_new_turns_and_skips_injection(self): | CODE |
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 564 | def test_unscoped_tools_do_not_call_the_api(self): | CODE |
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 571 | def test_blank_memory_falls_through_to_chunk(self): | CODE |
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 576 | def test_memory_text_cannot_break_the_wrapper(self): | CODE |
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 582 | def test_identifier_is_stable_and_bounded(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 116 | def test_empty_profile_does_not_inject(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 127 | def test_null_profile_is_empty(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 136 | def test_recall_inserts_before_user_timestamp_and_replaces_previous(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 162 | def test_query_mode_skips_profile_sections(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 178 | def test_enrich_injects_when_the_user_message_is_already_present(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 193 | def test_enrich_replaces_preloaded_profile_each_turn(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 209 | def test_one_recall_per_user_message(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 228 | def test_same_words_in_a_later_turn_recall_again(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 240 | def test_failed_recall_never_shows_another_callers_memory(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 264 | def test_slow_recall_falls_back_to_the_callers_call_start_profile(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 278 | def test_new_user_message_recalls_again(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 291 | def test_timeout_and_errors_do_not_fail_the_turn(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 366 | def test_close_flushes_a_trailing_user_turn(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 383 | def test_capture_never_does_not_store(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 403 | def test_store_failure_is_retried_on_close(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 430 | def test_tools_search_remember_forget(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 451 | def test_remember_falls_back_when_instant_is_not_available(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 470 | def test_capture_falls_back_once_when_instant_is_not_available(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 503 | def test_rebind_keeps_captured_turns_in_the_callers_scope(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 526 | def test_hung_store_times_out_and_keeps_the_turns(self): | CODE |
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 550 | def test_large_calls_are_stored_in_bounded_chunks(self): | CODE |
| LOW | packages/agent-framework-python/tests/test_utils.py | 28 | def test_deduplication_priority(self) -> None: | CODE |
| LOW | packages/agent-framework-python/tests/test_utils.py | 52 | def test_empty_strings_filtered(self) -> None: | CODE |
| LOW | packages/agent-framework-python/tests/test_utils.py | 64 | def test_normalized_fact_variants(self) -> None: | CODE |
| LOW⚡ | …ckages/agent-framework-python/tests/test_middleware.py | 98 | def test_uses_connection_client(self) -> None: | CODE |
| LOW⚡ | …ckages/agent-framework-python/tests/test_middleware.py | 103 | def test_conversation_id_from_connection(self) -> None: | CODE |
| LOW⚡ | …ckages/agent-framework-python/tests/test_middleware.py | 109 | def test_auto_generated_conversation_id(self) -> None: | CODE |
| LOW⚡ | …ckages/agent-framework-python/tests/test_middleware.py | 115 | def test_entity_context_from_connection(self) -> None: | CODE |
| LOW⚡ | …ckages/agent-framework-python/tests/test_middleware.py | 122 | def test_replaces_prior_sdk_context(self) -> None: | CODE |
| LOW | …ckages/agent-framework-python/tests/test_middleware.py | 147 | async def test_query_mode_keeps_search_fact_also_present_in_profile(self) -> None: | CODE |
| LOW⚡ | …ckages/agent-framework-python/tests/test_connection.py | 18 | def test_accepts_api_key_param(self) -> None: | CODE |
| LOW⚡ | …ckages/agent-framework-python/tests/test_connection.py | 27 | def test_default_container_tag(self) -> None: | CODE |
| LOW⚡ | …ckages/agent-framework-python/tests/test_connection.py | 31 | def test_custom_container_tag(self) -> None: | CODE |
| LOW⚡ | …ckages/agent-framework-python/tests/test_connection.py | 35 | def test_auto_generates_conversation_id(self) -> None: | CODE |
| LOW⚡ | …ckages/agent-framework-python/tests/test_connection.py | 41 | def test_custom_conversation_id(self) -> None: | CODE |
| LOW | …ckages/agent-framework-python/tests/test_connection.py | 53 | def test_entity_context_default_none(self) -> None: | CODE |
| LOW | …ckages/agent-framework-python/tests/test_connection.py | 57 | def test_shared_client_instance(self) -> None: | CODE |
| LOW | …ages/agent-framework-python/tests/test_v5_transport.py | 136 | async def test_provider_and_middleware_retrieval_modes(memory_api, mode): | CODE |
| LOW | …ages/agent-framework-python/tests/test_v5_transport.py | 187 | async def test_tool_formats_and_append_mapping(memory_api): | CODE |
| LOW | …ages/agent-framework-python/tests/test_v5_transport.py | 241 | async def test_failure_policy_with_sdk_errors(memory_api, failure): | CODE |
| LOW | …ages/agent-framework-python/tests/test_v5_transport.py | 290 | async def test_empty_and_missing_query_do_not_inject_stale_memories(memory_api): | CODE |
| 102 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/tools/test/claude-memory-examples.ts | 245 | -H "Authorization: Bearer YOUR_API_KEY" \\ | CODE |
| HIGH⚡ | packages/tools/test/claude-memory-examples.ts | 261 | -H "Authorization: Bearer YOUR_API_KEY" | CODE |
| HIGH⚡ | packages/tools/test/claude-memory-examples.ts | 265 | -H "Authorization: Bearer YOUR_API_KEY" \\ | CODE |
| HIGH⚡ | packages/tools/test/claude-memory-examples.ts | 271 | -H "Authorization: Bearer YOUR_API_KEY" \\ | CODE |
| HIGH | packages/tools/test/claude-memory-examples.ts | 286 | -H "Authorization: Bearer YOUR_API_KEY" \\ | CODE |
| HIGH | packages/agent-framework-python/README.md | 252 | api_key="your-api-key", | CODE |
| HIGH | packages/docs-test/tests/integrations/ai-sdk.ts | 90 | const tools = supermemoryTools("YOUR_API_KEY") | CODE |
| HIGH⚡ | packages/openai-sdk-python/README.md | 304 | search_tool = create_search_memories_tool("your-api-key") | CODE |
| HIGH⚡ | packages/openai-sdk-python/README.md | 305 | add_tool = create_add_memory_tool("your-api-key") | CODE |
| HIGH⚡ | packages/openai-sdk-python/README.md | 306 | profile_tool = create_get_profile_tool("your-api-key") | CODE |
| HIGH⚡ | packages/openai-sdk-python/README.md | 307 | list_tool = create_document_list_tool("your-api-key") | CODE |
| HIGH⚡ | packages/openai-sdk-python/README.md | 308 | delete_tool = create_document_delete_tool("your-api-key") | CODE |
| HIGH⚡ | packages/openai-sdk-python/README.md | 309 | document_add_tool = create_document_add_tool("your-api-key") | CODE |
| HIGH⚡ | packages/openai-sdk-python/README.md | 310 | forget_tool = create_memory_forget_tool("your-api-key") | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 16 | Authorization: Bearer YOUR_API_KEY | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 34 | Authorization: Bearer YOUR_API_KEY | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 52 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 114 | Authorization: Bearer YOUR_API_KEY | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 165 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 237 | Authorization: Bearer YOUR_API_KEY | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 255 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 392 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 474 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 481 | -H "Authorization: Bearer YOUR_API_KEY" | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 504 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 520 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 537 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | skills/supermemory/references/api-reference.md | 564 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/livekit-sdk-python/tests/test_memory.py | 1 | CODE | |
| LOW | …s/livekit-sdk-python/src/supermemory_livekit/memory.py | 3 | CODE | |
| LOW | …es/livekit-sdk-python/src/supermemory_livekit/tools.py | 6 | CODE | |
| LOW | …livekit-sdk-python/src/supermemory_livekit/__init__.py | 6 | CODE | |
| LOW | …livekit-sdk-python/src/supermemory_livekit/__init__.py | 6 | CODE | |
| LOW | …livekit-sdk-python/src/supermemory_livekit/__init__.py | 7 | CODE | |
| LOW | …livekit-sdk-python/src/supermemory_livekit/__init__.py | 7 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 3 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 6 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 9 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 9 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 9 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 9 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 9 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 9 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 17 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 17 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 21 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 21 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 21 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 21 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 27 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 27 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 27 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 27 | CODE | |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 27 | CODE | |
| LOW | packages/pipecat-sdk-python/tests/test_empty_profile.py | 1 | CODE | |
| LOW | …pipecat-sdk-python/src/supermemory_pipecat/__init__.py | 30 | CODE | |
| LOW | …pipecat-sdk-python/src/supermemory_pipecat/__init__.py | 30 | CODE | |
| LOW | …pipecat-sdk-python/src/supermemory_pipecat/__init__.py | 30 | CODE | |
| LOW | …pipecat-sdk-python/src/supermemory_pipecat/__init__.py | 30 | CODE | |
| LOW | …pipecat-sdk-python/src/supermemory_pipecat/__init__.py | 30 | CODE | |
| LOW | …pipecat-sdk-python/src/supermemory_pipecat/__init__.py | 30 | CODE | |
| LOW | …pipecat-sdk-python/src/supermemory_pipecat/__init__.py | 38 | CODE | |
| LOW | …pipecat-sdk-python/src/supermemory_pipecat/__init__.py | 39 | CODE | |
| LOW | …pipecat-sdk-python/src/supermemory_pipecat/__init__.py | 39 | CODE | |
| LOW | …pipecat-sdk-python/src/supermemory_pipecat/__init__.py | 39 | CODE | |
| LOW | packages/docs-test/tests/python/sdk.py | 1 | CODE | |
| LOW | packages/docs-test/tests/python/user_profiles.py | 1 | CODE | |
| LOW | packages/docs-test/tests/python/search.py | 1 | CODE | |
| LOW | packages/docs-test/tests/python/quickstart.py | 1 | CODE | |
| LOW | …ckages/cartesia-sdk-python/tests/test_empty_profile.py | 1 | CODE | |
| LOW | …rtesia-sdk-python/src/supermemory_cartesia/__init__.py | 38 | CODE | |
| LOW | …rtesia-sdk-python/src/supermemory_cartesia/__init__.py | 38 | CODE | |
| LOW | …rtesia-sdk-python/src/supermemory_cartesia/__init__.py | 38 | CODE | |
| LOW | …rtesia-sdk-python/src/supermemory_cartesia/__init__.py | 38 | CODE | |
| LOW | …rtesia-sdk-python/src/supermemory_cartesia/__init__.py | 38 | CODE | |
| LOW | …rtesia-sdk-python/src/supermemory_cartesia/__init__.py | 38 | CODE | |
| LOW | …rtesia-sdk-python/src/supermemory_cartesia/__init__.py | 46 | CODE | |
| LOW | …rtesia-sdk-python/src/supermemory_cartesia/__init__.py | 46 | CODE | |
| LOW | …rtesia-sdk-python/src/supermemory_cartesia/__init__.py | 46 | CODE | |
| LOW | …rtesia-sdk-python/src/supermemory_cartesia/__init__.py | 46 | CODE | |
| LOW | packages/openai-sdk-python/tests/test_middleware.py | 6 | CODE | |
| LOW | packages/openai-sdk-python/tests/test_middleware.py | 7 | CODE | |
| LOW | packages/openai-sdk-python/tests/test_middleware.py | 7 | CODE | |
| LOW | …s/openai-sdk-python/src/supermemory_openai/__init__.py | 3 | CODE | |
| LOW | …s/openai-sdk-python/src/supermemory_openai/__init__.py | 3 | CODE | |
| LOW | …s/openai-sdk-python/src/supermemory_openai/__init__.py | 3 | CODE | |
| LOW | …s/openai-sdk-python/src/supermemory_openai/__init__.py | 3 | CODE | |
| LOW | …s/openai-sdk-python/src/supermemory_openai/__init__.py | 3 | CODE | |
| 39 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s/livekit-sdk-python/src/supermemory_livekit/memory.py | 188 | except Exception: | CODE |
| LOW | …s/livekit-sdk-python/src/supermemory_livekit/memory.py | 200 | except Exception: | CODE |
| LOW | …s/livekit-sdk-python/src/supermemory_livekit/memory.py | 238 | except Exception: | CODE |
| LOW | …s/livekit-sdk-python/src/supermemory_livekit/memory.py | 246 | except Exception: | CODE |
| LOW | …s/livekit-sdk-python/src/supermemory_livekit/memory.py | 266 | except Exception: | CODE |
| LOW | …s/livekit-sdk-python/src/supermemory_livekit/memory.py | 289 | except Exception: | CODE |
| LOW | …s/livekit-sdk-python/src/supermemory_livekit/memory.py | 309 | except Exception: | CODE |
| LOW | …s/livekit-sdk-python/src/supermemory_livekit/memory.py | 331 | except Exception: | CODE |
| LOW | …s/livekit-sdk-python/src/supermemory_livekit/memory.py | 491 | except Exception as exc: | CODE |
| LOW | …s/livekit-sdk-python/src/supermemory_livekit/memory.py | 522 | except Exception: | CODE |
| LOW | …es/livekit-sdk-python/src/supermemory_livekit/utils.py | 113 | except Exception: | CODE |
| LOW | …mework-python/src/supermemory_agent_framework/tools.py | 139 | except Exception as error: | CODE |
| LOW | …mework-python/src/supermemory_agent_framework/tools.py | 162 | except Exception as error: | CODE |
| LOW | …mework-python/src/supermemory_agent_framework/tools.py | 195 | except Exception as error: | CODE |
| LOW | …on/src/supermemory_agent_framework/context_provider.py | 126 | except Exception as e: | CODE |
| LOW | …on/src/supermemory_agent_framework/context_provider.py | 189 | except Exception as e: | CODE |
| LOW | …k-python/src/supermemory_agent_framework/middleware.py | 208 | except Exception as error: | CODE |
| LOW | …k-python/src/supermemory_agent_framework/middleware.py | 327 | except Exception as e: | CODE |
| LOW | …/pipecat-sdk-python/src/supermemory_pipecat/service.py | 201 | except Exception as e: | CODE |
| LOW | …/pipecat-sdk-python/src/supermemory_pipecat/service.py | 252 | except Exception as e: | CODE |
| LOW | …/pipecat-sdk-python/src/supermemory_pipecat/service.py | 275 | except Exception as e: | CODE |
| LOW | …/pipecat-sdk-python/src/supermemory_pipecat/service.py | 304 | except Exception as e: | CODE |
| LOW | …/pipecat-sdk-python/src/supermemory_pipecat/service.py | 493 | except Exception as e: | CODE |
| LOW | …es/pipecat-sdk-python/src/supermemory_pipecat/utils.py | 69 | except Exception: | CODE |
| LOW | …/cartesia-sdk-python/src/supermemory_cartesia/utils.py | 49 | except Exception: | CODE |
| LOW | …/cartesia-sdk-python/src/supermemory_cartesia/agent.py | 147 | except Exception as e: | CODE |
| LOW | …/cartesia-sdk-python/src/supermemory_cartesia/agent.py | 202 | except Exception as e: | CODE |
| LOW | …/cartesia-sdk-python/src/supermemory_cartesia/agent.py | 239 | except Exception as e: | CODE |
| LOW | …/cartesia-sdk-python/src/supermemory_cartesia/agent.py | 403 | except Exception as e: | CODE |
| LOW | …/cartesia-sdk-python/src/supermemory_cartesia/agent.py | 515 | except Exception as e: | CODE |
| LOW | packages/openai-sdk-python/README.md | 424 | except Exception as e: | CODE |
| LOW | packages/openai-sdk-python/test_integration.py | 68 | except Exception as e: | CODE |
| LOW⚡ | packages/openai-sdk-python/test_integration.py | 118 | except Exception as e: | CODE |
| LOW⚡ | packages/openai-sdk-python/test_integration.py | 137 | except Exception as e: | CODE |
| LOW | packages/openai-sdk-python/test_integration.py | 171 | except Exception as e: | CODE |
| LOW | …ages/openai-sdk-python/src/supermemory_openai/tools.py | 484 | except Exception as error: | CODE |
| LOW | …ages/openai-sdk-python/src/supermemory_openai/tools.py | 507 | except Exception as error: | CODE |
| LOW | …ages/openai-sdk-python/src/supermemory_openai/tools.py | 543 | except Exception as error: | CODE |
| LOW | …ages/openai-sdk-python/src/supermemory_openai/tools.py | 575 | except Exception as error: | CODE |
| LOW | …ages/openai-sdk-python/src/supermemory_openai/tools.py | 606 | except Exception as error: | CODE |
| LOW | …ages/openai-sdk-python/src/supermemory_openai/tools.py | 643 | except Exception as error: | CODE |
| LOW | …ages/openai-sdk-python/src/supermemory_openai/tools.py | 683 | except Exception as error: | CODE |
| LOW | …openai-sdk-python/src/supermemory_openai/middleware.py | 397 | except Exception as error: | CODE |
| LOW | …openai-sdk-python/src/supermemory_openai/middleware.py | 434 | except Exception as e: | CODE |
| LOW | …openai-sdk-python/src/supermemory_openai/middleware.py | 634 | except Exception as e: | CODE |
| LOW | apps/docs/migration/mem0-migration-script.py | 110 | except Exception as e: | CODE |
| LOW | apps/docs/migration/mem0-migration-script.py | 221 | except Exception as e: | CODE |
| LOW | apps/docs/migration/mem0-migration-script.py | 259 | except Exception as e: | CODE |
| LOW | apps/docs/migration/mem0-migration-script.py | 330 | except Exception as e: | CODE |
| LOW | apps/sdk-playground/python/server.py | 457 | except Exception as error: | CODE |
| LOW | apps/sdk-playground/python/server.py | 478 | except Exception: | CODE |
| LOW | apps/sdk-playground/python/server.py | 682 | except Exception as error: | CODE |
| LOW | apps/sdk-playground/python/server.py | 711 | except Exception as error: | CODE |
| LOW | apps/sdk-playground/python/server.py | 730 | except Exception as error: | CODE |
| LOW | apps/sdk-playground/python/server.py | 863 | except Exception as error: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/tools/test/claude-memory-real-example.ts | 79 | // Step 1: Make initial request to Claude | COMMENT |
| LOW | packages/tools/test/claude-memory-real-example.ts | 116 | // Step 2: Handle any tool calls | COMMENT |
| LOW | packages/tools/test/claude-memory-real-example.ts | 146 | // Step 3: Send tool results back to Claude if there were any | COMMENT |
| LOW | packages/tools/test/with-supermemory/unit.test.ts | 184 | // Step 1: New turn (user message last) | COMMENT |
| LOW | packages/tools/test/with-supermemory/unit.test.ts | 196 | // Step 2: Continuation (assistant/tool after user) | COMMENT |
| LOW | skills/supermemory/references/quickstart.md | 5 | ## Step 1: Get Your API Key | COMMENT |
| LOW | skills/supermemory/references/quickstart.md | 12 | ## Step 2: Install the SDK | COMMENT |
| LOW | skills/supermemory/references/quickstart.md | 36 | ## Step 3: Set Environment Variable | COMMENT |
| LOW | skills/supermemory/references/quickstart.md | 49 | ## Step 4: Basic Usage | COMMENT |
| LOW⚡ | apps/docs/snippets/agent-prompt.jsx | 23 | ## Step 1: Credentials | COMMENT |
| LOW⚡ | apps/docs/snippets/agent-prompt.jsx | 31 | ## Step 2: Install the docs MCP server, then brief the user | COMMENT |
| LOW⚡ | apps/docs/snippets/agent-prompt.jsx | 39 | ## Step 3: Scan this repo for integration points | COMMENT |
| LOW | apps/docs/snippets/agent-prompt.jsx | 52 | ## Step 4: Propose, then get approval before touching code | COMMENT |
| LOW | apps/docs/snippets/agent-prompt.jsx | 69 | ## Step 5: Suggest uses tailored to this project | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 74 | # Step 1: Create export job | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 83 | # Step 2: Wait for export to complete | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 87 | # Step 3: Retrieve the exported data using the correct method | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 91 | # Step 4: Save backup | COMMENT |
| LOW | apps/docs/migration/mem0-migration-script.py | 286 | # Step 1: Export from Mem0 | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 301 | # Step 2: Import to Supermemory | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 307 | # Step 3: Verify migration | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/tools/test/claude-memory-real-example.ts | 79 | // Step 1: Make initial request to Claude | COMMENT |
| LOW | packages/tools/test/claude-memory-real-example.ts | 116 | // Step 2: Handle any tool calls | COMMENT |
| LOW | packages/tools/test/claude-memory-real-example.ts | 146 | // Step 3: Send tool results back to Claude if there were any | COMMENT |
| LOW | packages/tools/test/with-supermemory/unit.test.ts | 184 | // Step 1: New turn (user message last) | COMMENT |
| LOW | packages/tools/test/with-supermemory/unit.test.ts | 196 | // Step 2: Continuation (assistant/tool after user) | COMMENT |
| LOW⚡ | apps/docs/snippets/agent-prompt.jsx | 23 | ## Step 1: Credentials | COMMENT |
| LOW⚡ | apps/docs/snippets/agent-prompt.jsx | 31 | ## Step 2: Install the docs MCP server, then brief the user | COMMENT |
| LOW⚡ | apps/docs/snippets/agent-prompt.jsx | 39 | ## Step 3: Scan this repo for integration points | COMMENT |
| LOW | apps/docs/snippets/agent-prompt.jsx | 52 | ## Step 4: Propose, then get approval before touching code | COMMENT |
| LOW | apps/docs/snippets/agent-prompt.jsx | 69 | ## Step 5: Suggest uses tailored to this project | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 74 | # Step 1: Create export job | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 83 | # Step 2: Wait for export to complete | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 87 | # Step 3: Retrieve the exported data using the correct method | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 91 | # Step 4: Save backup | COMMENT |
| LOW | apps/docs/migration/mem0-migration-script.py | 286 | # Step 1: Export from Mem0 | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 301 | # Step 2: Import to Supermemory | COMMENT |
| LOW⚡ | apps/docs/migration/mem0-migration-script.py | 307 | # Step 3: Verify migration | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …on/src/supermemory_agent_framework/context_provider.py | 234 | CODE | |
| LOW | …on/src/supermemory_agent_framework/context_provider.py | 275 | CODE | |
| LOW | …k-python/src/supermemory_agent_framework/middleware.py | 41 | CODE | |
| LOW | …k-python/src/supermemory_agent_framework/middleware.py | 76 | CODE | |
| LOW | …k-python/src/supermemory_agent_framework/middleware.py | 376 | CODE | |
| LOW | …k-python/src/supermemory_agent_framework/middleware.py | 432 | CODE | |
| LOW | …k-python/src/supermemory_agent_framework/middleware.py | 482 | CODE | |
| LOW | …k-python/src/supermemory_agent_framework/middleware.py | 262 | CODE | |
| LOW | …/pipecat-sdk-python/src/supermemory_pipecat/service.py | 435 | CODE | |
| LOW | …es/pipecat-sdk-python/src/supermemory_pipecat/utils.py | 36 | CODE | |
| LOW | …/cartesia-sdk-python/src/supermemory_cartesia/utils.py | 16 | CODE | |
| LOW | …/cartesia-sdk-python/src/supermemory_cartesia/agent.py | 206 | CODE | |
| LOW | …/cartesia-sdk-python/src/supermemory_cartesia/agent.py | 276 | CODE | |
| LOW | …/cartesia-sdk-python/src/supermemory_cartesia/agent.py | 300 | CODE | |
| LOW | …/cartesia-sdk-python/src/supermemory_cartesia/agent.py | 470 | CODE | |
| LOW | packages/openai-sdk-python/tests/test_middleware.py | 752 | CODE | |
| LOW | packages/openai-sdk-python/tests/test_middleware.py | 790 | CODE | |
| LOW | …ages/openai-sdk-python/src/supermemory_openai/utils.py | 129 | CODE | |
| LOW | …ages/openai-sdk-python/src/supermemory_openai/utils.py | 174 | CODE | |
| LOW | …openai-sdk-python/src/supermemory_openai/middleware.py | 486 | CODE | |
| LOW | …openai-sdk-python/src/supermemory_openai/middleware.py | 583 | CODE | |
| LOW | apps/sdk-playground/python/server.py | 225 | CODE | |
| LOW | apps/sdk-playground/python/server.py | 757 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | skills/supermemory/SKILL.md | 32 | ### 3. RAG - Advanced Semantic Search | COMMENT |
| MEDIUM | skills/supermemory/references/architecture.md | 395 | ### vs. Traditional RAG | COMMENT |
| MEDIUM | skills/supermemory/references/api-reference.md | 533 | ### Search with Filters (Hybrid Mode for RAG) | COMMENT |
| MEDIUM | apps/docs/install.md | 100 | // Option 1: Agent tools (recommended for agentic flows) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 318 | plugin.bind(participant=SimpleNamespace(identity="user@example.com", attributes={})) | CODE |
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 319 | self.assertNotEqual(plugin.container_tag, "user@example.com") | CODE |
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 320 | self.assertEqual(plugin.container_tag, to_identifier("user@example.com")) | CODE |
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 583 | first = to_identifier("user@example.com") | CODE |
| LOW⚡ | packages/livekit-sdk-python/tests/test_memory.py | 584 | self.assertEqual(first, to_identifier("user@example.com")) | CODE |
| LOW⚡ | packages/openai-sdk-python/test_integration.py | 128 | openai_client = OpenAI(api_key="fake-key") | CODE |
| LOW | apps/raycast-extension/package.json | 51 | "placeholder": "Enter your Supermemory API Key" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …k-python/src/supermemory_agent_framework/middleware.py | 599 | except (AttributeError, TypeError): | CODE |
| HIGH | …k-python/src/supermemory_agent_framework/middleware.py | 581 | except (AttributeError, TypeError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …/pipecat-sdk-python/src/supermemory_pipecat/service.py | 212 | Retrieve relevant memories from Supermemory. Args: query: The search query for memory retrieval. | STRING |
| HIGH | …openai-sdk-python/src/supermemory_openai/middleware.py | 793 | Wraps an OpenAI client with SuperMemory middleware to automatically inject relevant memories into the system pr | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/openai-sdk-python/tests/test_tools.py | 401 | # SupermemoryInfiniteChatConfigWithProviderName classes are implemented | COMMENT |
| LOW | packages/openai-sdk-python/tests/test_tools.py | 421 | # "project_id": "test-openai-integration", | COMMENT |
| LOW | packages/openai-sdk-python/tests/test_tools.py | 441 | # ], | COMMENT |
| LOW | skills/supermemory/references/sdk-guide.md | 141 | const response = await client.profile({ | COMMENT |
| LOW | skills/supermemory/references/sdk-guide.md | 221 | // { | COMMENT |
| LOW | apps/docs/README.md | 1 | # supermemory Docs | COMMENT |
| LOW | apps/docs/style.css | 561 | background: rgba(255, 255, 255, 0.06) !important; | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …livekit-sdk-python/src/supermemory_livekit/__init__.py | 23 | __all__ = [ | CODE |
| LOW | …ork-python/src/supermemory_agent_framework/__init__.py | 35 | __all__ = [ | CODE |
| LOW | …pipecat-sdk-python/src/supermemory_pipecat/__init__.py | 51 | __all__ = [ | CODE |
| LOW | …rtesia-sdk-python/src/supermemory_cartesia/__init__.py | 61 | __all__ = [ | CODE |
| LOW | …s/openai-sdk-python/src/supermemory_openai/__init__.py | 59 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | apps/docs/snippets/hero-samples.jsx | 34 | print([m.memory for m in profile.static]) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/tools/test/claude-memory-examples.ts | 232 | // Example usage: | COMMENT |
| LOW | packages/tools/src/claude-memory-simple-example.ts | 60 | // Example usage | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/openai-sdk-python/test_integration.py | 150 | # Create a fake OpenAI client for testing | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | apps/docs/migration/mem0-migration-script.py | 136 | # Check if content exists | COMMENT |