yourmemory 1.4.2__tar.gz → 1.4.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {yourmemory-1.4.2 → yourmemory-1.4.3}/PKG-INFO +3 -3
- {yourmemory-1.4.2 → yourmemory-1.4.3}/memory_mcp.py +28 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/pyproject.toml +4 -2
- {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/PKG-INFO +3 -3
- {yourmemory-1.4.2 → yourmemory-1.4.3}/LICENSE +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/README.md +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/setup.cfg +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/__init__.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/app.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/db/connection.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/db/duckdb_schema.sql +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/db/migrate.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/db/schema.sql +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/db/sqlite_schema.sql +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/__init__.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/backend.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/graph_store.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/neo4j_backend.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/networkx_backend.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/svo_extract.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/jobs/decay_job.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/routes/__init__.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/routes/agents.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/routes/memories.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/routes/retrieve.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/routes/ui.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/__init__.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/agent_registry.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/api_keys.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/decay.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/embed.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/extract.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/extract_fallback.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/resolve.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/resolve_fallback.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/retrieve.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/utils.py +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/SOURCES.txt +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/dependency_links.txt +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/entry_points.txt +0 -0
- {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/requires.txt +2 -2
- {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: yourmemory
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.3
|
|
4
4
|
Summary: Persistent memory for Claude — Ebbinghaus forgetting curve, semantic deduplication, MCP-native
|
|
5
5
|
Author-email: Sachit Misra <mishrasachit1@gmail.com>
|
|
6
6
|
License-Expression: CC-BY-NC-4.0
|
|
@@ -24,12 +24,12 @@ Requires-Dist: duckdb>=0.10.0
|
|
|
24
24
|
Requires-Dist: apscheduler
|
|
25
25
|
Requires-Dist: spacy<4.0,>=3.8.13
|
|
26
26
|
Requires-Dist: networkx>=3.0
|
|
27
|
+
Requires-Dist: fastapi
|
|
28
|
+
Requires-Dist: uvicorn[standard]
|
|
27
29
|
Provides-Extra: postgres
|
|
28
30
|
Requires-Dist: psycopg2-binary; extra == "postgres"
|
|
29
31
|
Requires-Dist: pgvector; extra == "postgres"
|
|
30
32
|
Provides-Extra: sse
|
|
31
|
-
Requires-Dist: fastapi; extra == "sse"
|
|
32
|
-
Requires-Dist: uvicorn[standard]; extra == "sse"
|
|
33
33
|
Requires-Dist: httpx; extra == "sse"
|
|
34
34
|
Provides-Extra: neo4j
|
|
35
35
|
Requires-Dist: neo4j>=5.0; extra == "neo4j"
|
|
@@ -555,6 +555,32 @@ async def call_tool(name: str, arguments: dict) -> list[types.TextContent]:
|
|
|
555
555
|
return [types.TextContent(type="text", text=json.dumps({"error": f"Unknown tool: {name}"}))]
|
|
556
556
|
|
|
557
557
|
|
|
558
|
+
def _start_dashboard(port: int) -> None:
|
|
559
|
+
"""Start the memory dashboard HTTP server in a background daemon thread.
|
|
560
|
+
|
|
561
|
+
Binds to 127.0.0.1 only — local access, not exposed to the network.
|
|
562
|
+
Prints the URL to stderr so it doesn't pollute the MCP stdio stream.
|
|
563
|
+
"""
|
|
564
|
+
try:
|
|
565
|
+
import uvicorn
|
|
566
|
+
from src.app import app as dashboard_app
|
|
567
|
+
|
|
568
|
+
config = uvicorn.Config(
|
|
569
|
+
dashboard_app,
|
|
570
|
+
host="127.0.0.1",
|
|
571
|
+
port=port,
|
|
572
|
+
log_level="error",
|
|
573
|
+
access_log=False,
|
|
574
|
+
)
|
|
575
|
+
server = uvicorn.Server(config)
|
|
576
|
+
|
|
577
|
+
t = threading.Thread(target=server.run, daemon=True, name="dashboard")
|
|
578
|
+
t.start()
|
|
579
|
+
print(f" Dashboard → http://127.0.0.1:{port}/ui", file=sys.stderr)
|
|
580
|
+
except Exception as exc:
|
|
581
|
+
print(f" Dashboard unavailable: {exc}", file=sys.stderr)
|
|
582
|
+
|
|
583
|
+
|
|
558
584
|
def _start_decay_scheduler():
|
|
559
585
|
"""Run the decay job once immediately, then every 24 hours in a background thread."""
|
|
560
586
|
from src.jobs.decay_job import run as run_decay
|
|
@@ -892,6 +918,8 @@ def run():
|
|
|
892
918
|
# Default to SSE on Windows — stdio pipes break intermittently on Windows
|
|
893
919
|
_run_sse(int(os.getenv("PORT", 3033)))
|
|
894
920
|
else:
|
|
921
|
+
dashboard_port = int(os.getenv("YOURMEMORY_DASHBOARD_PORT", 3033))
|
|
922
|
+
_start_dashboard(dashboard_port)
|
|
895
923
|
asyncio.run(main())
|
|
896
924
|
|
|
897
925
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "yourmemory"
|
|
7
|
-
version = "1.4.
|
|
7
|
+
version = "1.4.3"
|
|
8
8
|
description = "Persistent memory for Claude — Ebbinghaus forgetting curve, semantic deduplication, MCP-native"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -30,11 +30,13 @@ dependencies = [
|
|
|
30
30
|
"apscheduler",
|
|
31
31
|
"spacy>=3.8.13,<4.0",
|
|
32
32
|
"networkx>=3.0",
|
|
33
|
+
"fastapi",
|
|
34
|
+
"uvicorn[standard]",
|
|
33
35
|
]
|
|
34
36
|
|
|
35
37
|
[project.optional-dependencies]
|
|
36
38
|
postgres = ["psycopg2-binary", "pgvector"]
|
|
37
|
-
sse = ["
|
|
39
|
+
sse = ["httpx"]
|
|
38
40
|
neo4j = ["neo4j>=5.0"]
|
|
39
41
|
all = ["yourmemory[postgres,sse,neo4j]"]
|
|
40
42
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: yourmemory
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.3
|
|
4
4
|
Summary: Persistent memory for Claude — Ebbinghaus forgetting curve, semantic deduplication, MCP-native
|
|
5
5
|
Author-email: Sachit Misra <mishrasachit1@gmail.com>
|
|
6
6
|
License-Expression: CC-BY-NC-4.0
|
|
@@ -24,12 +24,12 @@ Requires-Dist: duckdb>=0.10.0
|
|
|
24
24
|
Requires-Dist: apscheduler
|
|
25
25
|
Requires-Dist: spacy<4.0,>=3.8.13
|
|
26
26
|
Requires-Dist: networkx>=3.0
|
|
27
|
+
Requires-Dist: fastapi
|
|
28
|
+
Requires-Dist: uvicorn[standard]
|
|
27
29
|
Provides-Extra: postgres
|
|
28
30
|
Requires-Dist: psycopg2-binary; extra == "postgres"
|
|
29
31
|
Requires-Dist: pgvector; extra == "postgres"
|
|
30
32
|
Provides-Extra: sse
|
|
31
|
-
Requires-Dist: fastapi; extra == "sse"
|
|
32
|
-
Requires-Dist: uvicorn[standard]; extra == "sse"
|
|
33
33
|
Requires-Dist: httpx; extra == "sse"
|
|
34
34
|
Provides-Extra: neo4j
|
|
35
35
|
Requires-Dist: neo4j>=5.0; extra == "neo4j"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|