Merge branch 'main' into main

This commit is contained in:
Tal Muskal
2026-04-09 08:17:39 +03:00
committed by GitHub
6 changed files with 13 additions and 14 deletions
+1 -1
View File
@@ -9,7 +9,7 @@
"name": "mempalace", "name": "mempalace",
"source": "./.claude-plugin", "source": "./.claude-plugin",
"description": "AI memory system — mine projects and conversations into a searchable palace. 19 MCP tools, auto-save hooks, guided setup.", "description": "AI memory system — mine projects and conversations into a searchable palace. 19 MCP tools, auto-save hooks, guided setup.",
"version": "3.0.13", "version": "3.0.14",
"author": { "author": {
"name": "milla-jovovich" "name": "milla-jovovich"
} }
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "mempalace", "name": "mempalace",
"version": "3.0.13", "version": "3.0.14",
"description": "Give your AI a memory — mine projects and conversations into a searchable palace. 19 MCP tools, auto-save hooks, and guided setup.", "description": "Give your AI a memory — mine projects and conversations into a searchable palace. 19 MCP tools, auto-save hooks, and guided setup.",
"author": { "author": {
"name": "milla-jovovich" "name": "milla-jovovich"
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "mempalace", "name": "mempalace",
"version": "3.0.13", "version": "3.0.14",
"description": "Give your AI a memory — mine projects and conversations into a searchable palace. 19 MCP tools, auto-save hooks, and guided setup.", "description": "Give your AI a memory — mine projects and conversations into a searchable palace. 19 MCP tools, auto-save hooks, and guided setup.",
"author": { "author": {
"name": "milla-jovovich" "name": "milla-jovovich"
+8 -9
View File
@@ -465,29 +465,29 @@ def process_file(
rooms: list, rooms: list,
agent: str, agent: str,
dry_run: bool, dry_run: bool,
) -> int: ) -> tuple:
"""Read, chunk, route, and file one file. Returns drawer count.""" """Read, chunk, route, and file one file. Returns (drawer_count, room_name)."""
# Skip if already filed # Skip if already filed
source_file = str(filepath) source_file = str(filepath)
if not dry_run and file_already_mined(collection, source_file): if not dry_run and file_already_mined(collection, source_file):
return 0 return 0, None
try: try:
content = filepath.read_text(encoding="utf-8", errors="replace") content = filepath.read_text(encoding="utf-8", errors="replace")
except OSError: except OSError:
return 0 return 0, None
content = content.strip() content = content.strip()
if len(content) < MIN_CHUNK_SIZE: if len(content) < MIN_CHUNK_SIZE:
return 0 return 0, None
room = detect_room(filepath, content, rooms, project_path) room = detect_room(filepath, content, rooms, project_path)
chunks = chunk_text(content, source_file) chunks = chunk_text(content, source_file)
if dry_run: if dry_run:
print(f" [DRY RUN] {filepath.name} → room:{room} ({len(chunks)} drawers)") print(f" [DRY RUN] {filepath.name} → room:{room} ({len(chunks)} drawers)")
return len(chunks) return len(chunks), room
drawers_added = 0 drawers_added = 0
for chunk in chunks: for chunk in chunks:
@@ -503,7 +503,7 @@ def process_file(
if added: if added:
drawers_added += 1 drawers_added += 1
return drawers_added return drawers_added, room
# ============================================================================= # =============================================================================
@@ -622,7 +622,7 @@ def mine(
room_counts = defaultdict(int) room_counts = defaultdict(int)
for i, filepath in enumerate(files, 1): for i, filepath in enumerate(files, 1):
drawers = process_file( drawers, room = process_file(
filepath=filepath, filepath=filepath,
project_path=project_path, project_path=project_path,
collection=collection, collection=collection,
@@ -635,7 +635,6 @@ def mine(
files_skipped += 1 files_skipped += 1
else: else:
total_drawers += drawers total_drawers += drawers
room = detect_room(filepath, "", rooms, project_path)
room_counts[room] += 1 room_counts[room] += 1
if not dry_run: if not dry_run:
print(f" ✓ [{i:4}/{len(files)}] {filepath.name[:50]:50} +{drawers}") print(f" ✓ [{i:4}/{len(files)}] {filepath.name[:50]:50} +{drawers}")
+1 -1
View File
@@ -1,3 +1,3 @@
"""Single source of truth for the MemPalace package version.""" """Single source of truth for the MemPalace package version."""
__version__ = "3.0.13" __version__ = "3.0.14"
+1 -1
View File
@@ -1,6 +1,6 @@
[project] [project]
name = "mempalace" name = "mempalace"
version = "3.0.13" version = "3.0.14"
description = "Give your AI a memory — mine projects and conversations into a searchable palace. No API key required." description = "Give your AI a memory — mine projects and conversations into a searchable palace. No API key required."
readme = "README.md" readme = "README.md"
requires-python = ">=3.9" requires-python = ">=3.9"