The Memory Layer for AI Agents - Drop-in memory infrastructure for AI agents and apps. Context that persists. Built for production.
This report summarizes scanner evidence for mem0ai/mem0, a Python project with 66,953 GitHub stars. SynthScan examined 319,905 lines of code across 1342 source files, recording 4931 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 33.5 (High 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? 2644 finding(s).
Are imports declared and package/API names verified? 344 finding(s).
Are wrappers, guards, and repeated structures necessary? 4055 finding(s).
Which changes need focused human review? 4931 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 4931 distinct pattern matches across 24 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 |
|---|---|---|---|---|
| HIGH | integrations/codex-plugin/core/hook_runner.py | 0 | shared hook orchestration for all mem0 agent plugins. | STRING |
| HIGH | integrations/kimi-plugin/core/hook_runner.py | 0 | shared hook orchestration for all mem0 agent plugins. | STRING |
| HIGH | integrations/antigravity-plugin/core/hook_runner.py | 0 | shared hook orchestration for all mem0 agent plugins. | STRING |
| HIGH | integrations/agent-plugin-core/python/hook_runner.py | 0 | shared hook orchestration for all mem0 agent plugins. | STRING |
| HIGH | integrations/claude-code-plugin/core/hook_runner.py | 0 | shared hook orchestration for all mem0 agent plugins. | STRING |
| HIGH | integrations/cursor-plugin/core/hook_runner.py | 0 | shared hook orchestration for all mem0 agent plugins. | STRING |
| HIGH | integrations/codex-plugin/core/hook_runner.py | 0 | record the assistant's response without transcript parsing. | STRING |
| HIGH | integrations/kimi-plugin/core/hook_runner.py | 0 | record the assistant's response without transcript parsing. | STRING |
| HIGH | integrations/antigravity-plugin/core/hook_runner.py | 0 | record the assistant's response without transcript parsing. | STRING |
| HIGH | integrations/agent-plugin-core/python/hook_runner.py | 0 | record the assistant's response without transcript parsing. | STRING |
| HIGH | integrations/claude-code-plugin/core/hook_runner.py | 0 | record the assistant's response without transcript parsing. | STRING |
| HIGH | integrations/cursor-plugin/core/hook_runner.py | 0 | record the assistant's response without transcript parsing. | STRING |
| HIGH | integrations/codex-plugin/core/hook_runner.py | 0 | search once before the agent handles the first prompt in a session. | STRING |
| HIGH | integrations/kimi-plugin/core/hook_runner.py | 0 | search once before the agent handles the first prompt in a session. | STRING |
| HIGH | integrations/antigravity-plugin/core/hook_runner.py | 0 | search once before the agent handles the first prompt in a session. | STRING |
| HIGH | integrations/agent-plugin-core/python/hook_runner.py | 0 | search once before the agent handles the first prompt in a session. | STRING |
| HIGH | integrations/claude-code-plugin/core/hook_runner.py | 0 | search once before the agent handles the first prompt in a session. | STRING |
| HIGH | integrations/cursor-plugin/core/hook_runner.py | 0 | search once before the agent handles the first prompt in a session. | STRING |
| HIGH | integrations/codex-plugin/core/_harness_id.py | 0 | generated by integrations/agent-plugin-core/build/build.py. do not edit. | STRING |
| HIGH | integrations/kimi-plugin/core/_harness_id.py | 0 | generated by integrations/agent-plugin-core/build/build.py. do not edit. | STRING |
| HIGH | integrations/antigravity-plugin/core/_harness_id.py | 0 | generated by integrations/agent-plugin-core/build/build.py. do not edit. | STRING |
| HIGH | integrations/claude-code-plugin/core/_harness_id.py | 0 | generated by integrations/agent-plugin-core/build/build.py. do not edit. | STRING |
| HIGH | integrations/mem0-agent-plugin/core/_harness_id.py | 0 | generated by integrations/agent-plugin-core/build/build.py. do not edit. | STRING |
| HIGH | integrations/cursor-plugin/core/_harness_id.py | 0 | generated by integrations/agent-plugin-core/build/build.py. do not edit. | STRING |
| HIGH | integrations/codex-plugin/core/flush_worker.py | 0 | detached remote checkpoint worker. claude code may cancel sessionend hooks as a print-mode process exits. the hook there | STRING |
| HIGH | integrations/kimi-plugin/core/flush_worker.py | 0 | detached remote checkpoint worker. claude code may cancel sessionend hooks as a print-mode process exits. the hook there | STRING |
| HIGH | integrations/antigravity-plugin/core/flush_worker.py | 0 | detached remote checkpoint worker. claude code may cancel sessionend hooks as a print-mode process exits. the hook there | STRING |
| HIGH | integrations/agent-plugin-core/python/flush_worker.py | 0 | detached remote checkpoint worker. claude code may cancel sessionend hooks as a print-mode process exits. the hook there | STRING |
| HIGH | integrations/claude-code-plugin/core/flush_worker.py | 0 | detached remote checkpoint worker. claude code may cancel sessionend hooks as a print-mode process exits. the hook there | STRING |
| HIGH | integrations/cursor-plugin/core/flush_worker.py | 0 | detached remote checkpoint worker. claude code may cancel sessionend hooks as a print-mode process exits. the hook there | STRING |
| HIGH | integrations/codex-plugin/core/telemetry.py | 0 | usage telemetry for mem0 agent plugins. events are linked to your mem0 account email when an api key is configured, and | STRING |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 0 | usage telemetry for mem0 agent plugins. events are linked to your mem0 account email when an api key is configured, and | STRING |
| HIGH | integrations/antigravity-plugin/core/telemetry.py | 0 | usage telemetry for mem0 agent plugins. events are linked to your mem0 account email when an api key is configured, and | STRING |
| HIGH | integrations/agent-plugin-core/python/telemetry.py | 0 | usage telemetry for mem0 agent plugins. events are linked to your mem0 account email when an api key is configured, and | STRING |
| HIGH | integrations/claude-code-plugin/core/telemetry.py | 0 | usage telemetry for mem0 agent plugins. events are linked to your mem0 account email when an api key is configured, and | STRING |
| HIGH | integrations/mem0-agent-plugin/core/telemetry.py | 0 | usage telemetry for mem0 agent plugins. events are linked to your mem0 account email when an api key is configured, and | STRING |
| HIGH | integrations/cursor-plugin/core/telemetry.py | 0 | usage telemetry for mem0 agent plugins. events are linked to your mem0 account email when an api key is configured, and | STRING |
| HIGH | integrations/codex-plugin/core/telemetry.py | 0 | override the generated identity. optional — core/_harness_id.py is the default. the fallback shape matches memory_core.c | STRING |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 0 | override the generated identity. optional — core/_harness_id.py is the default. the fallback shape matches memory_core.c | STRING |
| HIGH | integrations/antigravity-plugin/core/telemetry.py | 0 | override the generated identity. optional — core/_harness_id.py is the default. the fallback shape matches memory_core.c | STRING |
| HIGH | integrations/agent-plugin-core/python/telemetry.py | 0 | override the generated identity. optional — core/_harness_id.py is the default. the fallback shape matches memory_core.c | STRING |
| HIGH | integrations/claude-code-plugin/core/telemetry.py | 0 | override the generated identity. optional — core/_harness_id.py is the default. the fallback shape matches memory_core.c | STRING |
| HIGH | integrations/mem0-agent-plugin/core/telemetry.py | 0 | override the generated identity. optional — core/_harness_id.py is the default. the fallback shape matches memory_core.c | STRING |
| HIGH | integrations/cursor-plugin/core/telemetry.py | 0 | override the generated identity. optional — core/_harness_id.py is the default. the fallback shape matches memory_core.c | STRING |
| HIGH | integrations/codex-plugin/core/telemetry.py | 0 | unsalted digest. only for values that are already secrets (api keys). | STRING |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 0 | unsalted digest. only for values that are already secrets (api keys). | STRING |
| HIGH | integrations/antigravity-plugin/core/telemetry.py | 0 | unsalted digest. only for values that are already secrets (api keys). | STRING |
| HIGH | integrations/agent-plugin-core/python/telemetry.py | 0 | unsalted digest. only for values that are already secrets (api keys). | STRING |
| HIGH | integrations/claude-code-plugin/core/telemetry.py | 0 | unsalted digest. only for values that are already secrets (api keys). | STRING |
| HIGH | integrations/mem0-agent-plugin/core/telemetry.py | 0 | unsalted digest. only for values that are already secrets (api keys). | STRING |
| HIGH | integrations/cursor-plugin/core/telemetry.py | 0 | unsalted digest. only for values that are already secrets (api keys). | STRING |
| HIGH | integrations/codex-plugin/core/telemetry.py | 0 | random per-install salt, created once and memoized for the process. deliberately its own file, claimed with o_creat|o_ex | STRING |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 0 | random per-install salt, created once and memoized for the process. deliberately its own file, claimed with o_creat|o_ex | STRING |
| HIGH | integrations/antigravity-plugin/core/telemetry.py | 0 | random per-install salt, created once and memoized for the process. deliberately its own file, claimed with o_creat|o_ex | STRING |
| HIGH | integrations/agent-plugin-core/python/telemetry.py | 0 | random per-install salt, created once and memoized for the process. deliberately its own file, claimed with o_creat|o_ex | STRING |
| HIGH | integrations/claude-code-plugin/core/telemetry.py | 0 | random per-install salt, created once and memoized for the process. deliberately its own file, claimed with o_creat|o_ex | STRING |
| HIGH | integrations/mem0-agent-plugin/core/telemetry.py | 0 | random per-install salt, created once and memoized for the process. deliberately its own file, claimed with o_creat|o_ex | STRING |
| HIGH | integrations/cursor-plugin/core/telemetry.py | 0 | random per-install salt, created once and memoized for the process. deliberately its own file, claimed with o_creat|o_ex | STRING |
| HIGH | integrations/codex-plugin/core/telemetry.py | 0 | salted digest for values drawn from a guessable space. repo.identity is a git remote url, or ``local:<absolute path>`` w | STRING |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 0 | salted digest for values drawn from a guessable space. repo.identity is a git remote url, or ``local:<absolute path>`` w | STRING |
| 714 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_oss_to_platform_migrate.py | 378 | def test_existing_api_key_authenticates_and_stitches_ids(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 409 | def test_email_code_authenticates_without_persisting_credentials(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 439 | def test_invalid_stored_key_falls_back_to_email_code(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 472 | def test_email_code_failure_reports_failed_telemetry(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 498 | def test_malformed_config_does_not_crash_and_authenticates(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 518 | def test_weird_telemetry_shape_does_not_crash(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 555 | def test_curl_piped_help_works() -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 568 | def test_export_qdrant_memories_to_json_without_vectors_or_api_key(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 652 | def test_export_requires_scope_or_all(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 662 | def test_export_all_uses_no_qdrant_filter(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 675 | def test_export_invalid_qdrant_credentials_fail_clearly(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 690 | def test_import_platform_memories_from_export_json(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 735 | def test_import_skips_existing_identical_memory(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 764 | def test_import_reports_changed_existing_without_update_or_add(tmp_path: Path) -> None: | CODE |
| LOW | tests/test_oss_to_platform_migrate.py | 798 | def test_full_flow_auth_export_and_imports_memories(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 40 | def test_creates_config_when_missing(self, tmp_mem0_dir): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 47 | def test_backfills_user_id_when_only_telemetry_present(self, tmp_mem0_dir): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 59 | def test_does_not_overwrite_existing_user_id(self, tmp_mem0_dir): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 67 | def test_handles_malformed_json(self, tmp_mem0_dir): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 114 | def test_no_config_returns_all_none(self, tmp_mem0_dir): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 120 | def test_malformed_json_does_not_raise(self, tmp_mem0_dir): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 132 | def test_writes_aliased_pair_preserving_other_fields(self, tmp_mem0_dir): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 149 | def test_creates_telemetry_section_when_missing(self, tmp_mem0_dir): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 157 | def test_tracks_each_pair_independently(self, tmp_mem0_dir): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 171 | def test_fires_identify_with_anon_distinct_id(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 185 | def test_skips_when_anon_equals_email(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 194 | def test_skips_when_inputs_empty(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 204 | def test_noop_when_telemetry_disabled(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 212 | def test_does_not_raise_on_posthog_error(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 221 | def test_identify_is_in_lifecycle_events(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 236 | def test_fires_identify_for_oss_uuid(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 254 | def test_fires_identify_for_cli_anon(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 271 | def test_fires_identify_for_both_anon_ids(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 291 | def test_skips_when_pair_already_aliased(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 308 | def test_skips_when_email_invalid(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 317 | def test_skips_when_telemetry_disabled(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 352 | def test_skips_anon_id_equal_to_email(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 369 | def test_does_not_raise_on_read_failure(self): | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 388 | def test_second_call_is_noop_after_pair_marker_persisted(self, tmp_mem0_dir): | CODE |
| LOW | tests/test_telemetry_aliasing.py | 334 | def test_does_not_raise_on_telemetry_failure(self): | CODE |
| LOW | tests/test_telemetry_sampling.py | 32 | def test_invalid_values_fall_back_to_default(self, raw): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 45 | def test_lifecycle_event_passes_through_at_high_random(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 53 | def test_hot_path_event_dropped_when_random_above_rate(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 59 | def test_hot_path_event_passes_when_random_below_rate(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 67 | def test_hot_path_annotates_sample_rate(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 73 | def test_lifecycle_annotates_sample_rate_one(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 77 | def test_rate_zero_drops_all_hot_path(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 84 | def test_rate_zero_still_passes_lifecycle(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 89 | def test_rate_one_passes_all_events(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 95 | def test_does_not_override_caller_supplied_sample_rate_for_hot_path(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 104 | def test_handles_missing_properties_dict(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 111 | def test_handles_missing_event_field(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 118 | def test_handles_non_dict_input(self): | CODE |
| LOW | tests/test_telemetry_sampling.py | 137 | def test_oss_singleton_constructed_with_before_send_hook(self): | CODE |
| LOW | tests/test_telemetry_sampling.py | 148 | def test_client_telemetry_constructed_without_before_send(self): | CODE |
| LOW | tests/test_telemetry_sampling.py | 165 | def test_anonymous_telemetry_constructs_posthog_with_current_kwargs(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 195 | def test_capture_event_signature_unchanged(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 202 | def test_capture_client_event_signature_unchanged(self): | CODE |
| LOW⚡ | tests/test_telemetry_sampling.py | 208 | def test_default_sample_rate_is_ten_percent(self): | CODE |
| LOW | tests/test_memory_integration.py | 6 | def test_memory_configuration_without_env_vars(): | CODE |
| 2008 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_telemetry_aliasing.py | 36 | # ─── setup_config idempotency ──────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/test_telemetry_aliasing.py | 76 | # ─── read_anon_ids ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/test_telemetry_aliasing.py | 128 | # ─── mark_aliased ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/test_telemetry_aliasing.py | 167 | # ─── capture_identify ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/test_telemetry_aliasing.py | 228 | # ─── _maybe_alias_anon_to_email integration ────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/test_telemetry_aliasing.py | 381 | # ─── End-to-end idempotency through real config ────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 86 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 88 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 113 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 115 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 139 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 141 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 155 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 157 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 194 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 196 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 248 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 250 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 269 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 271 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 296 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 298 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 321 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 323 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 354 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 356 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 388 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 390 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 442 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 444 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 479 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 481 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 540 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 542 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 603 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 605 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 656 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_server_params.py | 658 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_server_params.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_server_params.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_server_params.py | 58 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_server_params.py | 60 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_server_params.py | 221 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_server_params.py | 223 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_server_params.py | 741 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_server_params.py | 743 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_memory.py | 1110 | # ─── Entity Param Rejection Tests ───────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/test_memory.py | 1147 | # ─── Regression: AsyncMemory._create_memory must store text_lemmatized ───────── | COMMENT |
| MEDIUM⚡ | tests/test_main.py | 392 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_main.py | 394 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_server_auth.py | 472 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_server_auth.py | 474 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_server_auth.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_server_auth.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_server_auth.py | 58 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_server_auth.py | 60 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_server_auth.py | 148 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_server_auth.py | 150 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_server_auth.py | 303 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_server_auth.py | 305 | # --------------------------------------------------------------------------- | COMMENT |
| 332 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/vector_stores/test_oracledb.py | 127 | except Exception: | CODE |
| HIGH | tests/vector_stores/test_oracledb.py | 170 | except Exception: | CODE |
| HIGH | tests/vector_stores/test_oracledb.py | 186 | except Exception: | CODE |
| HIGH | tests/vector_stores/test_faiss.py | 445 | except pickle.UnpicklingError: | CODE |
| HIGH | cli/python/src/mem0_cli/config.py | 192 | except Exception: | CODE |
| HIGH | cli/python/src/mem0_cli/telemetry.py | 65 | except Exception: | CODE |
| HIGH | cli/python/src/mem0_cli/telemetry.py | 154 | except Exception: | CODE |
| HIGH | cli/python/src/mem0_cli/telemetry_sender.py | 83 | except Exception: | CODE |
| HIGH | cli/python/src/mem0_cli/telemetry_sender.py | 97 | except Exception: | CODE |
| HIGH | cli/python/src/mem0_cli/telemetry_sender.py | 111 | except Exception: | CODE |
| HIGH | cli/python/src/mem0_cli/app.py | 75 | except Exception: | CODE |
| HIGH | cli/python/src/mem0_cli/commands/init_cmd.py | 315 | except httpx.HTTPError: | CODE |
| HIGH | cli/python/src/mem0_cli/commands/init_cmd.py | 557 | except Exception: | CODE |
| HIGH | cli/python/src/mem0_cli/commands/init_cmd.py | 313 | except Exception: | CODE |
| HIGH | cli/python/src/mem0_cli/commands/agent_mode_cmd.py | 100 | except (json.JSONDecodeError, ValueError, AttributeError): | CODE |
| HIGH | integrations/codex-plugin/core/hook_runner.py | 260 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/flush_worker.py | 90 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/flush_worker.py | 95 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 179 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 209 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 393 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 404 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 418 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 532 | except Exception: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 613 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 626 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 770 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 194 | except FileExistsError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 214 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 492 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 728 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 945 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 289 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 697 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 747 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 207 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 471 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/telemetry.py | 917 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/memory_core.py | 1478 | except (OSError, ValueError): | CODE |
| HIGH | integrations/codex-plugin/core/memory_core.py | 1900 | except OSError: | CODE |
| HIGH | integrations/codex-plugin/core/memory_core.py | 425 | except FileNotFoundError: | CODE |
| HIGH | integrations/codex-plugin/core/memory_core.py | 589 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/hook_runner.py | 260 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/flush_worker.py | 90 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/flush_worker.py | 95 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 179 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 209 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 393 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 404 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 418 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 532 | except Exception: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 613 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 626 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 770 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 194 | except FileExistsError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 214 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 492 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 728 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 945 | except OSError: | CODE |
| HIGH | integrations/kimi-plugin/core/telemetry.py | 289 | except OSError: | CODE |
| 157 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | LLM.md | 50 | client = MemoryClient(api_key="your-api-key") | CODE |
| HIGH | LLM.md | 65 | const client = new MemoryClient({ apiKey: 'your-api-key' }); | CODE |
| HIGH | LLM.md | 170 | api_key="your-api-key", # or set MEM0_API_KEY env var | CODE |
| HIGH | LLM.md | 406 | "api_key": "your-api-key", | CODE |
| HIGH | LLM.md | 478 | apiKey: 'your-api-key', | CODE |
| HIGH | LLM.md | 1142 | memory_client = MemoryClient(api_key="your-api-key") | STRING |
| HIGH⚡ | tests/vector_stores/test_azure_ai_search.py | 638 | # Test with api_key="your-api-key" | COMMENT |
| HIGH⚡ | tests/vector_stores/test_azure_ai_search.py | 642 | api_key="your-api-key", | CODE |
| HIGH | tests/embeddings/test_azure_openai_embeddings.py | 144 | base_embedder_config.azure_kwargs.api_key = "your-api-key" | CODE |
| HIGH | tests/llms/test_azure_openai_structured.py | 94 | config = DummyConfig(model=None, azure_kwargs=DummyAzureKwargs(api_key="your-api-key")) | CODE |
| HIGH | tests/llms/test_azure_openai.py | 440 | config.azure_kwargs.api_key = "your-api-key" | CODE |
| HIGH | mem0-ts/src/oss/src/vector_stores/azure_ai_search.ts | 111 | if (this.apiKey && this.apiKey !== "" && this.apiKey !== "your-api-key") { | CODE |
| HIGH | …m0-ts/src/community/src/integrations/langchain/mem0.ts | 135 | * apiKey: "your-api-key", | COMMENT |
| HIGH | server/README.md | 259 | curl -s http://localhost:8888/memories?user_id=<your-user-id> -H "X-API-Key: <your-api-key>" | CODE |
| HIGH | docs/llms.txt | 50 | client = MemoryClient(api_key="your-api-key") | CODE |
| HIGH | docs/llms.txt | 80 | const client = new MemoryClient({ apiKey: "your-api-key" }); | CODE |
| HIGH⚡ | docs/openapi.json | 1897 | "source": "# To use the Python SDK, install the package:\n# pip install mem0ai\n\nfrom mem0 import MemoryClient\nc | CODE |
| HIGH⚡ | docs/openapi.json | 1901 | "source": "// To use the JavaScript SDK, install the package:\n// npm i mem0ai\n\nimport MemoryClient from 'mem0ai | CODE |
| HIGH⚡ | docs/openapi.json | 1905 | "source": "curl -X POST 'https://api.mem0.ai/v2/memories/' \\\n-H 'Authorization: Token your-api-key' \\\n-H 'Cont | CODE |
| HIGH⚡ | docs/openapi.json | 1909 | "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net/http\"\ | CODE |
| HIGH⚡ | docs/openapi.json | 1913 | "source": "<?php\n\n$curl = curl_init();\n\n$filters = [\n 'AND' => [\n ['user_id' => 'alex'],\n ['created_ | CODE |
| HIGH⚡ | docs/openapi.json | 1917 | "source": "import com.konghq.unirest.http.HttpResponse;\nimport com.konghq.unirest.http.Unirest;\nimport org.json. | CODE |
| HIGH⚡ | docs/openapi.json | 5740 | "source": "# To use the Python SDK, install the package:\n# pip install mem0ai\n\nfrom mem0 import MemoryClient\n\ | CODE |
| HIGH⚡ | docs/openapi.json | 5744 | "source": "// To use the JavaScript SDK, install the package:\n// npm i mem0ai\n\nimport MemoryClient from 'mem0ai | CODE |
| HIGH⚡ | docs/openapi.json | 5752 | "source": "// To use the Go SDK, install the package:\n// go get github.com/mem0ai/mem0-go\n\npackage main\n\nimpo | CODE |
| HIGH⚡ | docs/openapi.json | 5756 | "source": "<?php\n// To use the PHP SDK, install the package:\n// composer require mem0ai/mem0-php\n\nrequire_once | CODE |
| HIGH⚡ | docs/openapi.json | 5760 | "source": "// To use the Java SDK, add this dependency to your pom.xml:\n// <dependency>\n// <groupId>ai.mem0< | CODE |
| HIGH⚡ | docs/openapi.json | 5886 | "source": "# To use the Python SDK, install the package:\n# pip install mem0ai\n\nfrom mem0 import MemoryClient\n\ | CODE |
| HIGH⚡ | docs/openapi.json | 5890 | "source": "// To use the JavaScript SDK, install the package:\n// npm i mem0ai\n\nimport MemoryClient from 'mem0ai | CODE |
| HIGH⚡ | docs/openapi.json | 5898 | "source": "// To use the Go SDK, install the package:\n// go get github.com/mem0ai/mem0-go\n\npackage main\n\nimpo | CODE |
| HIGH⚡ | docs/openapi.json | 5902 | "source": "<?php\n// To use the PHP SDK, install the package:\n// composer require mem0ai/mem0-php\n\nrequire_once | CODE |
| HIGH⚡ | docs/openapi.json | 5906 | "source": "// To use the Java SDK, add this dependency to your pom.xml:\n// <dependency>\n// <groupId>ai.mem0< | CODE |
| HIGH⚡ | docs/openapi.json | 6568 | "source": "# To use the Python SDK, install the package:\n# pip install mem0ai\n\nfrom mem0 import MemoryClient\nc | CODE |
| HIGH⚡ | docs/openapi.json | 6572 | "source": "// To use the JavaScript SDK, install the package:\n// npm i mem0ai\n\nimport MemoryClient from 'mem0ai | CODE |
| HIGH⚡ | docs/openapi.json | 6576 | "source": "curl -X PUT \"https://api.mem0.ai/v1/batch/\" \\\n -H \"Authorization: Token your-api-key\" \\\n | CODE |
| HIGH⚡ | docs/openapi.json | 6656 | "source": "# To use the Python SDK, install the package:\n# pip install mem0ai\n\nfrom mem0 import MemoryClient\nc | CODE |
| HIGH⚡ | docs/openapi.json | 6660 | "source": "// To use the JavaScript SDK, install the package:\n// npm i mem0ai\n\nimport MemoryClient from 'mem0ai | CODE |
| HIGH⚡ | docs/openapi.json | 6664 | "source": "curl -X DELETE \"https://api.mem0.ai/v1/batch/\" \\\n -H \"Authorization: Token your-api-key\" \\\n | CODE |
| HIGH⚡ | docs/openapi.json | 6765 | "source": "# To use the Python SDK, install the package:\n# pip install mem0ai\n\nfrom mem0 import MemoryClient\nc | CODE |
| HIGH⚡ | docs/openapi.json | 6769 | "source": "// To use the JavaScript SDK, install the package:\n// npm i mem0ai\n\nimport MemoryClient from 'mem0ai | CODE |
| HIGH⚡ | docs/openapi.json | 6773 | "source": "# Get all webhooks\ncurl --request GET \\\n --url 'https://api.mem0.ai/api/v1/webhooks/your_project_id | CODE |
| HIGH⚡ | docs/openapi.json | 6777 | "source": "<?php\n\n$curl = curl_init();\n\n// Get all webhooks\ncurl_setopt_array($curl, [\n CURLOPT_URL => \"ht | CODE |
| HIGH⚡ | docs/openapi.json | 6781 | "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() { | CODE |
| HIGH⚡ | docs/openapi.json | 6785 | "source": "// Get all webhooks\nHttpResponse<String> response = Unirest.get(\"https://api.mem0.ai/api/v1/webhooks/ | CODE |
| HIGH⚡ | docs/openapi.json | 6940 | "source": "# To use the Python SDK, install the package:\n# pip install mem0ai\n\nfrom mem0 import MemoryClient\nc | CODE |
| HIGH⚡ | docs/openapi.json | 6944 | "source": "// To use the JavaScript SDK, install the package:\n// npm i mem0ai\n\nimport MemoryClient from 'mem0ai | CODE |
| HIGH⚡ | docs/openapi.json | 6948 | "source": "curl -X POST \"https://api.mem0.ai/api/v1/webhooks/your_project_id/webhook/\" \\\n -H \"Authorizati | CODE |
| HIGH⚡ | docs/openapi.json | 6952 | "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n CURLOPT_URL => \"https://api.mem0.ai/a | CODE |
| HIGH⚡ | docs/openapi.json | 6956 | "source": "package main\n\nimport (\n \"fmt\"\n \"strings\"\n \"net/http\"\n \"io/ioutil\"\n)\n\nfunc | CODE |
| HIGH⚡ | docs/openapi.json | 6960 | "source": "import com.konghq.unirest.http.HttpResponse;\nimport com.konghq.unirest.http.Unirest;\n\n// Create a we | CODE |
| HIGH⚡ | docs/openapi.json | 7091 | "source": "# To use the Python SDK, install the package:\n# pip install mem0ai\n\nfrom mem0 import MemoryClient\nc | CODE |
| HIGH⚡ | docs/openapi.json | 7095 | "source": "// To use the JavaScript SDK, install the package:\n// npm i mem0ai\n\nimport MemoryClient from 'mem0ai | CODE |
| HIGH⚡ | docs/openapi.json | 7099 | "source": "# Update a webhook\ncurl --request PUT \\\n --url 'https://api.mem0.ai/api/v1/webhooks/your_webhook_id | CODE |
| HIGH⚡ | docs/openapi.json | 7103 | "source": "<?php\n\n$curl = curl_init();\n\n// Update a webhook\ncurl_setopt_array($curl, [\n CURLOPT_URL => \"ht | CODE |
| HIGH⚡ | docs/openapi.json | 7107 | "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() { | CODE |
| HIGH⚡ | docs/openapi.json | 7111 | "source": "// Update a webhook\nHttpResponse<String> response = Unirest.put(\"https://api.mem0.ai/api/v1/webhooks/ | CODE |
| HIGH⚡ | docs/openapi.json | 7186 | "source": "# To use the Python SDK, install the package:\n# pip install mem0ai\n\nfrom mem0 import MemoryClient\nc | CODE |
| HIGH⚡ | docs/openapi.json | 7190 | "source": "// To use the JavaScript SDK, install the package:\n// npm i mem0ai\n\nimport MemoryClient from 'mem0ai | CODE |
| HIGH⚡ | docs/openapi.json | 7194 | "source": "curl -X DELETE \"https://api.mem0.ai/api/v1/webhooks/your_webhook_id/webhook/\" \\\n -H \"Authoriza | CODE |
| HIGH⚡ | docs/openapi.json | 7198 | "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n CURLOPT_URL => \"https://api.mem0.ai/a | CODE |
| 56 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | LLM.md | 987 | except Exception as e: | STRING |
| LOW | LLM.md | 1168 | except Exception as e: | STRING |
| LOW⚡ | LLM.md | 1180 | except Exception as e: | STRING |
| LOW⚡ | LLM.md | 1188 | except Exception as e: | STRING |
| LOW⚡ | LLM.md | 1196 | except Exception as e: | STRING |
| LOW | LLM.md | 1235 | except Exception as e: | STRING |
| LOW | LLM.md | 1251 | except Exception as e: | STRING |
| MEDIUM | LLM.md | 984 | def safe_memory_operation(memory_client, operation, *args, **kwargs): | CODE |
| LOW | tests/vector_stores/test_e2e_threshold.py | 215 | except Exception: | CODE |
| LOW | tests/vector_stores/test_e2e_threshold.py | 262 | except Exception: | CODE |
| MEDIUM | tests/vector_stores/test_e2e_threshold.py | 204 | def _pgvector_reachable(): | CODE |
| LOW | tests/vector_stores/test_score_normalization.py | 198 | except Exception: | CODE |
| LOW | tests/vector_stores/test_score_normalization.py | 252 | except Exception: | CODE |
| MEDIUM | tests/vector_stores/test_score_normalization.py | 187 | def _pgvector_reachable(): | CODE |
| LOW | tests/vector_stores/test_oracledb.py | 127 | except Exception: | CODE |
| LOW | tests/vector_stores/test_oracledb.py | 170 | except Exception: | CODE |
| LOW | tests/vector_stores/test_oracledb.py | 186 | except Exception: | CODE |
| LOW | tests/utils/test_entity_extraction.py | 11 | except Exception: | CODE |
| LOW | tests/utils/test_lemmatization.py | 10 | except Exception: | CODE |
| LOW | server/telemetry.py | 104 | except Exception: | CODE |
| LOW | server/main.py | 73 | except Exception: | CODE |
| LOW | server/main.py | 285 | except Exception: | CODE |
| LOW | server/main.py | 305 | except Exception: | CODE |
| LOW | server/main.py | 363 | except Exception: | CODE |
| LOW | server/main.py | 381 | except Exception: | CODE |
| LOW | server/main.py | 439 | except Exception: | CODE |
| LOW | server/main.py | 448 | except Exception: | CODE |
| LOW | server/main.py | 483 | except Exception: | CODE |
| LOW | server/main.py | 502 | except Exception: | CODE |
| LOW | server/main.py | 511 | except Exception: | CODE |
| LOW | server/main.py | 523 | except Exception: | CODE |
| LOW | server/main.py | 543 | except Exception: | CODE |
| LOW | server/main.py | 553 | except Exception: | CODE |
| LOW | server/server_state.py | 34 | except Exception: | CODE |
| LOW | server/server_state.py | 60 | except Exception: | CODE |
| MEDIUM | server/server_state.py | 20 | def _load_overrides() -> Dict[str, Any]: | CODE |
| LOW | server/routers/entities.py | 74 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/config.py | 192 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/branding.py | 136 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/branding.py | 144 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/telemetry.py | 65 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/telemetry.py | 69 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/telemetry.py | 154 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/telemetry_sender.py | 83 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/telemetry_sender.py | 97 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/telemetry_sender.py | 111 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/app.py | 75 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/app.py | 149 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/app.py | 203 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/plugin_sync.py | 116 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/backend/platform.py | 51 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/backend/platform.py | 394 | except Exception as e: | CODE |
| LOW⚡ | cli/python/src/mem0_cli/commands/init_cmd.py | 156 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 189 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 313 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 557 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 565 | except Exception as e: | CODE |
| LOW | cli/python/src/mem0_cli/commands/memory.py | 48 | except Exception: | CODE |
| LOW | cli/python/src/mem0_cli/commands/memory.py | 175 | except Exception as e: | CODE |
| LOW | cli/python/src/mem0_cli/commands/memory.py | 303 | except Exception as e: | CODE |
| 425 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | mem0/vector_stores/faiss.py | 64 | Safely load a pickle file using restricted unpickler. Args: file_path: Path to the pickle file. R | STRING |
| HIGH | mem0/vector_stores/faiss.py | 81 | Validate that loaded data has the expected structure. Args: data: The loaded data to validate. Re | STRING |
| HIGH | mem0/vector_stores/vertex_ai_vector_search.py | 333 | Update a vector and its payload. Args: vector_id: ID of the vector to update vector: Op | STRING |
| HIGH | mem0/vector_stores/vertex_ai_vector_search.py | 549 | Add texts to the vector store. Args: texts: List of texts to add metadatas: Optional li | STRING |
| HIGH | mem0/memory/main.py | 176 | Validates and normalizes an entity ID. - Coerces non-string values (e.g. integer ids) to str - Trims leadin | STRING |
| HIGH | mem0/memory/main.py | 774 | Create a new memory. Adds new memories scoped to a single session id (e.g. `user_id`, `agent_id`, or ` | STRING |
| HIGH | mem0/memory/main.py | 1277 | List all memories. Args: filters (dict): Filter dict containing entity IDs and optional me | STRING |
| HIGH | mem0/memory/main.py | 1406 | Searches for memories based on a query. Args: query (str): Query to search for. | STRING |
| HIGH | mem0/memory/main.py | 2958 | List all memories. Args: filters (dict): Filter dict containing entity IDs and optional me | STRING |
| HIGH | mem0/memory/main.py | 3087 | Searches for memories based on a query. Args: query (str): Query to search for. | STRING |
| HIGH | mem0/utils/gcp_auth.py | 30 | Get Google credentials using the priority order defined above. Args: service_account_json: | STRING |
| HIGH | mem0/utils/gcp_auth.py | 99 | Initialize Vertex AI with proper authentication. Args: service_account_json: Service accou | STRING |
| HIGH | mem0/utils/factory.py | 65 | Create an LLM instance with the appropriate configuration. Args: provider_name (str): The | STRING |
| HIGH | mem0/utils/factory.py | 246 | Create a reranker instance based on the provider and configuration. Args: provider_name: T | STRING |
| HIGH | mem0/client/main.py | 304 | Add a new memory. Args: messages: A list of message dictionaries, a single message dictionary, | STRING |
| HIGH | mem0/client/main.py | 345 | Retrieve a specific memory by ID. Args: memory_id: The ID of the memory to retrieve. Retur | STRING |
| HIGH | mem0/client/main.py | 369 | Retrieve all memories, with optional filtering. Args: options: Typed options for the get_all operat | STRING |
| HIGH | mem0/client/main.py | 417 | Search memories based on a query. Args: query: The search query string. options: Typed | STRING |
| HIGH | mem0/client/main.py | 469 | Update a memory by ID. Args: memory_id: The ID of the memory to update. options: Typed | STRING |
| HIGH | mem0/client/main.py | 505 | Delete a specific memory by ID. Args: memory_id: The ID of the memory to delete. delete | STRING |
| HIGH | mem0/client/main.py | 536 | Delete all memories, with optional filtering. Args: options: Typed options for the delete_all opera | STRING |
| HIGH | mem0/client/main.py | 567 | Retrieve the history of a specific memory. Args: memory_id: The ID of the memory to retrieve histor | STRING |
| HIGH | mem0/client/main.py | 606 | Delete specific entities or all entities if no filters provided. Args: user_id: Optional user ID to | STRING |
| HIGH | mem0/client/main.py | 693 | Batch update memories. Args: memories: List of memory dictionaries to update. Each dictionary must | STRING |
| HIGH | mem0/client/main.py | 720 | Batch delete memories. Args: memories: List of memory dictionaries to delete. Each dictionary | STRING |
| HIGH | mem0/client/main.py | 808 | Get the memory profile for a single user. Branch on ``status``, not on an empty ``profile``: generation is | STRING |
| HIGH | mem0/client/main.py | 833 | Generate or refresh the profile for a single user, now. Profiles are otherwise built once a user crosses an int | STRING |
| HIGH | mem0/client/main.py | 888 | Update the profile settings for the current project. Only the arguments you pass are written. Args: | STRING |
| HIGH | mem0/client/main.py | 921 | Generate profiles for a few real users, to check a schema. Real generations against real memories, and the resu | STRING |
| HIGH | mem0/client/main.py | 976 | Get instructions or categories for the current project. Args: fields: List of fields to retrieve | STRING |
| HIGH | mem0/client/main.py | 1025 | Update the project settings. Args: options: Typed options for the update operation (ProjectUpdateOp | STRING |
| HIGH | mem0/client/main.py | 1095 | Get webhooks configuration for the project. Args: project_id: The ID of the project to get webhooks | STRING |
| HIGH | mem0/client/main.py | 1120 | Create a webhook for the current project. Args: url: The URL to send the webhook to. na | STRING |
| HIGH | mem0/client/main.py | 1154 | Update a webhook configuration. Args: webhook_id: ID of the webhook to update name: Opt | STRING |
| HIGH | mem0/client/main.py | 1182 | Delete a webhook configuration. Args: webhook_id: ID of the webhook to delete Returns: | STRING |
| HIGH | mem0/client/main.py | 1399 | Add a new memory. Args: messages: A list of message dictionaries, a single message dictionary, | STRING |
| HIGH | mem0/client/main.py | 1448 | Retrieve all memories, with optional filtering. Args: options: Typed options for the get_all operat | STRING |
| HIGH | mem0/client/main.py | 1496 | Search memories based on a query. Args: query: The search query string. options: Typed | STRING |
| HIGH | mem0/client/main.py | 1548 | Update a memory by ID asynchronously. Args: memory_id: The ID of the memory to update. | STRING |
| HIGH | mem0/client/main.py | 1586 | Delete a specific memory by ID. Args: memory_id: The ID of the memory to delete. delete | STRING |
| HIGH | mem0/client/main.py | 1617 | Delete all memories, with optional filtering. Args: options: Typed options for the delete_all opera | STRING |
| HIGH | mem0/client/main.py | 1643 | Retrieve the history of a specific memory. Args: memory_id: The ID of the memory to retrieve histor | STRING |
| HIGH | mem0/client/main.py | 1685 | Delete specific entities or all entities if no filters provided. Args: user_id: Optional user ID to | STRING |
| HIGH | mem0/client/main.py | 1771 | Batch update memories. Args: memories: List of memory dictionaries to update. Each dictionary must | STRING |
| HIGH | mem0/client/main.py | 1798 | Batch delete memories. Args: memories: List of memory dictionaries to delete. Each dictionary | STRING |
| HIGH | mem0/client/main.py | 1873 | Get the memory profile for a single user. Branch on ``status``, not on an empty ``profile``: generation is | STRING |
| HIGH | mem0/client/main.py | 1898 | Generate or refresh the profile for a single user, now. Profiles are otherwise built once a user crosses an int | STRING |
| HIGH | mem0/client/main.py | 1953 | Update the profile settings for the current project. Only the arguments you pass are written. Args: | STRING |
| HIGH | mem0/client/main.py | 1988 | Generate profiles for a few real users, to check a schema. Real generations against real memories, and the resu | STRING |
| HIGH | mem0/client/main.py | 2043 | Get instructions or categories for the current project. Args: fields: List of fields to retrieve | STRING |
| HIGH | mem0/client/main.py | 2088 | Update the project settings. Args: options: Typed options for the update operation (ProjectUpdateOp | STRING |
| HIGH | mem0/client/main.py | 2158 | Get webhooks configuration for the project. Args: project_id: The ID of the project to get webhooks | STRING |
| HIGH | mem0/client/main.py | 2183 | Create a webhook for the current project. Args: url: The URL to send the webhook to. na | STRING |
| HIGH | mem0/client/main.py | 2217 | Update a webhook configuration. Args: webhook_id: ID of the webhook to update name: Opt | STRING |
| HIGH | mem0/client/main.py | 2245 | Delete a webhook configuration. Args: webhook_id: ID of the webhook to delete Returns: | STRING |
| HIGH | mem0/client/project.py | 86 | Prepare query parameters for API requests. Args: kwargs: Additional keyword arguments. | STRING |
| HIGH | mem0/client/project.py | 111 | Prepare query parameters for organization-level API requests. Args: kwargs: Additional key | STRING |
| HIGH | mem0/client/project.py | 136 | Get project details. Args: fields: List of fields to retrieve Returns: | STRING |
| HIGH | mem0/client/project.py | 156 | Create a new project within the organization. Args: name: Name of the project to be create | STRING |
| HIGH | mem0/client/project.py | 182 | Update project settings. Args: custom_instructions: New instructions for the project | STRING |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | tests/vector_stores/test_azure_ai_search.py | 610 | mock_search_client._client._config.user_agent_policy.add_user_agent.assert_called_with("mem0") | CODE |
| CRITICAL⚡ | tests/vector_stores/test_azure_ai_search.py | 611 | mock_index_client._client._config.user_agent_policy.add_user_agent.assert_called_with("mem0") | CODE |
| CRITICAL | tests/vector_stores/test_azure_ai_search.py | 5 | from azure.core.exceptions import HttpResponseError | CODE |
| CRITICAL | tests/vector_stores/test_weaviate.py | 151 | self.client_mock.collections.get.return_value.data.delete_by_id.assert_called_once_with("id1") | CODE |
| CRITICAL | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 1419 | const queryCall = axiosModule.__mockHttpClient.post.mock.calls.find( | CODE |
| CRITICAL | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 1482 | const queryCall = axiosModule.__mockHttpClient.post.mock.calls.find( | CODE |
| CRITICAL | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 1535 | axiosModule.__mockHttpClient.post.mock.calls.some( | CODE |
| CRITICAL | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 1587 | const queryCall = axiosModule.__mockHttpClient.post.mock.calls.find( | CODE |
| CRITICAL | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 1597 | axiosModule.__mockHttpClient.post.mock.calls.some( | CODE |
| CRITICAL | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 1630 | const queryCall = axiosModule.__mockHttpClient.post.mock.calls.find( | CODE |
| CRITICAL | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 1669 | const queryCall = axiosModule.__mockHttpClient.post.mock.calls.find( | CODE |
| CRITICAL | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 1709 | const queryCall = axiosModule.__mockHttpClient.post.mock.calls.find( | CODE |
| CRITICAL | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 1740 | const queryCalls = axiosModule.__mockHttpClient.post.mock.calls.filter( | CODE |
| CRITICAL | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 1765 | const queryCall = axiosModule.__mockHttpClient.post.mock.calls.find( | CODE |
| CRITICAL | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 1851 | axiosModule.__mockHttpClient.post.mock.calls.find( | CODE |
| CRITICAL | mem0-ts/src/oss/tests/opensearch.unit.test.ts | 49 | const createCall = client.indices.create.mock.calls.find( | CODE |
| CRITICAL | mem0/vector_stores/azure_ai_search.py | 13 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | mem0/vector_stores/azure_ai_search.py | 98 | self.search_client._client._config.user_agent_policy.add_user_agent("mem0") | CODE |
| CRITICAL | mem0/vector_stores/azure_ai_search.py | 99 | self.index_client._client._config.user_agent_policy.add_user_agent("mem0") | CODE |
| CRITICAL⚡ | mem0/vector_stores/azure_ai_search.py | 424 | self.search_client._client._config.user_agent_policy.add_user_agent("mem0") | CODE |
| CRITICAL⚡ | mem0/vector_stores/azure_ai_search.py | 425 | self.index_client._client._config.user_agent_policy.add_user_agent("mem0") | CODE |
| CRITICAL | mem0/llms/openai_structured.py | 48 | response = self.client.beta.chat.completions.parse(**params) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/vector_stores/test_e2e_threshold.py | 63 | # Step 1: Search without threshold (baseline) | COMMENT |
| LOW⚡ | tests/vector_stores/test_e2e_threshold.py | 74 | # Step 2: Verify all scores are non-negative (similarity, not raw distance) | COMMENT |
| LOW⚡ | tests/vector_stores/test_e2e_threshold.py | 79 | # Step 3: Simulate threshold filtering as Memory.search() does it | COMMENT |
| LOW⚡ | tests/vector_stores/test_e2e_threshold.py | 99 | # Step 4: Very high threshold should return 0 or very few results | COMMENT |
| LOW | tests/vector_stores/test_databricks.py | 636 | # Step 1: Config validation (simulates what Memory.from_config does) | COMMENT |
| LOW | tests/vector_stores/test_databricks.py | 654 | # Step 2: Factory instantiation (same as MemoryBase.__init__) | COMMENT |
| LOW⚡ | tests/memory/test_main.py | 567 | # Step 1: Create a memory — capture the payload stored in the vector store | COMMENT |
| LOW⚡ | tests/memory/test_main.py | 577 | # Step 2: Simulate the vector store returning this memory for both search and get_all | COMMENT |
| LOW⚡ | tests/memory/test_main.py | 586 | # Step 3: Call search and get_all, compare timestamps | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1425 | // Step 1: Preprocess query | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1429 | // Step 2: Embed query | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1432 | // Step 3: Semantic search (over-fetch for scoring pool) | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1440 | // Step 4: Keyword search (if store supports it) | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1552 | // Step 7: Build candidate set from semantic results | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1561 | // Step 8: Score and rank | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1571 | // Step 9: Format results | COMMENT |
| LOW | mem0-ts/src/oss/src/memory/index.ts | 1459 | // Step 5: Compute BM25 scores from keyword results | COMMENT |
| LOW | mem0-ts/src/oss/src/memory/index.ts | 1472 | // Step 6: Compute entity boosts | COMMENT |
| LOW | mem0-ts/src/oss/src/memory/index.ts | 1594 | // Step 10: Optionally re-rank with the configured reranker. Opt-in per | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/prompts/index.ts | 902 | // Step 1: Strip known noise tokens from OpenRouter/local models | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/prompts/index.ts | 910 | // Step 2: Strip code fences and <think> blocks | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/prompts/index.ts | 916 | // Step 3: Try to find valid JSON object by testing each `{` as potential start | COMMENT |
| LOW | mem0-ts/src/oss/src/prompts/index.ts | 966 | // Step 4: Fallback - try first/last brace (original behavior for edge cases) | COMMENT |
| LOW | mem0-ts/src/oss/src/prompts/index.ts | 980 | // Step 5: Try to locate a JSON array by testing each `[` as potential start | COMMENT |
| LOW⚡ | cli/python/src/mem0_cli/commands/init_cmd.py | 163 | # Step 2: Get code from user | COMMENT |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 144 | # Step 1: Request verification code | COMMENT |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 177 | # Step 3: Verify code | COMMENT |
| LOW | cli/python/src/mem0_cli/commands/agent_mode_cmd.py | 165 | # Step 1: request OTP (unless --code provided) | COMMENT |
| LOW | cli/python/src/mem0_cli/commands/agent_mode_cmd.py | 199 | # Step 2: verify + claim in one shot | COMMENT |
| LOW | cli/node/src/commands/agent-mode.ts | 180 | // Step 1: request OTP (unless --code was supplied) | COMMENT |
| LOW | cli/node/src/commands/agent-mode.ts | 222 | // Step 2: verify + claim atomically | COMMENT |
| LOW | …ns/opencode-plugin/opencode-skills/mem0-scope/SKILL.md | 23 | ### Step 1: Determine intent | COMMENT |
| LOW | …ns/opencode-plugin/opencode-skills/mem0-scope/SKILL.md | 31 | ### Step 2: View mode — show the current scope | COMMENT |
| LOW | …ns/opencode-plugin/opencode-skills/mem0-scope/SKILL.md | 67 | ### Step 3: Change mode — set a new scope | COMMENT |
| LOW | …s/opencode-plugin/opencode-skills/mem0-forget/SKILL.md | 12 | ### Step 1: Parse input | COMMENT |
| LOW | …s/opencode-plugin/opencode-skills/mem0-forget/SKILL.md | 20 | ### Step 2: Find memories | COMMENT |
| LOW⚡ | …s/opencode-plugin/opencode-skills/mem0-forget/SKILL.md | 38 | ### Step 3: Confirm | COMMENT |
| LOW⚡ | …s/opencode-plugin/opencode-skills/mem0-forget/SKILL.md | 46 | ### Step 4: Delete | COMMENT |
| LOW⚡ | …s/opencode-plugin/opencode-skills/mem0-forget/SKILL.md | 50 | ### Step 5: Report | COMMENT |
| LOW | …opencode-plugin/opencode-skills/mem0-remember/SKILL.md | 12 | ### Step 1: Extract the content | COMMENT |
| LOW | …opencode-plugin/opencode-skills/mem0-remember/SKILL.md | 18 | ### Step 2: Classify the memory | COMMENT |
| LOW | …opencode-plugin/opencode-skills/mem0-remember/SKILL.md | 32 | ### Step 3: Store | COMMENT |
| LOW | …opencode-plugin/opencode-skills/mem0-remember/SKILL.md | 44 | ### Step 4: Confirm | COMMENT |
| LOW | …s/opencode-plugin/opencode-skills/mem0-search/SKILL.md | 12 | ### Step 1: Parse query | COMMENT |
| LOW | …s/opencode-plugin/opencode-skills/mem0-search/SKILL.md | 28 | ### Step 2: Search | COMMENT |
| LOW | …s/opencode-plugin/opencode-skills/mem0-search/SKILL.md | 32 | ### Step 3: Display | COMMENT |
| LOW⚡ | …ons/opencode-plugin/opencode-skills/mem0-tour/SKILL.md | 57 | ### Step 1: Fetch ALL memories for this project | COMMENT |
| LOW⚡ | …ons/opencode-plugin/opencode-skills/mem0-tour/SKILL.md | 63 | ### Step 2: Run supplementary semantic searches | COMMENT |
| LOW⚡ | …ons/opencode-plugin/opencode-skills/mem0-tour/SKILL.md | 73 | ### Step 3: Merge and group | COMMENT |
| LOW | …ons/opencode-plugin/opencode-skills/mem0-tour/SKILL.md | 97 | ### Step 4: Display results | COMMENT |
| LOW | …ons/opencode-plugin/opencode-skills/mem0-tour/SKILL.md | 137 | ### Step 5: Print totals | COMMENT |
| LOW | …ons/opencode-plugin/opencode-skills/mem0-tour/SKILL.md | 146 | ### Step 6: Empty state | COMMENT |
| LOW⚡ | integrations/pi-agent-plugin/skills/search/SKILL.md | 12 | ### Step 1: Parse query | COMMENT |
| LOW⚡ | integrations/pi-agent-plugin/skills/search/SKILL.md | 20 | ### Step 2: Search | COMMENT |
| LOW⚡ | integrations/pi-agent-plugin/skills/search/SKILL.md | 24 | ### Step 3: Display | COMMENT |
| LOW | integrations/pi-agent-plugin/skills/tour/SKILL.md | 43 | ### Step 1: Fetch ALL memories | COMMENT |
| LOW | integrations/pi-agent-plugin/skills/tour/SKILL.md | 47 | ### Step 2: Group by category | COMMENT |
| LOW | integrations/pi-agent-plugin/skills/tour/SKILL.md | 65 | ### Step 3: Display results | COMMENT |
| LOW | integrations/pi-agent-plugin/skills/tour/SKILL.md | 77 | ### Step 4: Print totals | COMMENT |
| LOW | integrations/pi-agent-plugin/skills/tour/SKILL.md | 83 | ### Step 5: Empty state | COMMENT |
| 37 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_telemetry_sampling.py | 137 | CODE | |
| LOW | tests/test_memory_integration.py | 6 | CODE | |
| LOW | tests/test_telemetry.py | 177 | CODE | |
| LOW | tests/test_telemetry.py | 187 | CODE | |
| LOW | tests/test_telemetry.py | 207 | CODE | |
| LOW | tests/test_telemetry.py | 219 | CODE | |
| LOW | tests/test_telemetry.py | 237 | CODE | |
| LOW | tests/test_telemetry.py | 285 | CODE | |
| LOW | tests/vector_stores/test_faiss.py | 527 | CODE | |
| LOW | tests/memory/test_session_scope.py | 63 | CODE | |
| LOW | server/auth.py | 198 | CODE | |
| LOW | cli/python/src/mem0_cli/app.py | 100 | CODE | |
| LOW | cli/python/src/mem0_cli/output.py | 143 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 34 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 125 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 197 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 537 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/memory.py | 583 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/agent_mode_cmd.py | 143 | CODE | |
| LOW | integrations/codex-plugin/core/hook_runner.py | 264 | CODE | |
| LOW | integrations/codex-plugin/core/flush_worker.py | 25 | CODE | |
| LOW | integrations/codex-plugin/core/telemetry.py | 134 | CODE | |
| LOW | integrations/codex-plugin/core/memory_cli.py | 61 | CODE | |
| LOW | integrations/codex-plugin/core/memory_core.py | 1316 | CODE | |
| LOW | integrations/codex-plugin/core/memory_core.py | 1493 | CODE | |
| LOW | integrations/codex-plugin/core/memory_core.py | 1729 | CODE | |
| LOW | integrations/codex-plugin/core/memory_core.py | 1962 | CODE | |
| LOW | integrations/codex-plugin/core/memory_core.py | 2519 | CODE | |
| LOW | integrations/codex-plugin/core/memory_core.py | 988 | CODE | |
| LOW | integrations/codex-plugin/hooks/adapter.py | 42 | CODE | |
| LOW | integrations/kimi-plugin/core/hook_runner.py | 264 | CODE | |
| LOW | integrations/kimi-plugin/core/flush_worker.py | 25 | CODE | |
| LOW | integrations/kimi-plugin/core/telemetry.py | 134 | CODE | |
| LOW | integrations/kimi-plugin/core/memory_cli.py | 61 | CODE | |
| LOW | integrations/kimi-plugin/core/memory_core.py | 1316 | CODE | |
| LOW | integrations/kimi-plugin/core/memory_core.py | 1493 | CODE | |
| LOW | integrations/kimi-plugin/core/memory_core.py | 1729 | CODE | |
| LOW | integrations/kimi-plugin/core/memory_core.py | 1962 | CODE | |
| LOW | integrations/kimi-plugin/core/memory_core.py | 2519 | CODE | |
| LOW | integrations/kimi-plugin/core/memory_core.py | 988 | CODE | |
| LOW | integrations/kimi-plugin/hooks/adapter.py | 33 | CODE | |
| LOW | integrations/kimi-plugin/hooks/adapter.py | 54 | CODE | |
| LOW | integrations/antigravity-plugin/core/hook_runner.py | 264 | CODE | |
| LOW | integrations/antigravity-plugin/core/flush_worker.py | 25 | CODE | |
| LOW | integrations/antigravity-plugin/core/telemetry.py | 134 | CODE | |
| LOW | integrations/antigravity-plugin/core/memory_cli.py | 61 | CODE | |
| LOW | integrations/antigravity-plugin/core/memory_core.py | 1316 | CODE | |
| LOW | integrations/antigravity-plugin/core/memory_core.py | 1493 | CODE | |
| LOW | integrations/antigravity-plugin/core/memory_core.py | 1729 | CODE | |
| LOW | integrations/antigravity-plugin/core/memory_core.py | 1962 | CODE | |
| LOW | integrations/antigravity-plugin/core/memory_core.py | 2519 | CODE | |
| LOW | integrations/antigravity-plugin/core/memory_core.py | 988 | CODE | |
| LOW | integrations/antigravity-plugin/hooks/adapter.py | 28 | CODE | |
| LOW | integrations/agent-plugin-core/python/hook_runner.py | 264 | CODE | |
| LOW | integrations/agent-plugin-core/python/flush_worker.py | 25 | CODE | |
| LOW | integrations/agent-plugin-core/python/telemetry.py | 134 | CODE | |
| LOW | integrations/agent-plugin-core/python/memory_cli.py | 61 | CODE | |
| LOW | integrations/agent-plugin-core/python/memory_core.py | 1316 | CODE | |
| LOW | integrations/agent-plugin-core/python/memory_core.py | 1493 | CODE | |
| LOW | integrations/agent-plugin-core/python/memory_core.py | 1729 | CODE | |
| 125 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_client.py | 19 | # Create a mock client instance | COMMENT |
| MEDIUM | tests/vector_stores/test_azure_ai_search.py | 60 | # Create an instance with dummy parameters. | COMMENT |
| MEDIUM | tests/vector_stores/test_elasticsearch.py | 36 | # Create a mock Elasticsearch client with proper attributes | COMMENT |
| MEDIUM | tests/vector_stores/test_supabase.py | 98 | # Create a Mock object to represent the record | COMMENT |
| MEDIUM | tests/vector_stores/test_mongodb.py | 18 | # Create a proper mock cursor | COMMENT |
| MEDIUM | tests/vector_stores/test_pinecone.py | 108 | # Create a mock Vector object | COMMENT |
| MEDIUM | tests/vector_stores/test_valkey.py | 521 | # Create a mock result with all fields | COMMENT |
| MEDIUM⚡ | tests/vector_stores/test_faiss.py | 362 | # Create a legitimate pickle with basic types | COMMENT |
| MEDIUM | tests/vector_stores/test_faiss.py | 35 | # Create a FAISS instance with a temporary directory | COMMENT |
| MEDIUM | tests/vector_stores/test_faiss.py | 396 | # Create a malicious pickle that tries to use subprocess | COMMENT |
| MEDIUM | tests/vector_stores/test_faiss.py | 413 | # Create a malicious pickle that tries to use eval | COMMENT |
| MEDIUM | tests/vector_stores/test_faiss.py | 430 | # Create a pickle that tries to load a class from a non-builtins module | COMMENT |
| MEDIUM | tests/vector_stores/test_faiss.py | 604 | # Create a malicious pickle file (RCE payload) | COMMENT |
| MEDIUM | tests/vector_stores/test_faiss.py | 644 | # Create a legitimate legacy pickle file | COMMENT |
| MEDIUM | tests/embeddings/test_huggingface_embeddings.py | 86 | # Create a mock for the response object and its attributes | COMMENT |
| MEDIUM | tests/memory/test_storage.py | 255 | # Create a legacy 'history' table missing new columns | COMMENT |
| MEDIUM | tests/memory/test_main.py | 612 | # Create a memory | COMMENT |
| MEDIUM | tests/llms/test_langchain.py | 29 | # Create a config with the model instance directly | COMMENT |
| MEDIUM | tests/llms/test_langchain.py | 41 | # Create a config with the model instance | COMMENT |
| MEDIUM | server/init-db.sh | 4 | # Create the mem0_app database for user/auth/api-key data. | COMMENT |
| MEDIUM⚡ | docs/openapi.json | 6765 | "source": "# To use the Python SDK, install the package:\n# pip install mem0ai\n\nfrom mem0 import MemoryClient\nc | CODE |
| MEDIUM⚡ | docs/openapi.json | 6773 | "source": "# Get all webhooks\ncurl --request GET \\\n --url 'https://api.mem0.ai/api/v1/webhooks/your_project_id | CODE |
| MEDIUM⚡ | docs/openapi.json | 6940 | "source": "# To use the Python SDK, install the package:\n# pip install mem0ai\n\nfrom mem0 import MemoryClient\nc | CODE |
| MEDIUM | examples/misc/personal_assistant_agno.py | 21 | # Define the agent | COMMENT |
| MEDIUM | examples/misc/healthcare_assistant_google_adk.py | 74 | # Create the Healthcare Assistant Agent | COMMENT |
| MEDIUM | examples/misc/healthcare_assistant_google_adk.py | 105 | # Create a session | STRING |
| MEDIUM | examples/misc/healthcare_assistant_google_adk.py | 108 | # Create the runner | STRING |
| MEDIUM⚡ | examples/misc/strands_agent_aws_elasticache_neptune.py | 138 | # Create a simple message format for mem0 vector storage | COMMENT |
| MEDIUM | examples/misc/strands_agent_aws_elasticache_neptune.py | 350 | # Create a container with the chat frame styling | COMMENT |
| MEDIUM | examples/multiagents/llamaindex_learning_system.py | 136 | # Create the multi-agent workflow | STRING |
| MEDIUM | mem0/vector_stores/valkey.py | 111 | # Create the index schema | COMMENT |
| MEDIUM | mem0/vector_stores/valkey.py | 299 | # Create the key for the hash | COMMENT |
| MEDIUM | mem0/vector_stores/valkey.py | 402 | # Create the payload | COMMENT |
| MEDIUM | mem0/vector_stores/valkey.py | 426 | # Create the result | COMMENT |
| MEDIUM | mem0/vector_stores/valkey.py | 561 | # Create the payload with error handling | COMMENT |
| MEDIUM | mem0/vector_stores/redis.py | 96 | # Create a new schema with the specified parameters | COMMENT |
| MEDIUM | mem0/vector_stores/redis.py | 108 | # Create the schema | COMMENT |
| MEDIUM | mem0/vector_stores/redis.py | 111 | # Create the index | COMMENT |
| MEDIUM⚡ | mem0/vector_stores/azure_ai_search.py | 427 | # Create the collection | COMMENT |
| MEDIUM | mem0/vector_stores/vertex_ai_vector_search.py | 511 | # This method is included only to satisfy the abstract base class | COMMENT |
| MEDIUM | mem0/vector_stores/vertex_ai_vector_search.py | 524 | # Create the payload with all necessary fields | COMMENT |
| MEDIUM | mem0/memory/storage.py | 65 | # Create the new history table with updated schema | COMMENT |
| MEDIUM | mem0/memory/main.py | 538 | # Create the config object using the same class as the original | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_oss_to_platform_migrate.py | 1 | CODE | |
| LOW | server/alembic/env.py | 9 | CODE | |
| LOW | cli/python/tests/test_platform_backend_options.py | 3 | CODE | |
| LOW | cli/python/tests/conftest.py | 3 | CODE | |
| LOW | cli/python/tests/test_output.py | 3 | CODE | |
| LOW | cli/python/tests/test_branding.py | 3 | CODE | |
| LOW | cli/python/tests/test_platform_backend.py | 3 | CODE | |
| LOW | cli/python/tests/test_commands.py | 3 | CODE | |
| LOW | cli/python/tests/test_init_internals.py | 17 | CODE | |
| LOW | cli/python/tests/test_config.py | 3 | CODE | |
| LOW | cli/python/tests/test_cli_integration.py | 8 | CODE | |
| LOW | cli/python/tests/test_agent_mode.py | 13 | CODE | |
| LOW | cli/python/tests/test_telemetry.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/config.py | 10 | CODE | |
| LOW | cli/python/src/mem0_cli/telemetry.py | 10 | CODE | |
| LOW | cli/python/src/mem0_cli/telemetry_sender.py | 17 | CODE | |
| LOW | cli/python/src/mem0_cli/agent_detect.py | 15 | CODE | |
| LOW | cli/python/src/mem0_cli/app.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/plugin_sync.py | 27 | CODE | |
| LOW | cli/python/src/mem0_cli/output.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/state.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/backend/__init__.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/backend/__init__.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/backend/platform.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/backend/base.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/config_cmd.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/memory.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/whoami_cmd.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/agent_rush_cmd.py | 7 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/utils.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/events_cmd.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/identify_cmd.py | 9 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/entities.py | 3 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/agent_mode_cmd.py | 3 | CODE | |
| LOW | integrations/codex-plugin/core/hook_runner.py | 3 | CODE | |
| LOW | integrations/codex-plugin/core/flush_worker.py | 8 | CODE | |
| LOW | integrations/codex-plugin/core/telemetry.py | 20 | CODE | |
| LOW | integrations/codex-plugin/core/memory_cli.py | 4 | CODE | |
| LOW | integrations/codex-plugin/core/memory_core.py | 9 | CODE | |
| LOW | integrations/codex-plugin/core/mcp_server.py | 4 | CODE | |
| LOW | integrations/codex-plugin/tests/test_codex.py | 1 | CODE | |
| LOW | integrations/codex-plugin/hooks/adapter.py | 4 | CODE | |
| LOW | integrations/kimi-plugin/core/hook_runner.py | 3 | CODE | |
| LOW | integrations/kimi-plugin/core/flush_worker.py | 8 | CODE | |
| LOW | integrations/kimi-plugin/core/telemetry.py | 20 | CODE | |
| LOW | integrations/kimi-plugin/core/memory_cli.py | 4 | CODE | |
| LOW | integrations/kimi-plugin/core/memory_core.py | 9 | CODE | |
| LOW | integrations/kimi-plugin/core/mcp_server.py | 4 | CODE | |
| LOW | integrations/kimi-plugin/tests/test_kimi.py | 1 | CODE | |
| LOW | integrations/kimi-plugin/hooks/adapter.py | 4 | CODE | |
| LOW | integrations/antigravity-plugin/core/hook_runner.py | 3 | CODE | |
| LOW | integrations/antigravity-plugin/core/flush_worker.py | 8 | CODE | |
| LOW | integrations/antigravity-plugin/core/telemetry.py | 20 | CODE | |
| LOW | integrations/antigravity-plugin/core/memory_cli.py | 4 | CODE | |
| LOW | integrations/antigravity-plugin/core/memory_core.py | 9 | CODE | |
| LOW | integrations/antigravity-plugin/core/mcp_server.py | 4 | CODE | |
| LOW | …egrations/antigravity-plugin/tests/test_antigravity.py | 1 | CODE | |
| LOW | integrations/antigravity-plugin/hooks/adapter.py | 4 | CODE | |
| LOW | integrations/agent-plugin-core/python/hook_runner.py | 3 | CODE | |
| 66 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/vector_stores/test_e2e_threshold.py | 63 | # Step 1: Search without threshold (baseline) | COMMENT |
| LOW⚡ | tests/vector_stores/test_e2e_threshold.py | 74 | # Step 2: Verify all scores are non-negative (similarity, not raw distance) | COMMENT |
| LOW⚡ | tests/vector_stores/test_e2e_threshold.py | 79 | # Step 3: Simulate threshold filtering as Memory.search() does it | COMMENT |
| LOW⚡ | tests/vector_stores/test_e2e_threshold.py | 99 | # Step 4: Very high threshold should return 0 or very few results | COMMENT |
| LOW | tests/vector_stores/test_databricks.py | 636 | # Step 1: Config validation (simulates what Memory.from_config does) | COMMENT |
| LOW | tests/vector_stores/test_databricks.py | 654 | # Step 2: Factory instantiation (same as MemoryBase.__init__) | COMMENT |
| LOW⚡ | tests/memory/test_main.py | 567 | # Step 1: Create a memory — capture the payload stored in the vector store | COMMENT |
| LOW⚡ | tests/memory/test_main.py | 577 | # Step 2: Simulate the vector store returning this memory for both search and get_all | COMMENT |
| LOW⚡ | tests/memory/test_main.py | 586 | # Step 3: Call search and get_all, compare timestamps | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1425 | // Step 1: Preprocess query | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1429 | // Step 2: Embed query | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1432 | // Step 3: Semantic search (over-fetch for scoring pool) | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1440 | // Step 4: Keyword search (if store supports it) | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1552 | // Step 7: Build candidate set from semantic results | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1561 | // Step 8: Score and rank | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/memory/index.ts | 1571 | // Step 9: Format results | COMMENT |
| LOW | mem0-ts/src/oss/src/memory/index.ts | 1459 | // Step 5: Compute BM25 scores from keyword results | COMMENT |
| LOW | mem0-ts/src/oss/src/memory/index.ts | 1472 | // Step 6: Compute entity boosts | COMMENT |
| LOW | mem0-ts/src/oss/src/memory/index.ts | 1594 | // Step 10: Optionally re-rank with the configured reranker. Opt-in per | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/prompts/index.ts | 902 | // Step 1: Strip known noise tokens from OpenRouter/local models | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/prompts/index.ts | 910 | // Step 2: Strip code fences and <think> blocks | COMMENT |
| LOW⚡ | mem0-ts/src/oss/src/prompts/index.ts | 916 | // Step 3: Try to find valid JSON object by testing each `{` as potential start | COMMENT |
| LOW | mem0-ts/src/oss/src/prompts/index.ts | 966 | // Step 4: Fallback - try first/last brace (original behavior for edge cases) | COMMENT |
| LOW | mem0-ts/src/oss/src/prompts/index.ts | 980 | // Step 5: Try to locate a JSON array by testing each `[` as potential start | COMMENT |
| LOW⚡ | cli/python/src/mem0_cli/commands/init_cmd.py | 163 | # Step 2: Get code from user | COMMENT |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 144 | # Step 1: Request verification code | COMMENT |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 177 | # Step 3: Verify code | COMMENT |
| LOW | cli/python/src/mem0_cli/commands/agent_mode_cmd.py | 165 | # Step 1: request OTP (unless --code provided) | COMMENT |
| LOW | cli/python/src/mem0_cli/commands/agent_mode_cmd.py | 199 | # Step 2: verify + claim in one shot | COMMENT |
| LOW | cli/node/src/commands/agent-mode.ts | 180 | // Step 1: request OTP (unless --code was supplied) | COMMENT |
| LOW | cli/node/src/commands/agent-mode.ts | 222 | // Step 2: verify + claim atomically | COMMENT |
| LOW⚡ | mem0/memory/main.py | 1647 | # Step 1: Preprocess query | COMMENT |
| LOW⚡ | mem0/memory/main.py | 1651 | # Step 2: Embed query | COMMENT |
| LOW⚡ | mem0/memory/main.py | 1654 | # Step 3: Semantic search (over-fetch for scoring pool) | COMMENT |
| LOW⚡ | mem0/memory/main.py | 1660 | # Step 4: Keyword search (if store supports it) | COMMENT |
| LOW⚡ | mem0/memory/main.py | 1665 | # Step 5: Compute BM25 scores from keyword results | COMMENT |
| LOW⚡ | mem0/memory/main.py | 1675 | # Step 6: Compute entity boosts | COMMENT |
| LOW⚡ | mem0/memory/main.py | 1680 | # Step 7: Build candidate set from semantic results | COMMENT |
| LOW⚡ | mem0/memory/main.py | 1693 | # Step 8: Score and rank | COMMENT |
| LOW⚡ | mem0/memory/main.py | 1703 | # Step 9: Format results | COMMENT |
| LOW⚡ | mem0/memory/main.py | 3334 | # Step 1: Preprocess query (CPU-bound) | COMMENT |
| LOW⚡ | mem0/memory/main.py | 3338 | # Step 2: Embed query | COMMENT |
| LOW⚡ | mem0/memory/main.py | 3341 | # Step 3: Semantic search (over-fetch) | COMMENT |
| LOW⚡ | mem0/memory/main.py | 3347 | # Step 4: Keyword search (if store supports it) | COMMENT |
| LOW⚡ | mem0/memory/main.py | 3352 | # Step 5: Compute BM25 scores | COMMENT |
| LOW⚡ | mem0/memory/main.py | 3362 | # Step 6: Compute entity boosts | COMMENT |
| LOW⚡ | mem0/memory/main.py | 3367 | # Step 7: Build candidate set from semantic results | COMMENT |
| LOW⚡ | mem0/memory/main.py | 3380 | # Step 8: Score and rank | COMMENT |
| LOW⚡ | mem0/memory/main.py | 3390 | # Step 9: Format results | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_telemetry_aliasing.py | 142 | setup_module.mark_aliased("oss-uuid", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 147 | assert setup_module.is_aliased("oss-uuid", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 153 | setup_module.mark_aliased("oss-uuid", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 161 | setup_module.mark_aliased("oss-uuid", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 162 | assert setup_module.is_aliased("oss-uuid", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 163 | assert not setup_module.is_aliased("new-uuid", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 177 | at.capture_identify("anon-123", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 181 | assert kwargs["distinct_id"] == "user@example.com" | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 191 | at.capture_identify("user@example.com", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 200 | at.capture_identify("", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 209 | at.capture_identify("anon-123", "user@example.com") # must not raise | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 219 | at.capture_identify("anon-123", "user@example.com") # must not raise | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 250 | client_main._maybe_alias_anon_to_email("user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 251 | telemetry.capture_identify.assert_called_once_with("oss-uuid", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 252 | mark.assert_called_once_with("oss-uuid", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 268 | client_main._maybe_alias_anon_to_email("user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 269 | telemetry.capture_identify.assert_called_once_with("cli-anon-xyz", "user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 285 | client_main._maybe_alias_anon_to_email("user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 288 | assert ("oss-uuid", "user@example.com") in calls | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 289 | assert ("cli-anon", "user@example.com") in calls | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 304 | client_main._maybe_alias_anon_to_email("user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 349 | client_main._maybe_alias_anon_to_email("user@example.com") # must not raise | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 360 | return_value={"oss": "user@example.com", "cli": None, "aliased_pairs": []}, | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 366 | client_main._maybe_alias_anon_to_email("user@example.com") | CODE |
| LOW⚡ | tests/test_telemetry_aliasing.py | 377 | client_main._maybe_alias_anon_to_email("user@example.com") # must not raise | CODE |
| LOW | tests/test_telemetry_aliasing.py | 329 | client_main._maybe_alias_anon_to_email("user@example.com") | CODE |
| LOW | tests/test_telemetry_aliasing.py | 402 | client_main._maybe_alias_anon_to_email("user@example.com") | CODE |
| LOW | tests/test_telemetry_aliasing.py | 407 | client_main._maybe_alias_anon_to_email("user@example.com") | CODE |
| LOW | tests/test_server_params.py | 39 | with patch.dict(os.environ, {"OPENAI_API_KEY": "fake-key", "ADMIN_API_KEY": ""}): | CODE |
| LOW | tests/test_client_feedback.py | 10 | client.user_email = "user@example.com" | CODE |
| LOW | tests/test_client_feedback.py | 39 | client.user_email = "user@example.com" | CODE |
| LOW | tests/test_api_keys_router.py | 55 | fake_user = User(id=uuid.uuid4(), name="t", email="t@e.com", password_hash="x", role="admin") | CODE |
| LOW | tests/test_api_keys_router.py | 56 | app.dependency_overrides[require_auth] = lambda: fake_user | CODE |
| LOW | tests/test_client.py | 22 | json=lambda: {"org_id": "org1", "project_id": "proj1", "user_email": "test@test.com"}, | CODE |
| LOW | tests/test_client_profiles.py | 20 | json=lambda: {"org_id": "org1", "project_id": "proj1", "user_email": "test@test.com"}, | CODE |
| LOW | tests/test_client_profiles.py | 213 | "user_email": "test@test.com", | CODE |
| LOW | tests/test_server_auth.py | 44 | with patch.dict(os.environ, {"OPENAI_API_KEY": "fake-key"}): | CODE |
| LOW | tests/vector_stores/test_mongodb.py | 42 | mock_collection.insert_one.assert_called_once_with({"_id": 0, "placeholder": True}) | CODE |
| LOW | tests/memory/test_session_scope.py | 35 | {"user_id": "user@example.com", "agent_id": "support-bot"}, | CODE |
| LOW | mem0-ts/src/oss/tests/session-scope.unit.test.ts | 77 | scopeOf(memory, { user_id: "user@example.com", agent_id: "support-bot" }), | CODE |
| LOW | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 583 | supabaseKey: "fake-key", | CODE |
| LOW | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 602 | supabaseKey: "fake-key", | CODE |
| LOW | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 616 | supabaseKey: "fake-key", | CODE |
| LOW | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 652 | supabaseKey: "fake-key", | CODE |
| LOW | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 677 | supabaseKey: "fake-key", | CODE |
| LOW | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 719 | supabaseKey: "fake-key", | CODE |
| LOW | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 780 | apiKey: "fake-key", | CODE |
| LOW | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 799 | apiKey: "fake-key", | CODE |
| LOW | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 4571 | apiToken: "fake-token", | CODE |
| LOW | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 4588 | apiKey: "fake-token", | CODE |
| LOW | mem0-ts/src/oss/tests/vector-stores-compat.test.ts | 4607 | apiKey: "fake-token", | CODE |
| LOW⚡ | mem0-ts/src/client/tests/telemetry-aliasing.test.ts | 107 | await markMem0Aliased("oss-uuid", "user@example.com"); | CODE |
| LOW⚡ | mem0-ts/src/client/tests/telemetry-aliasing.test.ts | 114 | expect(await isMem0Aliased("oss-uuid", "user@example.com")).toBe(true); | CODE |
| LOW⚡ | mem0-ts/src/client/tests/telemetry-aliasing.test.ts | 122 | await markMem0Aliased("oss-uuid", "user@example.com"); | CODE |
| LOW⚡ | mem0-ts/src/client/tests/telemetry-aliasing.test.ts | 134 | await markMem0Aliased("oss-uuid", "user@example.com"); | CODE |
| LOW⚡ | mem0-ts/src/client/tests/telemetry-aliasing.test.ts | 135 | expect(await isMem0Aliased("oss-uuid", "user@example.com")).toBe(true); | CODE |
| LOW⚡ | mem0-ts/src/client/tests/telemetry-aliasing.test.ts | 136 | expect(await isMem0Aliased("other-uuid", "user@example.com")).toBe(false); | CODE |
| LOW⚡ | mem0-ts/src/client/tests/telemetry-aliasing.test.ts | 145 | markMem0Aliased("oss-uuid", "user@example.com"), | CODE |
| LOW⚡ | mem0-ts/src/client/tests/telemetry-aliasing.test.ts | 161 | await telemetry.captureIdentify("anon-uuid", "user@example.com"); | CODE |
| LOW⚡ | mem0-ts/src/client/tests/telemetry-aliasing.test.ts | 167 | expect(payload.distinct_id).toBe("user@example.com"); | CODE |
| 18 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/vector_stores/test_neptune_analytics.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | server/server_state.py | 15 | def set_session_factory(factory: Callable) -> None: | CODE |
| LOW | cli/python/src/mem0_cli/state.py | 14 | def set_agent_mode(val: bool) -> None: | CODE |
| LOW | cli/python/src/mem0_cli/state.py | 23 | def set_current_command(name: str) -> None: | CODE |
| LOW | cli/python/src/mem0_cli/backend/__init__.py | 5 | __all__ = ["Backend", "get_backend"] | CODE |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 505 | def _setup_platform(config: Mem0Config) -> None: | CODE |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 523 | def _setup_defaults(config: Mem0Config) -> None: | CODE |
| LOW | integrations/codex-plugin/core/memory_core.py | 957 | def update_flush(self, packet_id: str, **fields: Any) -> None: | CODE |
| LOW | integrations/codex-plugin/core/memory_core.py | 1189 | def set_setting(self, key: str, value: str) -> None: | CODE |
| LOW | integrations/kimi-plugin/core/memory_core.py | 957 | def update_flush(self, packet_id: str, **fields: Any) -> None: | CODE |
| LOW | integrations/kimi-plugin/core/memory_core.py | 1189 | def set_setting(self, key: str, value: str) -> None: | CODE |
| LOW | integrations/antigravity-plugin/core/memory_core.py | 957 | def update_flush(self, packet_id: str, **fields: Any) -> None: | CODE |
| LOW | integrations/antigravity-plugin/core/memory_core.py | 1189 | def set_setting(self, key: str, value: str) -> None: | CODE |
| LOW | integrations/agent-plugin-core/python/memory_core.py | 957 | def update_flush(self, packet_id: str, **fields: Any) -> None: | CODE |
| LOW | integrations/agent-plugin-core/python/memory_core.py | 1189 | def set_setting(self, key: str, value: str) -> None: | CODE |
| LOW | integrations/hermes-plugin-mem0/_backend.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | integrations/hermes-plugin-mem0/__init__.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | integrations/hermes-plugin-mem0/_setup.py | 204 | def _setup_platform(hermes_home: str, config: dict, flags: dict[str, str]) -> None: | CODE |
| LOW | integrations/hermes-plugin-mem0/_setup.py | 240 | def _setup_selfhosted(hermes_home: str, config: dict, flags: dict[str, str]) -> None: | CODE |
| LOW | integrations/hermes-plugin-mem0/_setup.py | 289 | def _setup_oss(hermes_home: str, config: dict, flags: dict[str, str]) -> None: | CODE |
| LOW | integrations/hermes-plugin-mem0/_setup.py | 442 | def _setup_oss_interactive(hermes_home: str, config: dict) -> None: | CODE |
| LOW | integrations/claude-code-plugin/core/memory_core.py | 957 | def update_flush(self, packet_id: str, **fields: Any) -> None: | CODE |
| LOW | integrations/claude-code-plugin/core/memory_core.py | 1189 | def set_setting(self, key: str, value: str) -> None: | CODE |
| LOW | integrations/mem0-agent-plugin/core/memory_core.py | 957 | def update_flush(self, packet_id: str, **fields: Any) -> None: | CODE |
| LOW | integrations/mem0-agent-plugin/core/memory_core.py | 1189 | def set_setting(self, key: str, value: str) -> None: | CODE |
| LOW | …tions/mem0-strands/python/src/mem0_strands/__init__.py | 18 | __all__ = [ | CODE |
| LOW | integrations/cursor-plugin/core/memory_core.py | 957 | def update_flush(self, packet_id: str, **fields: Any) -> None: | CODE |
| LOW | integrations/cursor-plugin/core/memory_core.py | 1189 | def set_setting(self, key: str, value: str) -> None: | CODE |
| LOW | examples/misc/personalized_search.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/misc/multillm_memory.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/multiagents/llamaindex_learning_system.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/reranker/cohere_reranker.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/reranker/__init__.py | 12 | __all__ = [ | CODE |
| LOW | mem0/reranker/huggingface_reranker.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/reranker/llm_reranker.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/reranker/zero_entropy_reranker.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/reranker/sentence_transformer_reranker.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/cassandra.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/valkey.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/elasticsearch.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/s3_vectors.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/milvus.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/azure_mysql.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/pinecone.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/opensearch.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/supabase.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/turbopuffer.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/qdrant.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/upstash_vector.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/mongodb.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/neptune_analytics.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/faiss.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/pgvector.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/redis.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/oracledb.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/weaviate.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/azure_ai_search.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/databricks.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/langchain.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | mem0/vector_stores/baidu.py | 41 | logger = logging.getLogger(__name__) | CODE |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/scripts/seed.sh | 15 | # Check if setup is needed | COMMENT |
| LOW | examples/nemoclaw/install-mem0-plugin.sh | 175 | # Check if plugin is already installed | COMMENT |
| LOW | examples/nemoclaw/install-mem0-plugin.sh | 255 | # Check if mem0_api already exists | COMMENT |
| LOW⚡ | examples/nemoclaw/setup-mem0-nemoclaw.sh | 528 | # Check if a sandbox already exists | COMMENT |
| LOW | examples/nemoclaw/setup-mem0-nemoclaw.sh | 431 | # Check if NemoClaw is installed in the container | COMMENT |
| LOW | examples/nemoclaw/setup-mem0-nemoclaw.sh | 618 | # Check if plugin is already installed by trying to download a known file from the sandbox. | COMMENT |
| LOW | examples/nemoclaw/setup-mem0-nemoclaw.sh | 700 | # Check if mem0_api already exists | COMMENT |
| LOW | mem0/vector_stores/valkey.py | 207 | # Check if the search module is available | COMMENT |
| LOW | mem0/vector_stores/valkey.py | 221 | # Check if the index already exists | COMMENT |
| LOW | mem0/vector_stores/opensearch.py | 141 | # Check if index is ready by attempting a simple search | COMMENT |
| LOW⚡ | mem0/vector_stores/databricks.py | 241 | # Check if index exists and create if needed | COMMENT |
| LOW | mem0/vector_stores/langchain.py | 49 | # Check if input is a list of Document objects | COMMENT |
| LOW | mem0/vector_stores/langchain.py | 95 | # Check if client has add_embeddings method | COMMENT |
| LOW⚡ | mem0/vector_stores/baidu.py | 97 | # Check if database exists | COMMENT |
| LOW | mem0/vector_stores/baidu.py | 118 | # Check if table already exists | COMMENT |
| LOW | mem0/embeddings/aws_bedrock.py | 32 | # Check if AWS config is provided in the config | COMMENT |
| LOW | mem0/memory/main.py | 751 | # Check if agent_id is present in metadata | COMMENT |
| LOW | mem0/memory/main.py | 754 | # Check if there are assistant role messages | COMMENT |
| LOW | mem0/memory/main.py | 2446 | # Check if agent_id is present in metadata | COMMENT |
| LOW | mem0/memory/main.py | 2449 | # Check if there are assistant role messages | COMMENT |
| LOW | mem0/proxy/main.py | 177 | # Check if self.mem0_client is an instance of Memory or MemoryClient | COMMENT |
| LOW | mem0/configs/vector_stores/elasticsearch.py | 28 | # Check if either cloud_id or host/port is provided | COMMENT |
| LOW | mem0/configs/vector_stores/elasticsearch.py | 32 | # Check if authentication is provided | COMMENT |
| LOW | mem0/configs/vector_stores/elasticsearch.py | 44 | # Check if headers is a dictionary | COMMENT |
| LOW | mem0/configs/vector_stores/elasticsearch.py | 48 | # Check if all keys and values are strings | COMMENT |
| LOW | mem0/configs/vector_stores/opensearch.py | 31 | # Check if host is provided | COMMENT |
| LOW | mem0/configs/vector_stores/chroma.py | 27 | # Check if cloud configuration is provided | COMMENT |
| LOW | mem0/configs/vector_stores/chroma.py | 35 | # Check if local/server configuration is provided | COMMENT |
| LOW | mem0/configs/llms/aws_bedrock.py | 130 | # Check if model follows provider.model-name format | COMMENT |
| LOW⚡ | mem0/llms/aws_bedrock.py | 117 | # Check if our model is available | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cli/python/src/mem0_cli/app.py | 255 | CODE | |
| LOW | cli/python/src/mem0_cli/app.py | 347 | CODE | |
| LOW | cli/python/src/mem0_cli/app.py | 488 | CODE | |
| LOW | cli/python/src/mem0_cli/app.py | 566 | CODE | |
| LOW | cli/python/src/mem0_cli/app.py | 617 | CODE | |
| LOW | cli/python/src/mem0_cli/app.py | 810 | CODE | |
| LOW | cli/python/src/mem0_cli/app.py | 930 | CODE | |
| LOW | cli/python/src/mem0_cli/backend/platform.py | 78 | CODE | |
| LOW | cli/python/src/mem0_cli/backend/platform.py | 175 | CODE | |
| LOW | cli/python/src/mem0_cli/backend/platform.py | 232 | CODE | |
| LOW | cli/python/src/mem0_cli/backend/base.py | 15 | CODE | |
| LOW | cli/python/src/mem0_cli/backend/base.py | 36 | CODE | |
| LOW | cli/python/src/mem0_cli/backend/base.py | 59 | CODE | |
| LOW | cli/python/src/mem0_cli/commands/init_cmd.py | 197 | CODE | |
| LOW | integrations/mem0-strands/python/tests/test_client.py | 42 | CODE | |
| LOW | …grations/mem0-strands/python/src/mem0_strands/store.py | 63 | CODE | |
| LOW | examples/misc/strands_agent_aws_elasticache_neptune.py | 112 | CODE | |
| LOW | mem0/vector_stores/cassandra.py | 42 | CODE | |
| LOW | mem0/vector_stores/milvus.py | 235 | CODE | |
| LOW | mem0/vector_stores/milvus.py | 327 | CODE | |
| LOW | mem0/vector_stores/qdrant.py | 30 | CODE | |
| LOW | mem0/vector_stores/qdrant.py | 592 | CODE | |
| LOW | mem0/vector_stores/mongodb.py | 223 | CODE | |
| LOW | mem0/vector_stores/databricks.py | 52 | CODE | |
| LOW | mem0/memory/utils.py | 183 | CODE | |
| LOW | mem0/memory/main.py | 760 | CODE | |
| LOW | mem0/memory/main.py | 2050 | CODE | |
| LOW | mem0/memory/main.py | 2455 | CODE | |
| LOW | mem0/memory/main.py | 3768 | CODE | |
| LOW | mem0/proxy/main.py | 47 | CODE | |
| LOW | mem0/configs/prompts.py | 1016 | CODE | |
| LOW | mem0/configs/embeddings/base.py | 14 | CODE | |
| LOW | mem0/configs/llms/vllm.py | 13 | CODE | |
| LOW | mem0/configs/llms/minimax.py | 12 | CODE | |
| LOW | mem0/configs/llms/lmstudio.py | 12 | CODE | |
| LOW | mem0/configs/llms/azure.py | 13 | CODE | |
| LOW | mem0/configs/llms/gemini.py | 14 | CODE | |
| LOW | mem0/configs/llms/aws_bedrock.py | 14 | CODE | |
| LOW | mem0/configs/llms/openai.py | 12 | CODE | |
| LOW | mem0/configs/llms/deepseek.py | 12 | CODE | |
| LOW | mem0/configs/llms/anthropic.py | 12 | CODE | |
| LOW | mem0/configs/llms/xai.py | 12 | CODE | |
| LOW | mem0/configs/llms/ollama.py | 12 | CODE | |
| LOW | mem0/configs/llms/base.py | 16 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | integrations/codex-plugin/core/telemetry.py | 495 | # Stamped in the RECORDING process, beside harness. `source` used to be | COMMENT |
| MEDIUM | integrations/codex-plugin/core/memory_core.py | 2013 | # is what makes attribution work on both. The harness tag stays in | COMMENT |
| MEDIUM | integrations/kimi-plugin/core/telemetry.py | 495 | # Stamped in the RECORDING process, beside harness. `source` used to be | COMMENT |
| MEDIUM | integrations/kimi-plugin/core/memory_core.py | 2013 | # is what makes attribution work on both. The harness tag stays in | COMMENT |
| MEDIUM | integrations/antigravity-plugin/core/telemetry.py | 495 | # Stamped in the RECORDING process, beside harness. `source` used to be | COMMENT |
| MEDIUM | integrations/antigravity-plugin/core/memory_core.py | 2013 | # is what makes attribution work on both. The harness tag stays in | COMMENT |
| MEDIUM | integrations/agent-plugin-core/python/telemetry.py | 495 | # Stamped in the RECORDING process, beside harness. `source` used to be | COMMENT |
| MEDIUM | integrations/agent-plugin-core/python/memory_core.py | 2013 | # is what makes attribution work on both. The harness tag stays in | COMMENT |
| MEDIUM | …rations/agent-plugin-core/tests/test_spool_delivery.py | 38 | # dropping the module left a later re-import with default harness config, so | COMMENT |
| MEDIUM | integrations/claude-code-plugin/core/telemetry.py | 495 | # Stamped in the RECORDING process, beside harness. `source` used to be | COMMENT |
| MEDIUM | integrations/claude-code-plugin/core/memory_core.py | 2013 | # is what makes attribution work on both. The harness tag stays in | COMMENT |
| MEDIUM | integrations/mem0-agent-plugin/core/telemetry.py | 495 | # Stamped in the RECORDING process, beside harness. `source` used to be | COMMENT |
| MEDIUM | integrations/mem0-agent-plugin/core/memory_core.py | 2013 | # is what makes attribution work on both. The harness tag stays in | COMMENT |
| MEDIUM | integrations/cursor-plugin/core/telemetry.py | 495 | # Stamped in the RECORDING process, beside harness. `source` used to be | COMMENT |
| MEDIUM | integrations/cursor-plugin/core/memory_core.py | 2013 | # is what makes attribution work on both. The harness tag stays in | COMMENT |
| LOW | mem0/vector_stores/valkey.py | 348 | # No filters, just use the KNN search | COMMENT |
| LOW | mem0/memory/setup.py | 142 | # If no vector store provided, just return the user_id | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/misc/movie_recommendation_grok3.py | 31 | "model": "all-MiniLM-L6-v2" # open embedding model | CODE |
| MEDIUM | examples/misc/strands_agent_aws_elasticache_neptune.py | 15 | - AWS Blog: https://aws.amazon.com/blogs/database/build-persistent-memory-for-agentic-ai-applications-with-mem0-open-sou | STRING |
| MEDIUM | examples/misc/strands_agent_aws_elasticache_neptune.py | 16 | - Mem0 Blog: https://mem0.ai/blog/build-persistent-memory-for-agentic-ai-applications-with-mem0-open-source-amazon-elast | STRING |
| MEDIUM | examples/multiagents/llamaindex_learning_system.py | 136 | # Create the multi-agent workflow | STRING |
| MEDIUM | examples/multiagents/llamaindex_learning_system.py | 158 | # The magic happens here - multi-agent memory is automatically shared! | STRING |
| MEDIUM | examples/multiagents/llamaindex_learning_system.py | 190 | # Second session - multi-agent memory will remember the first | COMMENT |
| MEDIUM | examples/multiagents/llamaindex_learning_system.py | 195 | # Show what the multi-agent system remembers | COMMENT |
| MEDIUM | .github/workflows/docs-llms-txt-check.yml | 7 | # python scripts/check-llms-txt-coverage.py --write # scaffold placeholders | COMMENT |
| MEDIUM | mem0/vector_stores/databricks.py | 421 | # so we inline using _format_sql_value (values are floats from the embedding model). | COMMENT |
| MEDIUM | mem0/memory/main.py | 935 | # Map UUIDs to integers (anti-hallucination) | COMMENT |
| MEDIUM | mem0/memory/main.py | 2618 | # Map UUIDs to integers (anti-hallucination) | COMMENT |
| MEDIUM | skills/mem0/references/use-cases.md | 11 | - [Multi-Agent / Multi-Tenant](#5-multi-agent--multi-tenant) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/vector_stores/test_oracledb.py | 569 | ({"nullable": {"in": [None, "set"]}}, "@ in (null, $f_0)", {"f_0": "set"}), | CODE |
| HIGH | cli/python/src/mem0_cli/commands/agent_mode_cmd.py | 35 | A backend regression that returns ``{"api_key": null}`` would otherwise be | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mem0-ts/src/global.d.ts | 1 | // Injected by tsup/esbuild's `define` at build time from package.json. | COMMENT |
| LOW | integrations/deepseek-plugin/cordis.example.yml | 1 | # Example DeepSeek Harness config that loads deepseek-plugin alongside the built-in | COMMENT |
| LOW | integrations/openclaw/index.ts | 421 | // ======================================================================== | COMMENT |
| LOW | …grations/agent-plugin-core/typescript/src/telemetry.ts | 81 | // processes that fire per tool call and exit immediately, so nothing survives | COMMENT |
| LOW | integrations/zapier-mem0/test/setup.ts | 1 | // Jest setup file. Usage attribution is recorded server-side by the Mem0 API | COMMENT |
| LOW | examples/mem0-demo/next-env.d.ts | 1 | /// <reference types="next" /> | COMMENT |
| LOW | examples/nemoclaw/install-mem0-plugin.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | examples/nemoclaw/setup-mem0-nemoclaw.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/llms-txt-ignore.txt | 1 | # Page path prefixes (relative to docs/, without .mdx) that intentionally | COMMENT |
| LOW | .github/workflows/release.yml | 1 | name: Release Router 🚦 | COMMENT |
| LOW | .github/workflows/ci-gate.yml | 1 | name: CI Gate | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integrations/codex-plugin/core/mcp_server.py | 152 | def handle_request(message: Any) -> dict[str, Any] | None: | CODE |
| LOW | integrations/kimi-plugin/core/mcp_server.py | 152 | def handle_request(message: Any) -> dict[str, Any] | None: | CODE |
| LOW | integrations/antigravity-plugin/core/mcp_server.py | 152 | def handle_request(message: Any) -> dict[str, Any] | None: | CODE |
| LOW | integrations/agent-plugin-core/python/mcp_server.py | 152 | def handle_request(message: Any) -> dict[str, Any] | None: | CODE |
| LOW | integrations/claude-code-plugin/core/mcp_server.py | 152 | def handle_request(message: Any) -> dict[str, Any] | None: | CODE |
| LOW | integrations/mem0-agent-plugin/core/mcp_server.py | 152 | def handle_request(message: Any) -> dict[str, Any] | None: | CODE |
| LOW | integrations/cursor-plugin/core/mcp_server.py | 152 | def handle_request(message: Any) -> dict[str, Any] | None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/misc/test.py | 83 | # Example usage | COMMENT |
| LOW | examples/misc/study_buddy.py | 63 | # Example usage | COMMENT |
| LOW⚡ | examples/nemoclaw/install-mem0-plugin.sh | 8 | # Usage: | COMMENT |
| LOW | examples/nemoclaw/setup-mem0-nemoclaw.sh | 8 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mem0-ts/src/oss/tests/extract-json.test.ts | 37 | '{"facts": ["Loves pizza"]}\nLet me know if you need anything else!'; | CODE |
| MEDIUM | .github/scripts/infer-component-labels.test.js | 35 | body: "### 🐛 Describe the bug\n\nI'm using docker compose to deploy a REST API server. When adding memory, I'm unabl | CODE |