openclaw-engram 3.5.1 → 3.5.3
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/dist/hooks/message-classifier.d.ts.map +1 -1
- package/dist/hooks/message-classifier.js +7 -0
- package/dist/hooks/message-classifier.js.map +1 -1
- package/dist/hooks/session-end.d.ts.map +1 -1
- package/dist/hooks/session-end.js +19 -3
- package/dist/hooks/session-end.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-classifier.d.ts","sourceRoot":"","sources":["../../src/hooks/message-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,gDAAgD;AAChD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"message-classifier.d.ts","sourceRoot":"","sources":["../../src/hooks/message-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,gDAAgD;AAChD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AA8CxF;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,CAIlF"}
|
|
@@ -36,6 +36,13 @@ const SYSTEM_CONTENT_PATTERNS = [
|
|
|
36
36
|
'Sender (untrusted metadata)',
|
|
37
37
|
'<task-notification>',
|
|
38
38
|
'<command-name>',
|
|
39
|
+
// SDK keepalive / sandbox denial noise — never real user content
|
|
40
|
+
'An async command did not run',
|
|
41
|
+
'Do not mention, summarize, or reuse output',
|
|
42
|
+
'Exec denied',
|
|
43
|
+
'approval-timeout',
|
|
44
|
+
'Exact completion details:',
|
|
45
|
+
'There is no new command again',
|
|
39
46
|
];
|
|
40
47
|
// ---------------------------------------------------------------------------
|
|
41
48
|
// Public API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-classifier.js","sourceRoot":"","sources":["../../src/hooks/message-classifier.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;
|
|
1
|
+
{"version":3,"file":"message-classifier.js","sourceRoot":"","sources":["../../src/hooks/message-classifier.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAiEH,0CAIC;AA5DD,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,0BAA0B,GAAsB;IACpD,cAAc;IACd,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iBAAiB;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnE;;;GAGG;AACH,MAAM,uBAAuB,GAAsB;IACjD,wCAAwC;IACxC,6BAA6B;IAC7B,qBAAqB;IACrB,gBAAgB;IAChB,iEAAiE;IACjE,8BAA8B;IAC9B,4CAA4C;IAC5C,aAAa;IACb,kBAAkB;IAClB,2BAA2B;IAC3B,+BAA+B;CAChC,CAAC;AAEF,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,SAAgB,eAAe,CAAC,MAAc,EAAE,QAAiB;IAC/D,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC;IACtD,IAAI,eAAe,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,MAAc,EAAE,QAAiB;IACpD,wCAAwC;IACxC,KAAK,MAAM,OAAO,IAAI,0BAA0B,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IAC5C,CAAC;IAED,6DAA6D;IAC7D,IAAI,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-end.d.ts","sourceRoot":"","sources":["../../src/hooks/session-end.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"session-end.d.ts","sourceRoot":"","sources":["../../src/hooks/session-end.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,OAAO,KAAK,EAAE,eAAe,EAAuB,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAyClH;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,YAAY,GACpB,IAAI,CA6DN"}
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.handleSessionEnd = handleSessionEnd;
|
|
11
11
|
const content_js_1 = require("./content.js");
|
|
12
12
|
const identity_js_1 = require("../identity.js");
|
|
13
|
+
const message_classifier_js_1 = require("./message-classifier.js");
|
|
13
14
|
const MAX_MESSAGES = 20;
|
|
14
15
|
/** Detect session outcome from conversation signals. */
|
|
15
16
|
function detectOutcome(messages) {
|
|
@@ -62,8 +63,22 @@ function handleSessionEnd(event, ctx, client, config, logger) {
|
|
|
62
63
|
if (!sessionId?.trim())
|
|
63
64
|
return;
|
|
64
65
|
// 1. Backfill remaining conversation content (fire-and-forget)
|
|
66
|
+
// Filter in two layers: role-based (structural) + content-based (heuristic fallback).
|
|
67
|
+
// OpenClaw marks SDK keepalives / tool events with role='system'|'tool', so role
|
|
68
|
+
// filtering is the primary defense. classifyMessage catches edge cases where
|
|
69
|
+
// denials or metadata leak into user/assistant messages.
|
|
65
70
|
if (config.autoExtract && messages.length > 0) {
|
|
66
|
-
const
|
|
71
|
+
const filtered = messages.filter((m) => {
|
|
72
|
+
// Primary filter: only keep real conversation roles.
|
|
73
|
+
if (m.role !== 'user' && m.role !== 'assistant')
|
|
74
|
+
return false;
|
|
75
|
+
const content = typeof m.content === 'string' ? m.content : '';
|
|
76
|
+
if (!content.trim())
|
|
77
|
+
return false;
|
|
78
|
+
// Secondary filter: content classifier for embedded noise.
|
|
79
|
+
return (0, message_classifier_js_1.classifyMessage)(content) === 'user_prompt';
|
|
80
|
+
});
|
|
81
|
+
const recent = filtered.slice(-MAX_MESSAGES);
|
|
67
82
|
const content = recent
|
|
68
83
|
.map((m) => `[${m.role}]: ${m.content}`)
|
|
69
84
|
.join('\n\n');
|
|
@@ -74,8 +89,9 @@ function handleSessionEnd(event, ctx, client, config, logger) {
|
|
|
74
89
|
project,
|
|
75
90
|
content: truncated,
|
|
76
91
|
});
|
|
77
|
-
(logger ?? console).warn(`[engram] session-end: submitted ${recent.length} messages for backfill` +
|
|
78
|
-
` (
|
|
92
|
+
(logger ?? console).warn(`[engram] session-end: submitted ${recent.length}/${messages.length} messages for backfill` +
|
|
93
|
+
` (filtered ${messages.length - filtered.length} heartbeat/system,` +
|
|
94
|
+
` project ${project}, reason: ${event.reason ?? 'unknown'})`);
|
|
79
95
|
}
|
|
80
96
|
}
|
|
81
97
|
// 2. Record session outcome (fire-and-forget)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-end.js","sourceRoot":"","sources":["../../src/hooks/session-end.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;
|
|
1
|
+
{"version":3,"file":"session-end.js","sourceRoot":"","sources":["../../src/hooks/session-end.ts"],"names":[],"mappings":"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"}
|
package/openclaw.plugin.json
CHANGED