claude-recall 0.20.3 → 0.20.4
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/.claude/skills/auto-corrections/SKILL.md +2 -1
- package/.claude/skills/auto-corrections/manifest.json +4 -3
- package/.claude/skills/auto-preferences/SKILL.md +6 -1
- package/.claude/skills/auto-preferences/manifest.json +8 -3
- package/dist/pi/extension.js +8 -5
- package/dist/shared/event-processors.js +5 -2
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ source: claude-recall
|
|
|
8
8
|
|
|
9
9
|
# Corrections
|
|
10
10
|
|
|
11
|
-
Auto-generated from
|
|
11
|
+
Auto-generated from 11 memories. Last updated: 2026-04-02.
|
|
12
12
|
|
|
13
13
|
## Rules
|
|
14
14
|
|
|
@@ -20,6 +20,7 @@ Auto-generated from 10 memories. Last updated: 2026-04-02.
|
|
|
20
20
|
- CORRECTION: Memory with complex metadata
|
|
21
21
|
- CORRECTION: Memory with complex metadata
|
|
22
22
|
- CORRECTION: Memory with complex metadata
|
|
23
|
+
- CORRECTION: Memory with complex metadata
|
|
23
24
|
- CORRECTION: License copyright should include user's name instead of 'Claude Recall Contributors'
|
|
24
25
|
- CORRECTION: License copyright should list your name instead of 'Claude Recall Contributors'
|
|
25
26
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"topicId": "corrections",
|
|
3
|
-
"sourceHash": "
|
|
4
|
-
"memoryCount":
|
|
5
|
-
"generatedAt": "2026-04-02T22:
|
|
3
|
+
"sourceHash": "5c1daafe3680229de9578ac9662cfe0bf88f182ba021c3c6a3f6bbf5271952af",
|
|
4
|
+
"memoryCount": 11,
|
|
5
|
+
"generatedAt": "2026-04-02T22:41:44.657Z",
|
|
6
6
|
"memoryKeys": [
|
|
7
|
+
"memory_1775169704632_wzwczltzu",
|
|
7
8
|
"memory_1775169639101_rmxkftqtk",
|
|
8
9
|
"memory_1775169273281_4fod7ku6f",
|
|
9
10
|
"memory_1775169256118_y7kc07y6y",
|
|
@@ -8,10 +8,15 @@ source: claude-recall
|
|
|
8
8
|
|
|
9
9
|
# Preferences
|
|
10
10
|
|
|
11
|
-
Auto-generated from
|
|
11
|
+
Auto-generated from 49 memories. Last updated: 2026-04-02.
|
|
12
12
|
|
|
13
13
|
## Rules
|
|
14
14
|
|
|
15
|
+
- Session test preference 1775169704849
|
|
16
|
+
- Test preference 1775169704668-2
|
|
17
|
+
- Test preference 1775169704668-1
|
|
18
|
+
- Test preference 1775169704668-0
|
|
19
|
+
- Test memory content
|
|
15
20
|
- Session test preference 1775169639212
|
|
16
21
|
- Test preference 1775169639121-2
|
|
17
22
|
- Test preference 1775169639121-1
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"topicId": "preferences",
|
|
3
|
-
"sourceHash": "
|
|
4
|
-
"memoryCount":
|
|
5
|
-
"generatedAt": "2026-04-02T22:
|
|
3
|
+
"sourceHash": "d1432e49e98d6e35259821bf6ebfbcc069c3a7ff9ec78618c660c979a7337842",
|
|
4
|
+
"memoryCount": 49,
|
|
5
|
+
"generatedAt": "2026-04-02T22:41:44.902Z",
|
|
6
6
|
"memoryKeys": [
|
|
7
|
+
"memory_1775169704852_ezdebznpz",
|
|
8
|
+
"memory_1775169704771_ak9vkaswc",
|
|
9
|
+
"memory_1775169704739_dg78h7lte",
|
|
10
|
+
"memory_1775169704670_f1yhtrmsz",
|
|
11
|
+
"memory_1775169704515_lby33vw9c",
|
|
7
12
|
"memory_1775169639213_w3i85h357",
|
|
8
13
|
"memory_1775169639170_iewh2evi0",
|
|
9
14
|
"memory_1775169639145_x9s0519l7",
|
package/dist/pi/extension.js
CHANGED
|
@@ -111,15 +111,18 @@ function default_1(pi) {
|
|
|
111
111
|
.filter((c) => c.type === 'text')
|
|
112
112
|
.map(c => c.text)
|
|
113
113
|
.join('\n');
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
(0, event_processors_1.processToolOutcome)(event.toolName, event.input, output, event.isError, sessionId);
|
|
117
|
-
if (wasFailing && ctx.hasUI) {
|
|
114
|
+
const result = (0, event_processors_1.processToolOutcome)(event.toolName, event.input, output, event.isError, sessionId);
|
|
115
|
+
if (ctx.hasUI) {
|
|
118
116
|
const label = event.input?.command
|
|
119
117
|
? truncateStr(event.input.command, 40)
|
|
120
118
|
: event.toolName;
|
|
121
119
|
try {
|
|
122
|
-
|
|
120
|
+
if (result.captured) {
|
|
121
|
+
ctx.ui.notify(`Recall: failure stored — ${label}`, 'info');
|
|
122
|
+
}
|
|
123
|
+
else if (result.fixPaired) {
|
|
124
|
+
ctx.ui.notify(`Recall: fix paired — ${label} (learned from previous failure)`, 'info');
|
|
125
|
+
}
|
|
123
126
|
}
|
|
124
127
|
catch { /* non-critical */ }
|
|
125
128
|
}
|
|
@@ -140,18 +140,20 @@ function firstLine(s) {
|
|
|
140
140
|
* Works for any tool type (Bash, Edit, Write, MCP, generic).
|
|
141
141
|
*/
|
|
142
142
|
function processToolOutcome(toolName, toolInput, toolOutput, isError, sessionId) {
|
|
143
|
+
const result = { captured: false, fixPaired: false };
|
|
143
144
|
try {
|
|
144
145
|
// Skip own tools
|
|
145
146
|
if (toolName.includes('claude-recall') || toolName.includes('claude_recall') ||
|
|
146
147
|
toolName.startsWith('recall_'))
|
|
147
|
-
return;
|
|
148
|
+
return result;
|
|
148
149
|
const isFail = isError || isToolFailureOutput(toolName, toolOutput);
|
|
149
150
|
if (isFail) {
|
|
150
151
|
storeToolFailure(toolName, toolInput, toolOutput, sessionId);
|
|
152
|
+
result.captured = true;
|
|
151
153
|
}
|
|
152
154
|
else {
|
|
153
155
|
// Success — check if this fixes a recent failure
|
|
154
|
-
tryPairFix(toolName, toolInput, toolOutput);
|
|
156
|
+
result.fixPaired = tryPairFix(toolName, toolInput, toolOutput);
|
|
155
157
|
}
|
|
156
158
|
// Record outcome event for all tools
|
|
157
159
|
recordOutcomeEvent(toolName, toolInput, toolOutput);
|
|
@@ -159,6 +161,7 @@ function processToolOutcome(toolName, toolInput, toolOutput, isError, sessionId)
|
|
|
159
161
|
catch (err) {
|
|
160
162
|
logFn('event-processor', `processToolOutcome error: ${(0, shared_1.safeErrorMessage)(err)}`);
|
|
161
163
|
}
|
|
164
|
+
return result;
|
|
162
165
|
}
|
|
163
166
|
function isToolFailureOutput(toolName, output) {
|
|
164
167
|
if (toolName === 'Bash' || toolName === 'bash') {
|
package/package.json
CHANGED