agenr 0.9.20 → 0.9.21

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,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.21 (2026-02-28)
4
+
5
+ ### Improvements
6
+ - OpenClaw plugin: simplified mid-session recall from three-tier
7
+ classification (trivial/normal/complex) to two-tier (trivial/recall).
8
+ All non-trivial messages now use a single recall limit of 8, eliminating
9
+ fragile regex-driven classification that missed edge cases like
10
+ "What's the status of X?" being classified as normal instead of complex.
11
+ Config fields normalLimit and complexLimit are deprecated in favor of
12
+ a single limit field. (#326)
13
+
3
14
  ## 0.9.20 (2026-02-28)
4
15
 
5
16
  ### Bug Fixes
@@ -565,7 +565,7 @@ function classifyMessage(text) {
565
565
  return "trivial";
566
566
  }
567
567
  if (entityCount > 0) {
568
- return "normal";
568
+ return "recall";
569
569
  }
570
570
  return "trivial";
571
571
  }
@@ -578,22 +578,7 @@ function classifyMessage(text) {
578
578
  if (wordCount <= 8 && entityCount === 0 && !hasTemporalPattern && !hasExplicitRecall && !trimmed.endsWith("?")) {
579
579
  return "trivial";
580
580
  }
581
- if (hasExplicitRecall) {
582
- return "complex";
583
- }
584
- if (hasTemporalPattern) {
585
- return "complex";
586
- }
587
- if (wordCount <= 6 && entityCount > 0) {
588
- return "complex";
589
- }
590
- if (entityCount >= 2) {
591
- return "complex";
592
- }
593
- if (wordCount > 6 && entityCount === 0 && !hasTemporalPattern && !hasExplicitRecall) {
594
- return "normal";
595
- }
596
- return "normal";
581
+ return "recall";
597
582
  }
598
583
  function buildQuery(message) {
599
584
  if (typeof message !== "string") {
@@ -1620,8 +1605,7 @@ var SKIP_SESSION_PATTERNS = [":subagent:", ":cron:"];
1620
1605
  var DEFAULT_MAX_SEEN_SESSIONS = 1e3;
1621
1606
  var seenSessions = /* @__PURE__ */ new Map();
1622
1607
  var MAX_RECALLED_SESSIONS = 200;
1623
- var DEFAULT_MID_SESSION_NORMAL_LIMIT = 5;
1624
- var DEFAULT_MID_SESSION_COMPLEX_LIMIT = 8;
1608
+ var DEFAULT_MID_SESSION_RECALL_LIMIT = 8;
1625
1609
  var DEFAULT_MID_SESSION_QUERY_SIMILARITY_THRESHOLD = 0.85;
1626
1610
  var DEFAULT_STORE_NUDGE_THRESHOLD = 8;
1627
1611
  var DEFAULT_STORE_NUDGE_MAX_PER_SESSION = 3;
@@ -2734,12 +2718,9 @@ ${formatted.trim()}`);
2734
2718
  config?.midSessionRecall?.querySimilarityThreshold
2735
2719
  );
2736
2720
  if (shouldRecall(query, state.lastRecallQuery, threshold)) {
2737
- const limit = classification === "complex" ? resolveMidSessionLimit(
2738
- config?.midSessionRecall?.complexLimit,
2739
- DEFAULT_MID_SESSION_COMPLEX_LIMIT
2740
- ) : resolveMidSessionLimit(
2741
- config?.midSessionRecall?.normalLimit,
2742
- DEFAULT_MID_SESSION_NORMAL_LIMIT
2721
+ const limit = resolveMidSessionLimit(
2722
+ config?.midSessionRecall?.limit,
2723
+ DEFAULT_MID_SESSION_RECALL_LIMIT
2743
2724
  );
2744
2725
  debugLog(
2745
2726
  debug,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agenr",
3
- "version": "0.9.20",
3
+ "version": "0.9.21",
4
4
  "openclaw": {
5
5
  "extensions": [
6
6
  "dist/openclaw-plugin/index.js"