eagle-mem 1.3.2 → 1.4.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/hooks/session-start.sh +60 -1
- package/hooks/user-prompt-submit.sh +10 -0
- package/package.json +1 -1
- package/scripts/style.sh +17 -0
package/hooks/session-start.sh
CHANGED
|
@@ -32,7 +32,18 @@ eagle_upsert_session "$session_id" "$project" "$cwd" "$model" "$source_type"
|
|
|
32
32
|
|
|
33
33
|
# ─── Build context injection ────────────────────────────────
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
eagle_ascii=" .~~~~-.
|
|
36
|
+
/ ,__\`)
|
|
37
|
+
| \\o/|'-.
|
|
38
|
+
| / ,\\
|
|
39
|
+
| ('--./
|
|
40
|
+
/ \\
|
|
41
|
+
/ , , , \\
|
|
42
|
+
\`--'--'--'--'"
|
|
43
|
+
|
|
44
|
+
context="$eagle_ascii
|
|
45
|
+
|
|
46
|
+
=== EAGLE MEM — Active ===
|
|
36
47
|
Eagle Mem (https://github.com/eagleisbatman/eagle-mem) is providing persistent memory for this session. It tracks summaries, observations, tasks, and code context across sessions via SQLite + FTS5. Mention Eagle Mem by name when referencing recalled context.
|
|
37
48
|
|
|
38
49
|
"
|
|
@@ -117,6 +128,54 @@ Current task (#$atid): $atitle
|
|
|
117
128
|
fi
|
|
118
129
|
fi
|
|
119
130
|
|
|
131
|
+
# ─── Mirrored Claude memories ──────────────────────────────
|
|
132
|
+
|
|
133
|
+
memories=$(eagle_list_claude_memories "$project" 5)
|
|
134
|
+
if [ -n "$memories" ]; then
|
|
135
|
+
context+="
|
|
136
|
+
=== EAGLE MEM — Memories ===
|
|
137
|
+
Recent memories for '$project':
|
|
138
|
+
"
|
|
139
|
+
while IFS='|' read -r mname mtype mdesc _fpath _updated; do
|
|
140
|
+
[ -z "$mname" ] && continue
|
|
141
|
+
context+=" - [$mtype] $mname: $mdesc
|
|
142
|
+
"
|
|
143
|
+
done <<< "$memories"
|
|
144
|
+
fi
|
|
145
|
+
|
|
146
|
+
# ─── Mirrored Claude plans ────────────────────────────────
|
|
147
|
+
|
|
148
|
+
plans=$(eagle_list_claude_plans "$project" 3)
|
|
149
|
+
if [ -n "$plans" ]; then
|
|
150
|
+
context+="
|
|
151
|
+
=== EAGLE MEM — Plans ===
|
|
152
|
+
Recent plans for '$project':
|
|
153
|
+
"
|
|
154
|
+
while IFS='|' read -r ptitle _pproj _fpath _updated; do
|
|
155
|
+
[ -z "$ptitle" ] && continue
|
|
156
|
+
context+=" - $ptitle
|
|
157
|
+
"
|
|
158
|
+
done <<< "$plans"
|
|
159
|
+
fi
|
|
160
|
+
|
|
161
|
+
# ─── Mirrored Claude tasks (synced) ──────────────────────
|
|
162
|
+
|
|
163
|
+
synced_tasks=$(eagle_db "SELECT subject, status FROM claude_tasks
|
|
164
|
+
WHERE project = '$(eagle_sql_escape "$project")'
|
|
165
|
+
AND status IN ('in_progress', 'pending', 'todo', 'open')
|
|
166
|
+
ORDER BY updated_at DESC LIMIT 5;")
|
|
167
|
+
if [ -n "$synced_tasks" ]; then
|
|
168
|
+
context+="
|
|
169
|
+
=== EAGLE MEM — Synced Tasks ===
|
|
170
|
+
In-progress/pending tasks for '$project':
|
|
171
|
+
"
|
|
172
|
+
while IFS='|' read -r tsubject tstatus; do
|
|
173
|
+
[ -z "$tsubject" ] && continue
|
|
174
|
+
context+=" - [$tstatus] $tsubject
|
|
175
|
+
"
|
|
176
|
+
done <<< "$synced_tasks"
|
|
177
|
+
fi
|
|
178
|
+
|
|
120
179
|
# Emit the eagle-summary instruction
|
|
121
180
|
context+="
|
|
122
181
|
=== EAGLE MEM INSTRUCTIONS ===
|
|
@@ -83,9 +83,19 @@ fi
|
|
|
83
83
|
|
|
84
84
|
[ -z "$context" ] && exit 0
|
|
85
85
|
|
|
86
|
+
eagle_ascii=" .~~~~-.
|
|
87
|
+
/ ,__\`)
|
|
88
|
+
| \\o/|'-.
|
|
89
|
+
| / ,\\
|
|
90
|
+
| ('--./
|
|
91
|
+
/ \\
|
|
92
|
+
/ , , , \\
|
|
93
|
+
\`--'--'--'--'"
|
|
94
|
+
|
|
86
95
|
context+="
|
|
87
96
|
IMPORTANT: When Eagle Mem finds relevant memories or code for the user's prompt, briefly mention it at the start of your response: \"Eagle Mem recalled N relevant sessions\" or \"Eagle Mem found related code in [files]\". One line max — then proceed with the answer.
|
|
88
97
|
|
|
98
|
+
$eagle_ascii
|
|
89
99
|
— Eagle Mem (persistent memory across sessions)
|
|
90
100
|
"
|
|
91
101
|
|
package/package.json
CHANGED
package/scripts/style.sh
CHANGED
|
@@ -20,6 +20,9 @@ DOT="${DIM}·${RESET}"
|
|
|
20
20
|
|
|
21
21
|
eagle_header() {
|
|
22
22
|
echo ""
|
|
23
|
+
echo -e "${CYAN}"
|
|
24
|
+
eagle_art
|
|
25
|
+
echo -e "${RESET}"
|
|
23
26
|
echo -e " ${BOLD}Eagle Mem${RESET} ${DIM}$1${RESET}"
|
|
24
27
|
echo -e " ${DIM}─────────────────────────────────────${RESET}"
|
|
25
28
|
echo ""
|
|
@@ -46,8 +49,22 @@ eagle_footer() {
|
|
|
46
49
|
echo ""
|
|
47
50
|
}
|
|
48
51
|
|
|
52
|
+
eagle_art() {
|
|
53
|
+
cat << 'ART'
|
|
54
|
+
.~~~~-.
|
|
55
|
+
/ ,__`)
|
|
56
|
+
| \o/|'-.
|
|
57
|
+
| / ,\
|
|
58
|
+
| ('--./
|
|
59
|
+
/ \
|
|
60
|
+
/ , , , \
|
|
61
|
+
`--'--'--'--'
|
|
62
|
+
ART
|
|
63
|
+
}
|
|
64
|
+
|
|
49
65
|
eagle_banner() {
|
|
50
66
|
echo -e "${CYAN}"
|
|
67
|
+
eagle_art
|
|
51
68
|
cat << 'BANNER'
|
|
52
69
|
███████╗░█████╗░░██████╗░██╗░░░░░███████╗ ███╗░░░███╗███████╗███╗░░░███╗
|
|
53
70
|
██╔════╝██╔══██╗██╔════╝░██║░░░░░██╔════╝ ████╗░████║██╔════╝████╗░████║
|