feat(integrations): add Hermes provider with shared memory utilities

This commit is contained in:
kartik-mem0
2026-09-18 13:20:57 +05:30
parent 84bf468176
commit 4284ef0d2a
40 changed files with 4168 additions and 954 deletions
@@ -0,0 +1,39 @@
from __future__ import annotations
import subprocess
import sys
from pathlib import Path
CORE = Path(__file__).resolve().parents[1] / "python"
def test_message_helpers_are_standalone_and_keep_legacy_exports() -> None:
result = subprocess.run(
[
sys.executable,
"-c",
"""
import json
import sys
import message_utils
assert "memory_core" not in sys.modules
assert "telemetry" not in sys.modules
text = "prefix " + "日本語🙂" * 250 + ' {"password": "secret value"}'
redacted = message_utils.redact(text)
assert "secret value" not in redacted
messages = [{"role": "user", "content": redacted}]
batches = message_utils.extraction_message_batches(messages, max_tokens=100)
assert len(batches) > 1
assert all(message_utils._message_tokens(batch) <= 100 for batch in batches)
assert "".join(m["content"] for batch in batches for m in batch) == redacted
import memory_core
for name in ("redact", "SECRET_PATTERNS", "extraction_message_batches", "_message_tokens"):
assert getattr(memory_core, name) is getattr(message_utils, name)
""",
],
cwd=CORE,
text=True,
capture_output=True,
check=False,
)
assert result.returncode == 0, result.stdout + result.stderr