openclaw-engram 2.0.7 → 2.0.11
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/client.d.ts +45 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +72 -0
- package/dist/client.js.map +1 -1
- package/dist/hooks/before-tool-call.d.ts +21 -0
- package/dist/hooks/before-tool-call.d.ts.map +1 -0
- package/dist/hooks/before-tool-call.js +72 -0
- package/dist/hooks/before-tool-call.js.map +1 -0
- package/dist/hooks/session-end.d.ts +4 -3
- package/dist/hooks/session-end.d.ts.map +1 -1
- package/dist/hooks/session-end.js +64 -22
- package/dist/hooks/session-end.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/engram-decisions.d.ts.map +1 -1
- package/dist/tools/engram-decisions.js +12 -17
- package/dist/tools/engram-decisions.js.map +1 -1
- package/dist/tools/engram-find-by-file.d.ts +11 -0
- package/dist/tools/engram-find-by-file.d.ts.map +1 -0
- package/dist/tools/engram-find-by-file.js +57 -0
- package/dist/tools/engram-find-by-file.js.map +1 -0
- package/dist/tools/engram-outcome.d.ts +11 -0
- package/dist/tools/engram-outcome.d.ts.map +1 -0
- package/dist/tools/engram-outcome.js +50 -0
- package/dist/tools/engram-outcome.js.map +1 -0
- package/dist/tools/engram-presets.d.ts +12 -0
- package/dist/tools/engram-presets.d.ts.map +1 -0
- package/dist/tools/engram-presets.js +66 -0
- package/dist/tools/engram-presets.js.map +1 -0
- package/dist/tools/engram-rate.d.ts +11 -0
- package/dist/tools/engram-rate.d.ts.map +1 -0
- package/dist/tools/engram-rate.js +42 -0
- package/dist/tools/engram-rate.js.map +1 -0
- package/dist/tools/engram-suppress.d.ts +11 -0
- package/dist/tools/engram-suppress.d.ts.map +1 -0
- package/dist/tools/engram-suppress.js +39 -0
- package/dist/tools/engram-suppress.js.map +1 -0
- package/dist/tools/engram-timeline.d.ts +11 -0
- package/dist/tools/engram-timeline.d.ts.map +1 -0
- package/dist/tools/engram-timeline.js +66 -0
- package/dist/tools/engram-timeline.js.map +1 -0
- package/dist/tools/engram-vault.d.ts +12 -0
- package/dist/tools/engram-vault.d.ts.map +1 -0
- package/dist/tools/engram-vault.js +80 -0
- package/dist/tools/engram-vault.js.map +1 -0
- package/dist/tools/memory-forget.d.ts +3 -2
- package/dist/tools/memory-forget.d.ts.map +1 -1
- package/dist/tools/memory-forget.js +27 -11
- package/dist/tools/memory-forget.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* memory_forget — delete observations from engram by ID.
|
|
3
|
+
* memory_forget — suppress or permanently delete observations from engram by ID.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Default: suppress (reversible soft-hide from search results).
|
|
6
|
+
* With permanent=true: archive (permanent removal).
|
|
6
7
|
*/
|
|
7
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
9
|
exports.createMemoryForgetTool = createMemoryForgetTool;
|
|
9
10
|
const zod_1 = require("zod");
|
|
10
11
|
const typebox_1 = require("@sinclair/typebox");
|
|
11
12
|
const ForgetParamsSchema = zod_1.z.object({
|
|
12
|
-
id: zod_1.z.string().
|
|
13
|
+
id: zod_1.z.string().regex(/^[1-9]\d*$/, 'Must be a positive integer'),
|
|
14
|
+
permanent: zod_1.z.boolean().optional().default(false),
|
|
13
15
|
});
|
|
14
16
|
const forgetParameters = typebox_1.Type.Object({
|
|
15
|
-
id: typebox_1.Type.String({ description: 'Observation
|
|
17
|
+
id: typebox_1.Type.String({ description: 'Observation ID (positive integer)' }),
|
|
18
|
+
permanent: typebox_1.Type.Optional(typebox_1.Type.Boolean({
|
|
19
|
+
description: 'If true, permanently archives the observation. Default: false (reversible suppress).',
|
|
20
|
+
})),
|
|
16
21
|
});
|
|
17
22
|
function createMemoryForgetTool(_ctx, client, _config) {
|
|
18
23
|
return {
|
|
19
24
|
name: 'memory_forget',
|
|
20
25
|
label: 'Forget Memory',
|
|
21
|
-
description: '
|
|
26
|
+
description: 'Suppress an observation from future search results (reversible). ' +
|
|
27
|
+
'Use permanent=true to permanently archive it instead.',
|
|
22
28
|
parameters: forgetParameters,
|
|
23
29
|
async execute(_toolCallId, params) {
|
|
24
30
|
const parsed = ForgetParamsSchema.safeParse(params);
|
|
@@ -28,13 +34,23 @@ function createMemoryForgetTool(_ctx, client, _config) {
|
|
|
28
34
|
if (!client.isAvailable()) {
|
|
29
35
|
return 'engram is currently unreachable — memory forget unavailable';
|
|
30
36
|
}
|
|
31
|
-
const
|
|
32
|
-
if (!
|
|
33
|
-
return
|
|
37
|
+
const numericId = parseInt(parsed.data.id, 10);
|
|
38
|
+
if (!Number.isSafeInteger(numericId) || numericId <= 0) {
|
|
39
|
+
return `Invalid observation ID: ${parsed.data.id}`;
|
|
34
40
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
if (parsed.data.permanent) {
|
|
42
|
+
const response = await client.bulkDelete([String(numericId)]);
|
|
43
|
+
if (!response) {
|
|
44
|
+
return 'engram archive failed — server returned no response';
|
|
45
|
+
}
|
|
46
|
+
return response.deleted > 0
|
|
47
|
+
? `Permanently archived observation: ${parsed.data.id}`
|
|
48
|
+
: `Observation not found or already archived: ${parsed.data.id}`;
|
|
49
|
+
}
|
|
50
|
+
const suppressed = await client.suppressObservation(numericId);
|
|
51
|
+
return suppressed
|
|
52
|
+
? `Suppressed observation: ${parsed.data.id} (reversible — will no longer appear in search)`
|
|
53
|
+
: `Failed to suppress observation: ${parsed.data.id}`;
|
|
38
54
|
},
|
|
39
55
|
};
|
|
40
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-forget.js","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"memory-forget.js","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAsBH,wDA4CC;AAhED,6BAAwB;AACxB,+CAAyC;AAKzC,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,4BAA4B,CAAC;IAChE,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,cAAI,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;IACrE,SAAS,EAAE,cAAI,CAAC,QAAQ,CACtB,cAAI,CAAC,OAAO,CAAC;QACX,WAAW,EAAE,sFAAsF;KACpG,CAAC,CACH;CACF,CAAC,CAAC;AAEH,SAAgB,sBAAsB,CACpC,IAA+B,EAC/B,MAAwB,EACxB,OAAqB;IAErB,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,mEAAmE;YACnE,uDAAuD;QACzD,UAAU,EAAE,gBAAgB;QAE5B,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,MAA+B;YAChE,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACvD,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC1B,OAAO,6DAA6D,CAAC;YACvE,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACvD,OAAO,2BAA2B,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACrD,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,qDAAqD,CAAC;gBAC/D,CAAC;gBACD,OAAO,QAAQ,CAAC,OAAO,GAAG,CAAC;oBACzB,CAAC,CAAC,qCAAqC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE;oBACvD,CAAC,CAAC,8CAA8C,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACrE,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO,UAAU;gBACf,CAAC,CAAC,2BAA2B,MAAM,CAAC,IAAI,CAAC,EAAE,iDAAiD;gBAC5F,CAAC,CAAC,mCAAmC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1D,CAAC;KACF,CAAC;AACJ,CAAC"}
|