agenr 0.8.20 → 0.8.22

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 CHANGED
@@ -1,5 +1,38 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.22] - 2026-02-23
4
+
5
+ ### Changed
6
+ - feat(openclaw-plugin): replace thin-prompt/stash session-start recall with three-phase
7
+ cross-session context injection (issue #205)
8
+ - Phase 1A (always): reads last 7 user+assistant turns from most recently modified
9
+ session JSONL file in ~/.openclaw/agents/<agentId>/sessions/
10
+ - Phase 1B (always): runs agenr recall --browse --since 1d --limit 20, picks up
11
+ importance:10 handoff entry written at /new time
12
+ - Phase 2 (conditional): semantic recall seeded from Phase 1A turns + first user
13
+ message if >= 5 words; results deduplicated against Phase 1B by entry id
14
+ - Handoff entries retired after first use (one-time read)
15
+ - feat(openclaw-plugin): added findPreviousSessionFile, extractRecentTurns,
16
+ buildSemanticSeed to src/openclaw-plugin/session-query.ts
17
+ - feat(openclaw-plugin): findPreviousSessionFile uses parallel stat() calls for
18
+ performance on large sessions dirs
19
+ - feat(openclaw-plugin): sessionsDir configurable via AgenrPluginConfig.sessionsDir;
20
+ defaults to ~/.openclaw/agents/<agentId>/sessions using ctx.agentId with "main"
21
+ fallback
22
+ - feat(openclaw-plugin): RunRecallOptions extended with limit?: number to support
23
+ --limit flag in browse recall
24
+ - refactor(openclaw-plugin): removed isThinPrompt, resolveSessionQuery,
25
+ sessionTopicStash, stashSessionTopic, shouldStashTopic, sweepInterval, clearStash,
26
+ readLatestArchivedUserMessages
27
+
28
+ ### Tests
29
+ - test(openclaw-plugin): added unit tests for findPreviousSessionFile, extractRecentTurns,
30
+ buildSemanticSeed in session-query.test.ts
31
+ - test(openclaw-plugin): added integration tests for three-phase before_prompt_build flow,
32
+ Phase 2 deduplication, and isFirstInSession guard in index.test.ts
33
+ - test(openclaw-plugin): added second-message guard test (isFirstInSession prevents
34
+ re-injection on subsequent messages in same session)
35
+
3
36
  ## [0.8.19] - 2026-02-23
4
37
 
5
38
  ### Changed
@@ -212,9 +212,10 @@ function extractTextFromAssistantMessage(message) {
212
212
  function truncateMessageText(text) {
213
213
  return text.length > EXCHANGE_TEXT_MAX_CHARS ? text.slice(0, EXCHANGE_TEXT_MAX_CHARS) : text;
214
214
  }
215
+ var OPENCLAW_BARE_RESET_PREFIX = "a new session was started via /new";
215
216
  function isThinPrompt(prompt) {
216
217
  const trimmed = prompt.trim().toLowerCase();
217
- return trimmed === "" || trimmed === "/new" || trimmed === "/reset";
218
+ return trimmed === "" || trimmed === "/new" || trimmed === "/reset" || trimmed.startsWith(OPENCLAW_BARE_RESET_PREFIX);
218
219
  }
219
220
  function stripPromptMetadata(raw) {
220
221
  if (!raw) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agenr",
3
- "version": "0.8.20",
3
+ "version": "0.8.22",
4
4
  "openclaw": {
5
5
  "extensions": [
6
6
  "dist/openclaw-plugin/index.js"
@@ -11,13 +11,6 @@
11
11
  "bin": {
12
12
  "agenr": "dist/cli.js"
13
13
  },
14
- "scripts": {
15
- "build": "tsup src/cli.ts src/cli-main.ts src/openclaw-plugin/index.ts --format esm --dts",
16
- "dev": "tsup src/cli.ts src/cli-main.ts --format esm --watch",
17
- "test": "vitest run",
18
- "test:watch": "vitest",
19
- "typecheck": "tsc --noEmit"
20
- },
21
14
  "dependencies": {
22
15
  "@clack/prompts": "^1.0.1",
23
16
  "@libsql/client": "^0.17.0",
@@ -61,9 +54,11 @@
61
54
  "README.md"
62
55
  ],
63
56
  "author": "agenr-ai",
64
- "pnpm": {
65
- "overrides": {
66
- "fast-xml-parser": "^5.3.6"
67
- }
57
+ "scripts": {
58
+ "build": "tsup src/cli.ts src/cli-main.ts src/openclaw-plugin/index.ts --format esm --dts",
59
+ "dev": "tsup src/cli.ts src/cli-main.ts --format esm --watch",
60
+ "test": "vitest run",
61
+ "test:watch": "vitest",
62
+ "typecheck": "tsc --noEmit"
68
63
  }
69
- }
64
+ }