jasper-recall 0.3.4 → 0.3.5

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/SKILL.md CHANGED
@@ -313,6 +313,14 @@ When `autoRecall: true` in the OpenClaw plugin config, memories are automaticall
313
313
  - Review which collections will be searched
314
314
  - Use `minScore` to filter low-relevance injections
315
315
 
316
+ **What's automatically skipped (no recall triggered):**
317
+ - Heartbeat polls (`HEARTBEAT`, `Read HEARTBEAT.md`, `HEARTBEAT_OK`)
318
+ - Messages containing `NO_REPLY`
319
+ - Messages < 10 characters
320
+ - Agent-to-agent messages (cron jobs, workers, spawned agents)
321
+ - Automated reports (`📋 PR Review`, `🤖 Codex Watch`, `ANNOUNCE_*`)
322
+ - Messages from senders starting with `agent:` or `worker-`
323
+
316
324
  **Safer config for untrusted contexts:**
317
325
  ```json
318
326
  "jasper-recall": {
@@ -81,14 +81,37 @@ export default function register(api: PluginApi) {
81
81
  // ============================================================================
82
82
 
83
83
  if (autoRecall) {
84
- api.on('before_agent_start', async (event: { prompt?: string }) => {
84
+ api.on('before_agent_start', async (event: { prompt?: string; senderId?: string; source?: string }) => {
85
85
  // Skip if no prompt or too short
86
86
  if (!event.prompt || event.prompt.length < 10) {
87
87
  return;
88
88
  }
89
89
 
90
- // Skip system/internal prompts
91
- if (event.prompt.startsWith('HEARTBEAT') || event.prompt.includes('NO_REPLY')) {
90
+ const prompt = event.prompt;
91
+
92
+ // Skip heartbeats and system prompts
93
+ if (prompt.startsWith('HEARTBEAT') ||
94
+ prompt.startsWith('Read HEARTBEAT.md') ||
95
+ prompt.includes('NO_REPLY') ||
96
+ prompt.includes('HEARTBEAT_OK')) {
97
+ return;
98
+ }
99
+
100
+ // Skip agent-to-agent messages (cron jobs, workers, spawned agents)
101
+ if (event.source?.startsWith('cron:') ||
102
+ event.source?.startsWith('agent:') ||
103
+ event.source?.startsWith('spawn:') ||
104
+ event.source === 'sessions_send' ||
105
+ event.senderId?.startsWith('agent:') ||
106
+ event.senderId?.startsWith('worker-')) {
107
+ return;
108
+ }
109
+
110
+ // Skip common automated patterns
111
+ if (prompt.startsWith('Agent-to-agent') ||
112
+ prompt.startsWith('📋 PR Review') ||
113
+ prompt.startsWith('🤖 Codex Watch') ||
114
+ prompt.startsWith('ANNOUNCE_')) {
92
115
  return;
93
116
  }
94
117
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jasper-recall",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "Local RAG system for AI agent memory using ChromaDB and sentence-transformers",
5
5
  "main": "src/index.js",
6
6
  "bin": {