openlynx 0.2.0__py3-none-any.whl
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.
- lynx_memory/__init__.py +1 -0
- lynx_memory/assets/__init__.py +0 -0
- lynx_memory/assets/commands/lynx-memory-delete.md +56 -0
- lynx_memory/assets/commands/lynx-memory-history.md +31 -0
- lynx_memory/assets/commands/lynx-memory-pull-global.md +40 -0
- lynx_memory/assets/commands/lynx-memory-push-global.md +40 -0
- lynx_memory/assets/commands/lynx-memory-status.md +20 -0
- lynx_memory/assets/web/assets/index-B0j42wWr.js +68 -0
- lynx_memory/assets/web/assets/index-ChnC4PlG.css +1 -0
- lynx_memory/assets/web/index.html +13 -0
- lynx_memory/cli.py +935 -0
- lynx_memory/config.py +108 -0
- lynx_memory/embeddings.py +31 -0
- lynx_memory/hooks/__init__.py +0 -0
- lynx_memory/hooks/_log.py +11 -0
- lynx_memory/hooks/on_prompt.py +135 -0
- lynx_memory/hooks/on_session_end.py +164 -0
- lynx_memory/hooks/on_stop.py +35 -0
- lynx_memory/server.py +108 -0
- lynx_memory/storage.py +660 -0
- lynx_memory/summarizer.py +209 -0
- lynx_memory/transcript.py +281 -0
- lynx_memory/web.py +258 -0
- openlynx-0.2.0.dist-info/METADATA +277 -0
- openlynx-0.2.0.dist-info/RECORD +28 -0
- openlynx-0.2.0.dist-info/WHEEL +4 -0
- openlynx-0.2.0.dist-info/entry_points.txt +6 -0
- openlynx-0.2.0.dist-info/licenses/LICENSE +21 -0
lynx_memory/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.2.0"
|
|
File without changes
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Permanently delete lynx-memory history (requires double confirmation)
|
|
3
|
+
allowed-tools: Bash(lynx-memory:*)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are helping the user **permanently delete** lynx-memory history (sqlite + chroma vector store). This is irreversible. Follow the steps below strictly.
|
|
7
|
+
|
|
8
|
+
## Step 1: Check current status
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
lynx-memory status
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Report to the user: whether the project repo `./.lynx-memory/` and the global repo `~/.claude/lynx-memory/` exist, and the turn / summary counts of each.
|
|
15
|
+
|
|
16
|
+
## Step 2: Ask which scope to delete
|
|
17
|
+
|
|
18
|
+
Give the user three explicit options and ask them to pick one:
|
|
19
|
+
|
|
20
|
+
- `project` — delete only the current project's memory
|
|
21
|
+
- `global` — delete only the global memory
|
|
22
|
+
- `both` — delete both
|
|
23
|
+
|
|
24
|
+
## Step 3: First confirmation
|
|
25
|
+
|
|
26
|
+
Restate the directory paths and counts that will be deleted, then ask: "Confirm deletion? Reply `DELETE` to continue."
|
|
27
|
+
|
|
28
|
+
- The user must reply with the **exact English word `DELETE`** to pass the first confirmation.
|
|
29
|
+
- Any other reply means abort — stop immediately and tell the user it has been cancelled.
|
|
30
|
+
|
|
31
|
+
## Step 4: Second confirmation
|
|
32
|
+
|
|
33
|
+
After the first one passes, ask again: "Final confirmation: are you sure you want to permanently delete all memory for [scope]? (y/N)"
|
|
34
|
+
|
|
35
|
+
- The user must explicitly reply `y` or `yes`.
|
|
36
|
+
- Any other reply means abort — stop immediately and tell the user it has been cancelled.
|
|
37
|
+
|
|
38
|
+
## Step 5: Run the delete
|
|
39
|
+
|
|
40
|
+
Only after both confirmations pass:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
lynx-memory delete --scope <project|global|both> --yes
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
(`--yes` is used because the double confirmation has already happened in chat; the CLI's own interactive prompt can be skipped.)
|
|
47
|
+
|
|
48
|
+
## Step 6: Check status after deletion
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
lynx-memory status
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Report the change to the user.
|
|
55
|
+
|
|
56
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Open the local Web UI to browse project / global lynx-memory history
|
|
3
|
+
allowed-tools: Bash(lynx-memory:*)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Start the local Web UI:
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
lynx-memory web
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
This will:
|
|
13
|
+
|
|
14
|
+
- Start a FastAPI server on `127.0.0.1` on a free port
|
|
15
|
+
- Open the UI in the system default browser (use `lynx-memory web --no-open` to skip)
|
|
16
|
+
- Let the user paginate, run keyword / semantic search, delete single turns, and tag turns
|
|
17
|
+
- Provide a scope toggle at the top of the page to switch between project and global history
|
|
18
|
+
|
|
19
|
+
Remind the user:
|
|
20
|
+
|
|
21
|
+
- Stop the server with `Ctrl+C`
|
|
22
|
+
- The server only listens on `127.0.0.1`; it is not exposed externally
|
|
23
|
+
- Default port is `9527`; override with `lynx-memory web --port 8080`, or `--port 0` to let the OS pick a free port
|
|
24
|
+
|
|
25
|
+
UI delete and tag actions write to the database immediately:
|
|
26
|
+
|
|
27
|
+
- Delete: `DELETE /api/turns/{scope}/{id}` → removes the row from SQLite `turns` / `turn_tags` and clears the Chroma vector
|
|
28
|
+
- Tag: `POST /api/turns/{scope}/{id}/tags` → writes to `tags` / `turn_tags`
|
|
29
|
+
- Untag: `DELETE /api/turns/{scope}/{id}/tags/{name}` → clears `turn_tags`, then clears `tags` if no other turn uses it
|
|
30
|
+
|
|
31
|
+
Whatever the user does in the UI is the final state; no extra database commands are needed to sync.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Merge global history into the current project (global → project)
|
|
3
|
+
allowed-tools: Bash(lynx-memory:*)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are helping the user merge the **global** lynx-memory repo into the **current project** repo.
|
|
7
|
+
|
|
8
|
+
## Step 1: Check status before merging
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
lynx-memory status
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Report the current scope, whether the project and global repos exist, and the turn / summary counts of each.
|
|
15
|
+
|
|
16
|
+
## Step 2: Dry-run preview
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
lynx-memory merge --from global --to project --dry-run
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Tell the user how many entries will be copied and get confirmation before continuing.
|
|
23
|
+
|
|
24
|
+
## Step 3: Run the merge
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
lynx-memory merge --from global --to project
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Do not pass `--delete-source` by default.** Only append `--delete-source` if the user explicitly asks to wipe the source repo, and confirm again — this is destructive.
|
|
31
|
+
|
|
32
|
+
## Step 4: Check status after merging
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
lynx-memory status
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Show the user the change in counts.
|
|
39
|
+
|
|
40
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Merge the current project's history into the global repo (project → global)
|
|
3
|
+
allowed-tools: Bash(lynx-memory:*)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are helping the user merge the **current project** lynx-memory repo into the **global** repo.
|
|
7
|
+
|
|
8
|
+
## Step 1: Check status before merging
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
lynx-memory status
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Report the current scope, whether the project and global repos exist, and the turn / summary counts of each.
|
|
15
|
+
|
|
16
|
+
## Step 2: Dry-run preview
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
lynx-memory merge --from project --to global --dry-run
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Tell the user how many entries will be copied and get confirmation before continuing.
|
|
23
|
+
|
|
24
|
+
## Step 3: Run the merge
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
lynx-memory merge --from project --to global
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Do not pass `--delete-source` by default.** Only append `--delete-source` if the user explicitly asks to wipe the source repo, and confirm again — this is destructive.
|
|
31
|
+
|
|
32
|
+
## Step 4: Check status after merging
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
lynx-memory status
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Show the user the change in counts.
|
|
39
|
+
|
|
40
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Show the current lynx-memory scope (project / global) and stats
|
|
3
|
+
allowed-tools: Bash(lynx-memory:*)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run:
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
lynx-memory status
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Summarize the key points for the user:
|
|
13
|
+
|
|
14
|
+
- **Current scope**: `project` or `global`
|
|
15
|
+
- Path of the **active data directory**
|
|
16
|
+
- Number of sessions / turns / summaries
|
|
17
|
+
- Whether a project-level repo `./.lynx-memory/` exists in the current directory
|
|
18
|
+
- Whether the global repo `~/.claude/lynx-memory/` exists
|
|
19
|
+
|
|
20
|
+
Do not perform any write or merge operations.
|