@crewx/memory 0.1.23-rc.3 → 0.1.23-rc.30
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/cli.js +8 -8
- package/dist/cli.js.map +1 -1
- package/dist/src/engine.js +97 -97
- package/dist/src/engine.js.map +1 -1
- package/dist/src/mindmap.js +57 -57
- package/dist/src/mindmap.js.map +1 -1
- package/package.json +3 -3
package/dist/cli.js
CHANGED
|
@@ -192,13 +192,13 @@ async function main(inputArgs) {
|
|
|
192
192
|
console.log('Usage: npx memory mindmap <subcommand> [agent_id] [args]');
|
|
193
193
|
console.log('');
|
|
194
194
|
console.log('Subcommands:');
|
|
195
|
-
console.log(' build <agent_id> -
|
|
196
|
-
console.log(' show <agent_id> [--period=stm|mtm|ltm] [--format=mermaid|text] -
|
|
197
|
-
console.log(' related <agent_id> <memory_id> -
|
|
198
|
-
console.log(' add <agent_id> <from_id> <to_id> [type] -
|
|
199
|
-
console.log(' remove <agent_id> <from_id> <to_id> -
|
|
200
|
-
console.log(' html -
|
|
201
|
-
console.log(' open [agent_id] -
|
|
195
|
+
console.log(' build <agent_id> - Build graph');
|
|
196
|
+
console.log(' show <agent_id> [--period=stm|mtm|ltm] [--format=mermaid|text] - Graph summary');
|
|
197
|
+
console.log(' related <agent_id> <memory_id> - View related memories');
|
|
198
|
+
console.log(' add <agent_id> <from_id> <to_id> [type] - Add manual relation');
|
|
199
|
+
console.log(' remove <agent_id> <from_id> <to_id> - Remove relation');
|
|
200
|
+
console.log(' html - Generate shared HTML');
|
|
201
|
+
console.log(' open [agent_id] - Open in browser');
|
|
202
202
|
process.exit(1);
|
|
203
203
|
}
|
|
204
204
|
switch (subcommand) {
|
|
@@ -348,7 +348,7 @@ async function main(inputArgs) {
|
|
|
348
348
|
case 'merge':
|
|
349
349
|
if (!rest[0] || !rest[1]) {
|
|
350
350
|
console.log('Error: two memory_ids are required');
|
|
351
|
-
console.log('Usage: node cli.ts merge <agent_id> <id1> <id2> [--summary="
|
|
351
|
+
console.log('Usage: node cli.ts merge <agent_id> <id1> <id2> [--summary="merge summary"]');
|
|
352
352
|
process.exit(1);
|
|
353
353
|
}
|
|
354
354
|
engine.merge(agentId, rest[0], rest[1], options);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6JA,oBAiOC;AAnWD,uCAAyB;AACzB,2CAA6B;AAC7B,yCAA4C;AAC5C,uCAAyC;AACzC,2CAA8C;AAG9C,IAAI,WAAW,GAAG,SAAS,CAAC;AAC5B,IAAI,CAAC;IACH,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAClE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,IAAI,IAAI,EAAE,OAAO;QAAE,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC;AAGV,SAAS,SAAS;IAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAmB,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAGD,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QAAC,OAAO,wDAAa,4BAA4B,GAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AACnF,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;gBACE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC1B,CAAC,CAAC;AACH,CAAC;AAGD,MAAM,OAAO,GAA2B;IACtC,IAAI,EAAE,KAAK;IACX,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;CACb,CAAC;AAQF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS;CAC1F,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,MAAM,GAAe,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAChC,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBAEjB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACnC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC5B,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;wBAC3E,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;wBAC9B,CAAC,EAAE,CAAC;oBACN,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBAC7B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,IAAI,CAAC,SAAoB;IAC7C,MAAM,IAAI,GAAG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;IAG/C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAGD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,iBAAiB,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAGD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;IAIpD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,IAAI,uBAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,OAAO,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YACvF,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;YAChG,OAAO,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;YACjG,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;YAChG,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,OAAO;gBACV,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAC/E,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAgB,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAgB,EAAE,CAAC,CAAC;gBAC/F,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAC7G,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBACjI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBACjI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,MAAM;YACR;gBACE,OAAO,CAAC,GAAG,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;IAElC,IAAI,eAAe,KAAK,iBAAiB,EAAE,CAAC;QAC1C,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAGD,IAAI,QAAgB,CAAC;YACrB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,kBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAU,CAAC,EAAE,CAAC;gBACrD,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,SAAS,CAAC;gBACrB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YAGD,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC7B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YAID,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC1C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACnC,SAAS,EAAE;oBACX,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;iBACrE,CAAC,CAAC;gBACH,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAgB,CAAC,CAAC;YAC1D,MAAM;QACR,CAAC;QAED,KAAK,OAAO;YACV,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAgB,CAAC,CAAC;YACxC,MAAM;QAER,KAAK,MAAM;YACT,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAgB,CAAC,CAAC;YACvC,MAAM;QAER,KAAK,OAAO;YACV,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM;QAER,KAAK,MAAM;YACT,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QAER,KAAK,QAAQ;YACX,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM;QAER,KAAK,MAAM;YACT,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM;QAER,KAAK,KAAK;YACR,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM;QAER,KAAK,QAAQ;YACX,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,MAAM;QAER,KAAK,QAAQ;YACX,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAgB,CAAC,CAAC;YAClD,MAAM;QAER,KAAK,QAAQ;YACX,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAgB,CAAC,CAAC;YAClD,MAAM;QAER,KAAK,OAAO;YACV,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;gBAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAgB,CAAC,CAAC;YAC1D,MAAM;QAER,KAAK,WAAW;YACd,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,OAAgB,CAAC,CAAC;YAC5C,MAAM;QAER;YACE,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/src/engine.js
CHANGED
|
@@ -172,7 +172,7 @@ class MemoryEngine {
|
|
|
172
172
|
const raw = fs_1.default.readFileSync(path_1.default.join(entriesDir, file), 'utf-8');
|
|
173
173
|
const { data, content } = (0, parser_1.parseFrontmatter)(raw);
|
|
174
174
|
const bodyText = content.replace(/^#[^\n]*\n*/m, '').trim();
|
|
175
|
-
const hasBody = Boolean(bodyText) && bodyText !== '(
|
|
175
|
+
const hasBody = Boolean(bodyText) && bodyText !== '(Add details here)';
|
|
176
176
|
const entry = data;
|
|
177
177
|
entries.push({ ...entry, file, hasBody });
|
|
178
178
|
}
|
|
@@ -217,16 +217,16 @@ class MemoryEngine {
|
|
|
217
217
|
});
|
|
218
218
|
const filename = `${id}.md`;
|
|
219
219
|
const filepath = path_1.default.join(this.getEntriesDir(agentId), filename);
|
|
220
|
-
const body = options.body ?? '(
|
|
220
|
+
const body = options.body ?? '(Add details here)';
|
|
221
221
|
const content = `${frontmatter}\n\n# ${summary}\n\n${body}\n`;
|
|
222
222
|
fs_1.default.writeFileSync(filepath, content, 'utf-8');
|
|
223
|
-
console.log(`✅
|
|
223
|
+
console.log(`✅ Saved: data/${agentId}/entries/${filename}`);
|
|
224
224
|
console.log(` ID: ${id}`);
|
|
225
|
-
console.log(` Tags: ${tags.join(', ') || '(
|
|
225
|
+
console.log(` Tags: ${tags.join(', ') || '(none)'}`);
|
|
226
226
|
console.log(` Category: ${category}`);
|
|
227
227
|
try {
|
|
228
228
|
this.markSummaryDirty(agentId);
|
|
229
|
-
console.log(` 📝 summary.md
|
|
229
|
+
console.log(` 📝 summary.md update scheduled`);
|
|
230
230
|
}
|
|
231
231
|
catch (_e) {
|
|
232
232
|
}
|
|
@@ -252,11 +252,11 @@ class MemoryEngine {
|
|
|
252
252
|
}
|
|
253
253
|
const cutoff24h = new Date(Date.now() - this.shortTermHours * 60 * 60 * 1000).toISOString();
|
|
254
254
|
const shortTermEntries = entries.filter((e) => this.toEntryTimestamp(e) >= cutoff24h);
|
|
255
|
-
console.log(`# ${agentId}
|
|
255
|
+
console.log(`# ${agentId} memory summary\n`);
|
|
256
256
|
const summaryLastUpdated = fs_1.default.existsSync(summaryPath)
|
|
257
257
|
? (0, parser_1.parseFrontmatter)(fs_1.default.readFileSync(summaryPath, 'utf-8')).data.last_updated ?? '-'
|
|
258
258
|
: '-';
|
|
259
|
-
console.log(`> ${entries.length}
|
|
259
|
+
console.log(`> ${entries.length} items | topics ${topics.length} items | updated: ${summaryLastUpdated}`);
|
|
260
260
|
if (options.full) {
|
|
261
261
|
const byCat = {};
|
|
262
262
|
for (const entry of entries) {
|
|
@@ -278,7 +278,7 @@ class MemoryEngine {
|
|
|
278
278
|
return bImp - aImp;
|
|
279
279
|
return this.toEntryTimestamp(b).localeCompare(this.toEntryTimestamp(a));
|
|
280
280
|
});
|
|
281
|
-
console.log(`## 🔥
|
|
281
|
+
console.log(`## 🔥 last Task (24h)\n`);
|
|
282
282
|
for (const e of sortedShortTerm) {
|
|
283
283
|
const star = e.important ? '⭐ ' : '';
|
|
284
284
|
console.log(`- ${star}[${e.id}] ${e.summary} (${this.getPrimaryTag(e)})`);
|
|
@@ -302,7 +302,7 @@ class MemoryEngine {
|
|
|
302
302
|
const diffDays = Math.max(1, Math.floor((newest.getTime() - oldest.getTime()) / msPerDay) + 1);
|
|
303
303
|
const toMD = (d) => `${String(d.getMonth() + 1).padStart(2, '0')}/${String(d.getDate()).padStart(2, '0')}`;
|
|
304
304
|
console.log('---');
|
|
305
|
-
console.log(`📋
|
|
305
|
+
console.log(`📋 Topic summary (${toMD(oldest)} ~ ${toMD(newest)}, ${diffDays} days)\n`);
|
|
306
306
|
}
|
|
307
307
|
}
|
|
308
308
|
console.log(summaryBody.trim());
|
|
@@ -310,7 +310,7 @@ class MemoryEngine {
|
|
|
310
310
|
else {
|
|
311
311
|
for (const tag of topics.sort()) {
|
|
312
312
|
const count = entries.filter((e) => this.getPrimaryTag(e) === tag).length;
|
|
313
|
-
console.log(`- **${tag}** (${count}
|
|
313
|
+
console.log(`- **${tag}** (${count} items)`);
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
}
|
|
@@ -343,15 +343,15 @@ class MemoryEngine {
|
|
|
343
343
|
byCategory[category] = [];
|
|
344
344
|
byCategory[category].push(entry);
|
|
345
345
|
}
|
|
346
|
-
let md = `# ${agentId}
|
|
346
|
+
let md = `# ${agentId} memory\n\n`;
|
|
347
347
|
md += `> Last Updated: ${today}\n`;
|
|
348
348
|
md += `> Total: ${entries.length} memories\n\n`;
|
|
349
|
-
md += `## 🔥
|
|
349
|
+
md += `## 🔥 Last ${this.recentDays} days\n\n`;
|
|
350
350
|
if (recent.length === 0) {
|
|
351
|
-
md += `(
|
|
351
|
+
md += `(none)\n\n`;
|
|
352
352
|
}
|
|
353
353
|
else {
|
|
354
|
-
md += `| ID |
|
|
354
|
+
md += `| ID | Date | Category | Summary | Details |\n`;
|
|
355
355
|
md += `|----|------|----------|------|------|\n`;
|
|
356
356
|
for (const entry of recent) {
|
|
357
357
|
const detailIcon = entry.hasBody ? '📄' : '-';
|
|
@@ -359,33 +359,33 @@ class MemoryEngine {
|
|
|
359
359
|
}
|
|
360
360
|
md += `\n`;
|
|
361
361
|
}
|
|
362
|
-
md += `## 🏷️
|
|
362
|
+
md += `## 🏷️ By category\n\n`;
|
|
363
363
|
for (const [category, items] of Object.entries(byCategory).sort()) {
|
|
364
|
-
md += `- **${category}**: ${items.length}
|
|
364
|
+
md += `- **${category}**: ${items.length} items\n`;
|
|
365
365
|
}
|
|
366
366
|
const olderCount = entries.length - recent.length;
|
|
367
367
|
const oldestDate = entries[entries.length - 1]?.date ?? '-';
|
|
368
368
|
const newestDate = entries[0]?.date ?? '-';
|
|
369
|
-
md += `\n## 📊
|
|
370
|
-
md += `-
|
|
371
|
-
md += `-
|
|
369
|
+
md += `\n## 📊 Stats\n\n`;
|
|
370
|
+
md += `- Total: ${entries.length} items (${oldestDate} ~ ${newestDate})\n`;
|
|
371
|
+
md += `- Last ${this.recentDays} days: ${recent.length} items\n`;
|
|
372
372
|
if (olderCount > 0)
|
|
373
|
-
md += `- ${this.recentDays}
|
|
373
|
+
md += `- Older than ${this.recentDays} days: ${olderCount} items\n`;
|
|
374
374
|
return md;
|
|
375
375
|
}
|
|
376
376
|
topic(agentId, topicName) {
|
|
377
377
|
const entries = this.loadAllEntries(agentId);
|
|
378
378
|
const filtered = entries.filter((e) => this.getPrimaryTag(e) === topicName);
|
|
379
379
|
if (filtered.length === 0) {
|
|
380
|
-
console.log(
|
|
380
|
+
console.log(`No memories found for topic '${topicName}'.`);
|
|
381
381
|
return;
|
|
382
382
|
}
|
|
383
|
-
console.log(`## 📂
|
|
383
|
+
console.log(`## 📂 Topic: ${topicName} (${filtered.length} items)\n`);
|
|
384
384
|
for (const entry of filtered) {
|
|
385
385
|
console.log(`### [${entry.date}] ${entry.summary}`);
|
|
386
|
-
console.log(`-
|
|
387
|
-
console.log(`-
|
|
388
|
-
console.log(`-
|
|
386
|
+
console.log(`- File: data/${agentId}/entries/${entry.file}`);
|
|
387
|
+
console.log(`- Category: ${entry.category ?? '-'}`);
|
|
388
|
+
console.log(`- Tags: ${(entry.tags ?? []).join(', ') || '-'}`);
|
|
389
389
|
console.log('');
|
|
390
390
|
}
|
|
391
391
|
}
|
|
@@ -396,10 +396,10 @@ class MemoryEngine {
|
|
|
396
396
|
.slice(0, 10);
|
|
397
397
|
const filtered = entries.filter((e) => e.date >= cutoff);
|
|
398
398
|
if (filtered.length === 0) {
|
|
399
|
-
console.log(
|
|
399
|
+
console.log(`No memories found in the last ${days} days.`);
|
|
400
400
|
return;
|
|
401
401
|
}
|
|
402
|
-
console.log(`## 🔥
|
|
402
|
+
console.log(`## 🔥 Last ${days} days (${filtered.length} items)\n`);
|
|
403
403
|
for (const entry of filtered) {
|
|
404
404
|
const detailIcon = entry.hasBody ? ' 📄' : '';
|
|
405
405
|
const timestamp = String(entry.date).includes('T')
|
|
@@ -411,7 +411,7 @@ class MemoryEngine {
|
|
|
411
411
|
find(agentId, keyword) {
|
|
412
412
|
const entriesDir = this.getEntriesDir(agentId);
|
|
413
413
|
if (!fs_1.default.existsSync(entriesDir)) {
|
|
414
|
-
console.log('
|
|
414
|
+
console.log('No memories found.');
|
|
415
415
|
return;
|
|
416
416
|
}
|
|
417
417
|
const files = fs_1.default.readdirSync(entriesDir).filter((f) => f.endsWith('.md'));
|
|
@@ -423,18 +423,18 @@ class MemoryEngine {
|
|
|
423
423
|
entries.push({ ...entry, file, body });
|
|
424
424
|
}
|
|
425
425
|
if (entries.length === 0) {
|
|
426
|
-
console.log('
|
|
426
|
+
console.log('No memories found.');
|
|
427
427
|
return;
|
|
428
428
|
}
|
|
429
429
|
const kcEntries = entries;
|
|
430
430
|
const results = (0, knowledge_core_1.searchEntries)(kcEntries, keyword, { summary: 3, tags: 2, body: 1 });
|
|
431
431
|
if (results.length === 0) {
|
|
432
|
-
console.log(`'${keyword}'
|
|
432
|
+
console.log(`No related memories found for '${keyword}'.`);
|
|
433
433
|
return;
|
|
434
434
|
}
|
|
435
|
-
console.log(`## 🔍
|
|
435
|
+
console.log(`## 🔍 Search results: "${keyword}" (${results.length} items, sorted by BM25 score)\n`);
|
|
436
436
|
for (const entry of results) {
|
|
437
|
-
const score = entry._score != null ? ` [${entry._score}
|
|
437
|
+
const score = entry._score != null ? ` [${entry._score}pts]` : '';
|
|
438
438
|
console.log(`[${entry.id}] [${entry.date}] [${this.getPrimaryTag(entry)}]${score} ${entry.summary}`);
|
|
439
439
|
}
|
|
440
440
|
const resultTags = [...new Set(results.flatMap(e => e.tags ?? []))].slice(0, 3);
|
|
@@ -470,7 +470,7 @@ class MemoryEngine {
|
|
|
470
470
|
const raw = fs_1.default.readFileSync(path_1.default.join(entriesDir, e.file), 'utf-8');
|
|
471
471
|
const { content: rawContent } = (0, parser_1.parseFrontmatter)(raw);
|
|
472
472
|
const body = rawContent.replace(/^#[^\n]*\n*/m, '').trim();
|
|
473
|
-
if (body !== '(
|
|
473
|
+
if (body !== '(Add details here)')
|
|
474
474
|
content = body;
|
|
475
475
|
}
|
|
476
476
|
catch (_err) {
|
|
@@ -494,10 +494,10 @@ class MemoryEngine {
|
|
|
494
494
|
filters.push(`category=${options.category}`);
|
|
495
495
|
if (options.tag)
|
|
496
496
|
filters.push(`tag=${options.tag}`);
|
|
497
|
-
console.log(
|
|
497
|
+
console.log(`No memories match the filters. (${filters.join(', ') || 'all'})`);
|
|
498
498
|
return;
|
|
499
499
|
}
|
|
500
|
-
console.log(`## 📋
|
|
500
|
+
console.log(`## 📋 List: ${agentId} (${filtered.length} items)\n`);
|
|
501
501
|
for (const entry of filtered) {
|
|
502
502
|
console.log(`[${entry.id}] [${entry.date}] [${this.getPrimaryTag(entry)}] ${entry.summary}`);
|
|
503
503
|
}
|
|
@@ -518,7 +518,7 @@ class MemoryEngine {
|
|
|
518
518
|
stats(agentId) {
|
|
519
519
|
const entries = this.loadAllEntries(agentId);
|
|
520
520
|
if (entries.length === 0) {
|
|
521
|
-
console.log('
|
|
521
|
+
console.log('No memories found.');
|
|
522
522
|
return;
|
|
523
523
|
}
|
|
524
524
|
const byCategory = {};
|
|
@@ -532,15 +532,15 @@ class MemoryEngine {
|
|
|
532
532
|
byTag[tag] = (byTag[tag] ?? 0) + 1;
|
|
533
533
|
}
|
|
534
534
|
}
|
|
535
|
-
console.log(`# ${agentId}
|
|
536
|
-
console.log(`##
|
|
535
|
+
console.log(`# ${agentId} Stats (${entries.length} items)\n`);
|
|
536
|
+
console.log(`## By category`);
|
|
537
537
|
for (const [cat, count] of Object.entries(byCategory).sort((a, b) => b[1] - a[1])) {
|
|
538
|
-
console.log(` ${cat}: ${count}
|
|
538
|
+
console.log(` ${cat}: ${count} items`);
|
|
539
539
|
}
|
|
540
|
-
console.log(`\n##
|
|
540
|
+
console.log(`\n## Top 20 Tags`);
|
|
541
541
|
const sortedTags = Object.entries(byTag).sort((a, b) => b[1] - a[1]).slice(0, 20);
|
|
542
542
|
for (const [tag, count] of sortedTags) {
|
|
543
|
-
console.log(` ${tag}: ${count}
|
|
543
|
+
console.log(` ${tag}: ${count} items`);
|
|
544
544
|
}
|
|
545
545
|
const topCategories = Object.entries(byCategory).sort((a, b) => b[1] - a[1]).map(t => t[0]);
|
|
546
546
|
const statsCtx = {
|
|
@@ -557,7 +557,7 @@ class MemoryEngine {
|
|
|
557
557
|
tags(agentId) {
|
|
558
558
|
const entries = this.loadAllEntries(agentId);
|
|
559
559
|
if (entries.length === 0) {
|
|
560
|
-
console.log('
|
|
560
|
+
console.log('No memories found.');
|
|
561
561
|
return;
|
|
562
562
|
}
|
|
563
563
|
const byTag = {};
|
|
@@ -568,18 +568,18 @@ class MemoryEngine {
|
|
|
568
568
|
}
|
|
569
569
|
const sortedTags = Object.entries(byTag).sort((a, b) => b[1] - a[1]);
|
|
570
570
|
if (sortedTags.length === 0) {
|
|
571
|
-
console.log('
|
|
571
|
+
console.log('No tags found.');
|
|
572
572
|
return;
|
|
573
573
|
}
|
|
574
|
-
console.log(`## 🏷️
|
|
574
|
+
console.log(`## 🏷️ All tags (${sortedTags.length} items)\n`);
|
|
575
575
|
for (const [tag, count] of sortedTags) {
|
|
576
|
-
console.log(` ${tag}: ${count}
|
|
576
|
+
console.log(` ${tag}: ${count} items`);
|
|
577
577
|
}
|
|
578
578
|
}
|
|
579
579
|
get(agentId, memoryId) {
|
|
580
580
|
const entriesDir = this.getEntriesDir(agentId);
|
|
581
581
|
if (!fs_1.default.existsSync(entriesDir)) {
|
|
582
|
-
console.log('
|
|
582
|
+
console.log('No memories found.');
|
|
583
583
|
return;
|
|
584
584
|
}
|
|
585
585
|
const files = fs_1.default.readdirSync(entriesDir).filter((f) => f.endsWith('.md'));
|
|
@@ -591,10 +591,10 @@ class MemoryEngine {
|
|
|
591
591
|
const d = data;
|
|
592
592
|
console.log(`## 📄 ${d.summary}\n`);
|
|
593
593
|
console.log(`- ID: ${d.id}`);
|
|
594
|
-
console.log(`-
|
|
595
|
-
console.log(`-
|
|
596
|
-
console.log(`-
|
|
597
|
-
console.log(`-
|
|
594
|
+
console.log(`- Date: ${d.date}`);
|
|
595
|
+
console.log(`- Category: ${d.category ?? '-'}`);
|
|
596
|
+
console.log(`- Tags: ${(d.tags ?? []).join(', ') || '-'}`);
|
|
597
|
+
console.log(`- File: data/${agentId}/entries/${file}`);
|
|
598
598
|
console.log(`\n---\n`);
|
|
599
599
|
console.log(content.trim());
|
|
600
600
|
const graphPath = path_1.default.join(this.getAgentDir(agentId), 'graph.json');
|
|
@@ -611,7 +611,7 @@ class MemoryEngine {
|
|
|
611
611
|
nodeMap[n.id] = n;
|
|
612
612
|
});
|
|
613
613
|
console.log(`\n---\n`);
|
|
614
|
-
console.log(`## 🔗
|
|
614
|
+
console.log(`## 🔗 Related memories (${relatedEdges.length} items)\n`);
|
|
615
615
|
for (const edge of relatedEdges) {
|
|
616
616
|
const otherId = edge.from === memoryId ? edge.to : edge.from;
|
|
617
617
|
const other = nodeMap[otherId];
|
|
@@ -638,12 +638,12 @@ class MemoryEngine {
|
|
|
638
638
|
return;
|
|
639
639
|
}
|
|
640
640
|
}
|
|
641
|
-
console.log(`ID '${memoryId}'
|
|
641
|
+
console.log(`ID '${memoryId}' not found.`);
|
|
642
642
|
}
|
|
643
643
|
update(agentId, memoryId, options = {}) {
|
|
644
644
|
const entry = this.findEntryById(agentId, memoryId);
|
|
645
645
|
if (!entry) {
|
|
646
|
-
console.log(`❌ ID '${memoryId}'
|
|
646
|
+
console.log(`❌ ID '${memoryId}' not found.`);
|
|
647
647
|
process.exit(1);
|
|
648
648
|
}
|
|
649
649
|
const { filePath, data, content } = entry;
|
|
@@ -664,11 +664,11 @@ class MemoryEngine {
|
|
|
664
664
|
else if (options['no-important']) {
|
|
665
665
|
delete newData['important'];
|
|
666
666
|
}
|
|
667
|
-
const newBody = options.body ?? existingBody ?? '(
|
|
667
|
+
const newBody = options.body ?? existingBody ?? '(Add details here)';
|
|
668
668
|
const newFrontmatter = (0, parser_1.stringifyFrontmatter)(newData);
|
|
669
669
|
const newContent = `${newFrontmatter}\n\n# ${String(newData['summary'])}\n\n${newBody}\n`;
|
|
670
670
|
fs_1.default.writeFileSync(filePath, newContent, 'utf-8');
|
|
671
|
-
console.log(`✅
|
|
671
|
+
console.log(`✅ Updated: ${entry.file}`);
|
|
672
672
|
console.log(` ID: ${memoryId}`);
|
|
673
673
|
if (options.summary)
|
|
674
674
|
console.log(` Summary: ${String(newData['summary'])}`);
|
|
@@ -677,28 +677,28 @@ class MemoryEngine {
|
|
|
677
677
|
if (options.tags)
|
|
678
678
|
console.log(` Tags: ${newData['tags'].join(', ')}`);
|
|
679
679
|
if (options.body)
|
|
680
|
-
console.log(` Body: (
|
|
680
|
+
console.log(` Body: (updated)`);
|
|
681
681
|
}
|
|
682
682
|
delete(agentId, memoryId, options = {}) {
|
|
683
683
|
const entry = this.findEntryById(agentId, memoryId);
|
|
684
684
|
if (!entry) {
|
|
685
|
-
console.log(`❌ ID '${memoryId}'
|
|
685
|
+
console.log(`❌ ID '${memoryId}' not found.`);
|
|
686
686
|
process.exit(1);
|
|
687
687
|
}
|
|
688
688
|
if (!options.force) {
|
|
689
|
-
console.log(`⚠️
|
|
690
|
-
console.log(`
|
|
691
|
-
console.log(`\
|
|
692
|
-
console.log(
|
|
689
|
+
console.log(`⚠️ Delete target: [${entry.data.id}] ${entry.data.summary}`);
|
|
690
|
+
console.log(` File: ${entry.file}`);
|
|
691
|
+
console.log(`\nAdd --force to delete it.`);
|
|
692
|
+
console.log(`Example: memory delete ${agentId} ${memoryId} --force`);
|
|
693
693
|
return;
|
|
694
694
|
}
|
|
695
695
|
fs_1.default.unlinkSync(entry.filePath);
|
|
696
|
-
console.log(`🗑️
|
|
696
|
+
console.log(`🗑️ Deleted: ${entry.file}`);
|
|
697
697
|
console.log(` ID: ${memoryId}`);
|
|
698
698
|
console.log(` Summary: ${entry.data.summary}`);
|
|
699
699
|
try {
|
|
700
700
|
this.markSummaryDirty(agentId);
|
|
701
|
-
console.log(` 📝 summary.md
|
|
701
|
+
console.log(` 📝 summary.md update scheduled`);
|
|
702
702
|
}
|
|
703
703
|
catch (_e) {
|
|
704
704
|
}
|
|
@@ -707,27 +707,27 @@ class MemoryEngine {
|
|
|
707
707
|
const entry1 = this.findEntryById(agentId, memoryId1);
|
|
708
708
|
const entry2 = this.findEntryById(agentId, memoryId2);
|
|
709
709
|
if (!entry1) {
|
|
710
|
-
console.log(`❌ ID '${memoryId1}'
|
|
710
|
+
console.log(`❌ ID '${memoryId1}' not found.`);
|
|
711
711
|
process.exit(1);
|
|
712
712
|
}
|
|
713
713
|
if (!entry2) {
|
|
714
|
-
console.log(`❌ ID '${memoryId2}'
|
|
714
|
+
console.log(`❌ ID '${memoryId2}' not found.`);
|
|
715
715
|
process.exit(1);
|
|
716
716
|
}
|
|
717
717
|
const body1 = entry1.content.replace(/^#[^\n]*\n*/m, '').trim();
|
|
718
718
|
const body2 = entry2.content.replace(/^#[^\n]*\n*/m, '').trim();
|
|
719
719
|
const mergedSummary = options.summary ?? `${entry1.data.summary} + ${entry2.data.summary}`;
|
|
720
|
-
const mergedBody = `##
|
|
720
|
+
const mergedBody = `## Merged memory 1 (${entry1.data.id}, ${entry1.data.date})
|
|
721
721
|
${entry1.data.summary}
|
|
722
722
|
|
|
723
|
-
${body1 !== '(
|
|
723
|
+
${body1 !== '(Add details here)' ? body1 : '(No details)'}
|
|
724
724
|
|
|
725
725
|
---
|
|
726
726
|
|
|
727
|
-
##
|
|
727
|
+
## Merged memory 2 (${entry2.data.id}, ${entry2.data.date})
|
|
728
728
|
${entry2.data.summary}
|
|
729
729
|
|
|
730
|
-
${body2 !== '(
|
|
730
|
+
${body2 !== '(Add details here)' ? body2 : '(No details)'}`;
|
|
731
731
|
const mergedTags = [
|
|
732
732
|
...new Set([...(entry1.data.tags ?? []), ...(entry2.data.tags ?? [])]),
|
|
733
733
|
];
|
|
@@ -749,10 +749,10 @@ ${body2 !== '(상세 내용을 여기에 추가)' ? body2 : '(상세 없음)'}`;
|
|
|
749
749
|
fs_1.default.writeFileSync(filepath, newContent, 'utf-8');
|
|
750
750
|
fs_1.default.unlinkSync(entry1.filePath);
|
|
751
751
|
fs_1.default.unlinkSync(entry2.filePath);
|
|
752
|
-
console.log(`🔀
|
|
753
|
-
console.log(`
|
|
754
|
-
console.log(`
|
|
755
|
-
console.log(`
|
|
752
|
+
console.log(`🔀 Merge complete!`);
|
|
753
|
+
console.log(` New ID: ${newId}`);
|
|
754
|
+
console.log(` New file: ${filename}`);
|
|
755
|
+
console.log(` Merged memory: [${memoryId1}] + [${memoryId2}]`);
|
|
756
756
|
console.log(` Summary: ${mergedSummary}`);
|
|
757
757
|
}
|
|
758
758
|
buildFallbackSummary(entries) {
|
|
@@ -778,7 +778,7 @@ ${body2 !== '(상세 내용을 여기에 추가)' ? body2 : '(상세 없음)'}`;
|
|
|
778
778
|
const oldest = dates[0];
|
|
779
779
|
const newest = dates[dates.length - 1];
|
|
780
780
|
const rangeLabel = oldest && newest ? `, ${toMD(oldest)}~${toMD(newest)}` : '';
|
|
781
|
-
body += `## ${topic} (${items.length}
|
|
781
|
+
body += `## ${topic} (${items.length} items${rangeLabel})\n`;
|
|
782
782
|
for (const e of items)
|
|
783
783
|
body += `- [${e.date}] ${e.summary}\n`;
|
|
784
784
|
for (const e of items)
|
|
@@ -861,13 +861,13 @@ ${body2 !== '(상세 내용을 여기에 추가)' ? body2 : '(상세 없음)'}`;
|
|
|
861
861
|
for (const entry of newItems) {
|
|
862
862
|
const importantTag = entry.important ? ' [important]' : '';
|
|
863
863
|
p += `- [${entry.id}] [${entry.date}] [${this.getPrimaryTag(entry)}]${importantTag} ${entry.summary}`;
|
|
864
|
-
if (entry.body && entry.body !== '(
|
|
864
|
+
if (entry.body && entry.body !== '(Add details here)') {
|
|
865
865
|
p += ` — ${entry.body.slice(0, 200)}`;
|
|
866
866
|
}
|
|
867
867
|
p += ` (file: entries/${entry.file})\n`;
|
|
868
868
|
}
|
|
869
869
|
p += `\n## Instructions:\n`;
|
|
870
|
-
p += `- Group by topic, each topic as ## heading with entry count and date range, e.g. "## mcp-http (4
|
|
870
|
+
p += `- Group by topic, each topic as ## heading with entry count and date range, e.g. "## mcp-http (4 items, 01/28~02/14)"\n`;
|
|
871
871
|
p += `- Write concise Korean summary per topic (2-5 sentences)\n`;
|
|
872
872
|
p += `- After each topic summary, list relevant entry file links as "→ [entries/filename](entries/filename)"\n`;
|
|
873
873
|
p += `- Highlight key decisions, insights, and action items\n`;
|
|
@@ -917,26 +917,26 @@ ${body2 !== '(상세 내용을 여기에 추가)' ? body2 : '(상세 없음)'}`;
|
|
|
917
917
|
summarize(agentId, options = {}) {
|
|
918
918
|
const entries = this.loadAllEntries(agentId);
|
|
919
919
|
if (entries.length === 0) {
|
|
920
|
-
console.log('
|
|
920
|
+
console.log('No memories found.');
|
|
921
921
|
return;
|
|
922
922
|
}
|
|
923
|
-
console.log(`📝
|
|
923
|
+
console.log(`📝 Starting summary generation (${entries.length} items entries)\n`);
|
|
924
924
|
const result = this.generateSummary(agentId, { force: options.force });
|
|
925
925
|
if (result.status === 'up-to-date') {
|
|
926
|
-
console.log('✅ summary.md
|
|
926
|
+
console.log('✅ summary.md is up to date.');
|
|
927
927
|
}
|
|
928
928
|
else if (result.status === 'fallback') {
|
|
929
|
-
console.log(`📋
|
|
929
|
+
console.log(`📋 Fallback summary generated (AI call failed)`);
|
|
930
930
|
}
|
|
931
931
|
else if (result.status === 'updated') {
|
|
932
|
-
console.log(`🤖
|
|
932
|
+
console.log(`🤖 Summary complete (${result.newEntries} items applied)`);
|
|
933
933
|
}
|
|
934
|
-
console.log(`
|
|
935
|
-
console.log(`
|
|
934
|
+
console.log(` File: data/${agentId}/summary.md`);
|
|
935
|
+
console.log(` entries: ${result.entryCount} items`);
|
|
936
936
|
}
|
|
937
937
|
summarizeDirty() {
|
|
938
938
|
if (!fs_1.default.existsSync(this.dataDir)) {
|
|
939
|
-
console.log(`💡
|
|
939
|
+
console.log(`💡 Register debounce cron:`);
|
|
940
940
|
console.log(`npx cron add "*/1 * * * *" "npx memory summarize-dirty" --mode command --name "memory-debounce"`);
|
|
941
941
|
return;
|
|
942
942
|
}
|
|
@@ -951,42 +951,42 @@ ${body2 !== '(상세 내용을 여기에 추가)' ? body2 : '(상세 없음)'}`;
|
|
|
951
951
|
try {
|
|
952
952
|
const result = this.generateSummary(agentId);
|
|
953
953
|
if (result.status === 'updated') {
|
|
954
|
-
console.log(`🤖 ${agentId} summary.md
|
|
954
|
+
console.log(`🤖 ${agentId} summary.md updated (${result.newEntries} items applied)`);
|
|
955
955
|
}
|
|
956
956
|
else if (result.status === 'fallback') {
|
|
957
|
-
console.log(`📋 ${agentId}
|
|
957
|
+
console.log(`📋 ${agentId} Fallback summary generated (AI call failed)`);
|
|
958
958
|
}
|
|
959
959
|
else if (result.status === 'up-to-date') {
|
|
960
|
-
console.log(`✅ ${agentId} summary.md
|
|
960
|
+
console.log(`✅ ${agentId} summary.md is up to date.`);
|
|
961
961
|
}
|
|
962
962
|
else if (result.status === 'empty') {
|
|
963
|
-
console.log(`ℹ️ ${agentId}
|
|
963
|
+
console.log(`ℹ️ ${agentId} has no memories to summarize.`);
|
|
964
964
|
}
|
|
965
965
|
fs_1.default.unlinkSync(dirtyPath);
|
|
966
966
|
}
|
|
967
967
|
catch (e) {
|
|
968
|
-
console.error(`❌ ${agentId} summary.md
|
|
968
|
+
console.error(`❌ ${agentId} summary.md update failed: ${e.message}`);
|
|
969
969
|
}
|
|
970
970
|
}
|
|
971
|
-
console.log(`💡
|
|
971
|
+
console.log(`💡 Register debounce cron:`);
|
|
972
972
|
console.log(`npx cron add "*/1 * * * *" "npx memory summarize-dirty" --mode command --name "memory-debounce"`);
|
|
973
973
|
}
|
|
974
974
|
search(agentId, query) {
|
|
975
975
|
const entries = this.loadAllEntries(agentId);
|
|
976
976
|
if (entries.length === 0) {
|
|
977
|
-
console.log('
|
|
977
|
+
console.log('No memories found.');
|
|
978
978
|
return;
|
|
979
979
|
}
|
|
980
980
|
const memoryList = entries
|
|
981
981
|
.map((e) => `[${e.id}] [${e.date}] [${this.getPrimaryTag(e)}] ${e.summary}`)
|
|
982
982
|
.join('\n');
|
|
983
|
-
const task =
|
|
983
|
+
const task = `Memory list:\n${memoryList}\n\nQuestion: "${query}"`;
|
|
984
984
|
try {
|
|
985
|
-
console.log(`🔍 "${query}"
|
|
985
|
+
console.log(`🔍 "${query}" searching... (${this.searcherAgent})\n`);
|
|
986
986
|
const result = (0, child_process_1.execSync)(`${CREWX_CLI} q "${this.searcherAgent} ${task.replace(/"/g, '\\"').replace(/\n/g, ' ')}"`, { encoding: 'utf-8', timeout: this.searcherTimeout, stdio: ['pipe', 'pipe', 'pipe'] });
|
|
987
987
|
const parsed = parseCrewxResponse(result);
|
|
988
988
|
if (parsed) {
|
|
989
|
-
console.log(`## 🧠
|
|
989
|
+
console.log(`## 🧠 Semantic search results\n`);
|
|
990
990
|
console.log(parsed);
|
|
991
991
|
}
|
|
992
992
|
else {
|
|
@@ -996,12 +996,12 @@ ${body2 !== '(상세 내용을 여기에 추가)' ? body2 : '(상세 없음)'}`;
|
|
|
996
996
|
catch (error) {
|
|
997
997
|
const err = error;
|
|
998
998
|
if (err.code === 'ETIMEDOUT' || err.killed) {
|
|
999
|
-
console.log('
|
|
999
|
+
console.log('Search failed: timed out (max 5 minutes)');
|
|
1000
1000
|
}
|
|
1001
1001
|
else {
|
|
1002
|
-
console.log('
|
|
1002
|
+
console.log('Search failed:', err.message);
|
|
1003
1003
|
}
|
|
1004
|
-
console.log('\n💡 Tip:
|
|
1004
|
+
console.log('\n💡 Tip: try keyword search with the find command.');
|
|
1005
1005
|
}
|
|
1006
1006
|
}
|
|
1007
1007
|
}
|