agenr 0.6.3 → 0.6.6
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/CHANGELOG.md +58 -8
- package/dist/cli-main.js +546 -345
- package/dist/openclaw-plugin/index.d.ts +31 -0
- package/dist/openclaw-plugin/index.js +166 -0
- package/openclaw.plugin.json +24 -0
- package/package.json +8 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,49 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## [0.6.6] - 2026-02-19
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- feat(openclaw-plugin): OpenClaw plugin that injects agenr memory into agent sessions
|
|
7
|
+
- New src/openclaw-plugin/index.ts: plugin entry point, registers agent:bootstrap hook
|
|
8
|
+
- New src/openclaw-plugin/recall.ts: runs agenr CLI recall, formats JSON as markdown
|
|
9
|
+
- New src/openclaw-plugin/types.ts: local type aliases for OpenClaw SDK compatibility
|
|
10
|
+
- Memory injected as synthetic AGENR.md file into # Project Context in system prompt
|
|
11
|
+
- Grouped markdown output: Active Todos / Preferences and Decisions / Facts and Events
|
|
12
|
+
- Skips subagent and cron sessions automatically (sessionKey pattern check)
|
|
13
|
+
- Configurable: agenrPath, budget, enabled via openclaw.json plugins.entries.agenr.config
|
|
14
|
+
- 5 second timeout on recall; all errors swallowed silently to never block session start
|
|
15
|
+
- package.json "openclaw" key declares dist/openclaw-plugin/index.js as plugin extension
|
|
16
|
+
|
|
17
|
+
## [0.6.5] - 2026-02-19
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
- feat(watch): watcher writes watcher.pid on start and deletes on exit
|
|
21
|
+
- feat(ingest): ingest exits 1 with clear error if watcher is running
|
|
22
|
+
- feat(watch): isWatcherRunning() helper with stale-PID detection in src/watch/pid.ts
|
|
23
|
+
- feat(watch): deleteWatcherPid registered via onShutdown() as v0.6.6 graceful shutdown hook point
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- fix(ingest): write conflicts between ingest and watcher are now blocked at the ingest entry point
|
|
27
|
+
- fix(watch): watcher PID write failures now use error-level formatting for consistent clack error output
|
|
28
|
+
- fix(ingest): watcher-running guard now reports via clack error output instead of raw stderr text
|
|
29
|
+
|
|
30
|
+
## [0.6.4] - 2026-02-19
|
|
31
|
+
|
|
32
|
+
### Added
|
|
33
|
+
- feat(recall): spaced repetition recall strength via recall_intervals tracking
|
|
34
|
+
- feat(recall): computeSpacingFactor() rewards entries with proven long inter-recall gaps
|
|
35
|
+
- feat(schema): recall_intervals column (TEXT/JSON) added via COLUMN_MIGRATIONS
|
|
36
|
+
- feat(types): recall_intervals field on StoredEntry, spacing field on RecallResult.scores
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
- fix(recall): legacy spacing imputation now anchors at created_at and lands exactly on last_recalled_at (including recall_count=1), restoring expected spacing bonuses
|
|
40
|
+
- fix(recall): spacingFactor now applies to the recall-base component before importance comparison, preventing early saturation while keeping memoryStrength clamped to <= 1.0
|
|
41
|
+
- fix(recall): updateRecallMetadata uses json_insert SQLite built-in for atomic array append, avoiding read-modify-write concurrency race
|
|
42
|
+
- fix(recall): recall_intervals timestamps stored as Unix integer seconds (not ISO string) to prevent x1000 unit error in gap calculations
|
|
43
|
+
- fix(recall): removed unused getScoreComponents() refactor artifact to avoid divergence from the active scoring path
|
|
44
|
+
- fix(db): VACUUM database after db reset to reclaim freed pages immediately
|
|
45
|
+
|
|
46
|
+
## [0.6.3] - 2026-02-19
|
|
4
47
|
|
|
5
48
|
### Added
|
|
6
49
|
- agenr db reset --full --confirm-reset: full clean-slate reset
|
|
@@ -58,6 +101,13 @@
|
|
|
58
101
|
### Removed
|
|
59
102
|
- `agenr_done` MCP tool removed; use `agenr_retire` instead (supports all entry types, not just todos)
|
|
60
103
|
|
|
104
|
+
## [0.5.4] - 2026-02-18
|
|
105
|
+
|
|
106
|
+
### Added
|
|
107
|
+
- feat(todos): `agenr todo done` command to mark todos complete via CLI
|
|
108
|
+
- feat(mcp): `agenr_done` MCP tool for completing todos from AI tools
|
|
109
|
+
- feat(store): cross-type superseding - new entries can supersede entries of any type, not just same-type
|
|
110
|
+
|
|
61
111
|
## [0.5.3] - 2026-02-18
|
|
62
112
|
|
|
63
113
|
### Added
|
|
@@ -69,7 +119,7 @@
|
|
|
69
119
|
### Fixed
|
|
70
120
|
- `agenr eval recall` now returns correct results for all 5 query categories (was returning zero for 4 of 5 due to FTS literal match; replaced with SQL type filters and hybrid vector+FTS recall)
|
|
71
121
|
|
|
72
|
-
##
|
|
122
|
+
## [0.5.2] - 2026-02-18
|
|
73
123
|
|
|
74
124
|
### Added
|
|
75
125
|
- `entries.project` column (with index) to tag knowledge by source project/repo (NULL for legacy entries)
|
|
@@ -97,7 +147,7 @@
|
|
|
97
147
|
- Watch ingestion now advances `byteOffset` by bytes actually read in each cycle, preventing duplicate processing when files grow during read.
|
|
98
148
|
- Watch state saves are now atomic (temp file + rename), preventing partial-write corruption on process crashes.
|
|
99
149
|
|
|
100
|
-
## 0.5.0
|
|
150
|
+
## [0.5.0] - 2026-02-17
|
|
101
151
|
|
|
102
152
|
### Added
|
|
103
153
|
- `_meta` table with schema version stamp for future migrations
|
|
@@ -123,12 +173,12 @@
|
|
|
123
173
|
- `agenr daemon install` now prefers stable node symlinks (Homebrew) when `process.execPath` is version-specific; use `--node-path` to override
|
|
124
174
|
- `agenr watch --auto` is deprecated; `agenr watch --platform <name>` is now the standard invocation and auto-resolves the default platform directory when `--dir` is omitted
|
|
125
175
|
|
|
126
|
-
## 0.4.1
|
|
176
|
+
## [0.4.1] - 2026-02-17
|
|
127
177
|
|
|
128
178
|
### Fixed
|
|
129
179
|
- npx symlink handling: isDirectRun check now uses realpathSync to resolve npx symlinks correctly
|
|
130
180
|
|
|
131
|
-
## 0.4.0
|
|
181
|
+
## [0.4.0] - 2026-02-15
|
|
132
182
|
|
|
133
183
|
### Added
|
|
134
184
|
- `agenr context` command - generate context files for AI tool integration
|
|
@@ -153,21 +203,21 @@
|
|
|
153
203
|
- Session-start recall no longer dominated by stale todos (todo staleness penalty)
|
|
154
204
|
- Consolidate releases DB lock after WAL checkpoint, not before
|
|
155
205
|
|
|
156
|
-
## 0.3.0
|
|
206
|
+
## [0.3.0] - 2026-02-15
|
|
157
207
|
|
|
158
208
|
### Added
|
|
159
209
|
- `agenr watch` - live file watcher with auto-extraction
|
|
160
210
|
- `agenr ingest` - bulk ingestion of markdown, plaintext, and JSONL
|
|
161
211
|
- `agenr mcp` - MCP server for cross-tool AI memory (recall, store, extract)
|
|
162
212
|
|
|
163
|
-
## 0.2.0
|
|
213
|
+
## [0.2.0] - 2026-02-14
|
|
164
214
|
|
|
165
215
|
### Added
|
|
166
216
|
- `agenr store` - smart dedup with cosine similarity bands
|
|
167
217
|
- `agenr recall` - recall with scoring and budget-constrained retrieval
|
|
168
218
|
- `agenr db` subcommands (stats, export, reset, path)
|
|
169
219
|
|
|
170
|
-
## 0.1.0
|
|
220
|
+
## [0.1.0] - 2026-02-14
|
|
171
221
|
|
|
172
222
|
### Added
|
|
173
223
|
- `agenr extract` - structured knowledge extraction from conversation transcripts
|