chat-memory-sync 0.1.3__tar.gz → 0.1.4__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.
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/PKG-INFO +1 -1
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/src/chat_memory_sync/__init__.py +1 -1
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/src/chat_memory_sync/recall.py +20 -12
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/.gitignore +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/CODE_OF_CONDUCT.md +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/CONTRIBUTING.md +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/LICENSE +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/README.md +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/ROADMAP.md +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/docs/agent-integration.md +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/pyproject.toml +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/src/chat_memory_sync/__main__.py +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/src/chat_memory_sync/cli.py +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/src/chat_memory_sync/cmlib.py +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/src/chat_memory_sync/install.py +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/src/chat_memory_sync/run.py +0 -0
- {chat_memory_sync-0.1.3 → chat_memory_sync-0.1.4}/src/chat_memory_sync/sync.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: chat-memory-sync
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: Unified, searchable memory bank of your AI coding chats across Cursor, Claude Code, OpenCode, Codex, Gemini CLI, Pi and more — synced across machines.
|
|
5
5
|
Project-URL: Homepage, https://github.com/insideaayush/chat-memory-sync
|
|
6
6
|
Project-URL: Repository, https://github.com/insideaayush/chat-memory-sync
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"""chat-memory-sync: unified, searchable memory bank of your AI coding chats."""
|
|
2
|
-
__version__ = "0.1.
|
|
2
|
+
__version__ = "0.1.4"
|
|
@@ -3,20 +3,22 @@
|
|
|
3
3
|
recall - find relevant past chats without scanning the whole repo.
|
|
4
4
|
|
|
5
5
|
Builds a local SQLite full-text index (BM25) over all chat markdown and queries
|
|
6
|
-
it, auto-scoped to the current project. The index
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Usage:
|
|
10
|
-
recall "affiliate tier rebate" # auto-scope to CWD's project
|
|
11
|
-
recall "worktree flow" --project based-one-mono
|
|
12
|
-
recall "nesting model" --all # search every project
|
|
13
|
-
recall "payout bug" --harness cursor --since 2026-09 -k 10
|
|
14
|
-
recall "..." --full # print file paths only (for piping)
|
|
15
|
-
recall --reindex # force rebuild the index
|
|
6
|
+
it, auto-scoped to the current project. The index lives under the machine-local
|
|
7
|
+
state dir (e.g. ~/.config/chat-memory/index.db) and is rebuilt automatically when
|
|
8
|
+
chats change. It is never committed to the data repo.
|
|
16
9
|
|
|
17
10
|
Agents: run this from inside the repo you're working on, read the top hits,
|
|
18
11
|
then open those files for full context.
|
|
19
12
|
"""
|
|
13
|
+
|
|
14
|
+
EXAMPLES = """examples:
|
|
15
|
+
recall "affiliate tier rebate" auto-scope to the current repo (by CWD)
|
|
16
|
+
recall "worktree flow" --project based-one-mono
|
|
17
|
+
recall "nesting model" --all search every project
|
|
18
|
+
recall "payout bug" --harness cursor --since 2026-09 -k 10
|
|
19
|
+
recall "oauth flow" --full print file paths only (pipe-friendly)
|
|
20
|
+
recall --reindex force rebuild the index
|
|
21
|
+
"""
|
|
20
22
|
import os, sys, re, glob, sqlite3, argparse, datetime
|
|
21
23
|
from . import cmlib
|
|
22
24
|
|
|
@@ -183,8 +185,14 @@ def search(query, project=None, harness=None, since=None, k=8):
|
|
|
183
185
|
return [(r, make_snippet(r["path"], query)) for r in rows]
|
|
184
186
|
|
|
185
187
|
def main(argv=None):
|
|
186
|
-
ap = argparse.ArgumentParser(
|
|
187
|
-
|
|
188
|
+
ap = argparse.ArgumentParser(
|
|
189
|
+
prog="recall",
|
|
190
|
+
description="Search your past AI coding chats across all tools and machines.\n"
|
|
191
|
+
"Auto-scoped to the current project (by working directory); ranked\n"
|
|
192
|
+
"with BM25 and shown with snippets. Part of chat-memory-sync.",
|
|
193
|
+
epilog=EXAMPLES,
|
|
194
|
+
formatter_class=argparse.RawDescriptionHelpFormatter)
|
|
195
|
+
ap.add_argument("query", nargs="?", default="", help="search terms")
|
|
188
196
|
ap.add_argument("--project", help="project to scope to (default: infer from CWD)")
|
|
189
197
|
ap.add_argument("--all", action="store_true", help="search all projects")
|
|
190
198
|
ap.add_argument("--harness", help="cursor|cursor-agent|claude-code|opencode|pi|codex|gemini")
|
|
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
|