@yyyeader/claude-recall 1.0.0 → 1.0.1
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.
- package/README.md +6 -6
- package/bin/claude-recall.js +2 -2
- package/package.json +1 -1
- package/src/scanner.js +9 -5
package/README.md
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
Search, find, and resume any Claude Code conversation across all your projects — instantly.
|
|
8
8
|
</p>
|
|
9
9
|
<p align="center">
|
|
10
|
-
<a href="https://www.npmjs.com/package/claude-recall"><img src="https://img.shields.io/npm/v/claude-recall.svg" alt="npm version"></a>
|
|
11
|
-
<a href="https://github.com/yyyeader/claude-recall/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/claude-recall.svg" alt="license"></a>
|
|
12
|
-
<a href="https://www.npmjs.com/package/claude-recall"><img src="https://img.shields.io/npm/dm/claude-recall.svg" alt="downloads"></a>
|
|
10
|
+
<a href="https://www.npmjs.com/package/@yyyeader/claude-recall"><img src="https://img.shields.io/npm/v/@yyyeader/claude-recall.svg" alt="npm version"></a>
|
|
11
|
+
<a href="https://github.com/yyyeader/claude-recall/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@yyyeader/claude-recall.svg" alt="license"></a>
|
|
12
|
+
<a href="https://www.npmjs.com/package/@yyyeader/claude-recall"><img src="https://img.shields.io/npm/dm/@yyyeader/claude-recall.svg" alt="downloads"></a>
|
|
13
13
|
</p>
|
|
14
14
|
</p>
|
|
15
15
|
|
|
@@ -31,7 +31,7 @@ You know the session exists somewhere in `~/.claude/projects/`, but good luck fi
|
|
|
31
31
|
## The Solution
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
npm install -g claude-recall
|
|
34
|
+
npm install -g @yyyeader/claude-recall
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
```bash
|
|
@@ -47,7 +47,7 @@ claude-recall -j | jq # Pipe JSON to your own tools
|
|
|
47
47
|
### 1. Install
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
npm install -g claude-recall
|
|
50
|
+
npm install -g @yyyeader/claude-recall
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
### 2. Add the shell wrapper (recommended)
|
|
@@ -82,7 +82,7 @@ Want to search sessions from *inside* Claude Code?
|
|
|
82
82
|
# Install the slash command
|
|
83
83
|
claude-recall-install
|
|
84
84
|
# Or manually:
|
|
85
|
-
cp node_modules/claude-recall/commands/recall.md ~/.claude/commands/
|
|
85
|
+
cp node_modules/@yyyeader/claude-recall/commands/recall.md ~/.claude/commands/
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
Then:
|
package/bin/claude-recall.js
CHANGED
|
@@ -11,7 +11,7 @@ const args = process.argv.slice(2);
|
|
|
11
11
|
const flags = {
|
|
12
12
|
list: false,
|
|
13
13
|
json: false,
|
|
14
|
-
limit:
|
|
14
|
+
limit: 0,
|
|
15
15
|
project: null,
|
|
16
16
|
help: false,
|
|
17
17
|
keyword: [],
|
|
@@ -55,7 +55,7 @@ Usage:
|
|
|
55
55
|
claude-recall -l [keyword] List sessions (no interaction)
|
|
56
56
|
claude-recall -j [keyword] Output as JSON
|
|
57
57
|
claude-recall -p <project> Filter by project name
|
|
58
|
-
claude-recall -n <number> Limit results (default:
|
|
58
|
+
claude-recall -n <number> Limit results (default: all)
|
|
59
59
|
|
|
60
60
|
Options:
|
|
61
61
|
-l, --list List mode (no fzf)
|
package/package.json
CHANGED
package/src/scanner.js
CHANGED
|
@@ -92,19 +92,18 @@ export async function scanSessions({ keyword, project, limit } = {}) {
|
|
|
92
92
|
// Sort by modification time, newest first
|
|
93
93
|
sessions.sort((a, b) => b.modifiedAt - a.modifiedAt);
|
|
94
94
|
|
|
95
|
-
// Extract summaries (in parallel
|
|
96
|
-
const batch = limit ? sessions.slice(0, limit) : sessions;
|
|
95
|
+
// Extract summaries for ALL sessions (in parallel)
|
|
97
96
|
await Promise.all(
|
|
98
|
-
|
|
97
|
+
sessions.map(async (s) => {
|
|
99
98
|
s.summary = await extractSummary(s.filePath);
|
|
100
99
|
})
|
|
101
100
|
);
|
|
102
101
|
|
|
103
102
|
// Filter by keyword if specified
|
|
104
|
-
let result =
|
|
103
|
+
let result = sessions;
|
|
105
104
|
if (keyword) {
|
|
106
105
|
const kw = keyword.toLowerCase();
|
|
107
|
-
result =
|
|
106
|
+
result = sessions.filter(
|
|
108
107
|
(s) =>
|
|
109
108
|
s.summary.toLowerCase().includes(kw) ||
|
|
110
109
|
s.workDir.toLowerCase().includes(kw) ||
|
|
@@ -113,5 +112,10 @@ export async function scanSessions({ keyword, project, limit } = {}) {
|
|
|
113
112
|
);
|
|
114
113
|
}
|
|
115
114
|
|
|
115
|
+
// Apply limit AFTER search
|
|
116
|
+
if (limit) {
|
|
117
|
+
result = result.slice(0, limit);
|
|
118
|
+
}
|
|
119
|
+
|
|
116
120
|
return result;
|
|
117
121
|
}
|