abmind 0.1.3 → 0.1.5-alpha.1

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.
Files changed (191) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +90 -61
  3. package/config/.env.memory.example +114 -0
  4. package/dist/cli/abmind-backup.js +10 -10
  5. package/dist/cli/abmind-backup.js.map +1 -1
  6. package/dist/cli/abmind-bundle.js +4 -0
  7. package/dist/cli/abmind-bundle.js.map +1 -1
  8. package/dist/cli/abmind-hook-notification.d.ts +6 -0
  9. package/dist/cli/abmind-hook-notification.d.ts.map +1 -0
  10. package/dist/cli/abmind-hook-notification.js +56 -0
  11. package/dist/cli/abmind-hook-notification.js.map +1 -0
  12. package/dist/cli/abmind-hook-postToolUse.d.ts +10 -0
  13. package/dist/cli/abmind-hook-postToolUse.d.ts.map +1 -0
  14. package/dist/cli/abmind-hook-postToolUse.js +85 -0
  15. package/dist/cli/abmind-hook-postToolUse.js.map +1 -0
  16. package/dist/cli/abmind-hook-postcompact.d.ts +9 -0
  17. package/dist/cli/abmind-hook-postcompact.d.ts.map +1 -0
  18. package/dist/cli/abmind-hook-postcompact.js +64 -0
  19. package/dist/cli/abmind-hook-postcompact.js.map +1 -0
  20. package/dist/cli/abmind-hook-postuserprompt.d.ts +7 -0
  21. package/dist/cli/abmind-hook-postuserprompt.d.ts.map +1 -0
  22. package/dist/cli/abmind-hook-postuserprompt.js +69 -0
  23. package/dist/cli/abmind-hook-postuserprompt.js.map +1 -0
  24. package/dist/cli/abmind-hook-preToolUse.d.ts +10 -0
  25. package/dist/cli/abmind-hook-preToolUse.d.ts.map +1 -0
  26. package/dist/cli/abmind-hook-preToolUse.js +61 -0
  27. package/dist/cli/abmind-hook-preToolUse.js.map +1 -0
  28. package/dist/cli/abmind-hook-precompact.d.ts +7 -0
  29. package/dist/cli/abmind-hook-precompact.d.ts.map +1 -0
  30. package/dist/cli/abmind-hook-precompact.js +63 -0
  31. package/dist/cli/abmind-hook-precompact.js.map +1 -0
  32. package/dist/cli/abmind-hook-preuserprompt.d.ts +16 -0
  33. package/dist/cli/abmind-hook-preuserprompt.d.ts.map +1 -0
  34. package/dist/cli/abmind-hook-preuserprompt.js +125 -0
  35. package/dist/cli/abmind-hook-preuserprompt.js.map +1 -0
  36. package/dist/cli/abmind-hook-store.js +26 -3
  37. package/dist/cli/abmind-hook-store.js.map +1 -1
  38. package/dist/cli/abmind-hook-subagentstart.d.ts +6 -0
  39. package/dist/cli/abmind-hook-subagentstart.d.ts.map +1 -0
  40. package/dist/cli/abmind-hook-subagentstart.js +56 -0
  41. package/dist/cli/abmind-hook-subagentstart.js.map +1 -0
  42. package/dist/cli/abmind-hook-subagentstop.d.ts +6 -0
  43. package/dist/cli/abmind-hook-subagentstop.d.ts.map +1 -0
  44. package/dist/cli/abmind-hook-subagentstop.js +58 -0
  45. package/dist/cli/abmind-hook-subagentstop.js.map +1 -0
  46. package/dist/cli/abmind-hook-toolfailure.d.ts +7 -0
  47. package/dist/cli/abmind-hook-toolfailure.d.ts.map +1 -0
  48. package/dist/cli/abmind-hook-toolfailure.js +66 -0
  49. package/dist/cli/abmind-hook-toolfailure.js.map +1 -0
  50. package/dist/cli/abmind-hook-wakeup.js +10 -0
  51. package/dist/cli/abmind-hook-wakeup.js.map +1 -1
  52. package/dist/cli/abmind-install.js +251 -11
  53. package/dist/cli/abmind-install.js.map +1 -1
  54. package/dist/cli/abmind-restore.d.ts +1 -1
  55. package/dist/cli/abmind-restore.js +14 -36
  56. package/dist/cli/abmind-restore.js.map +1 -1
  57. package/dist/cli/abmind-retro-extract.js +41 -5
  58. package/dist/cli/abmind-retro-extract.js.map +1 -1
  59. package/dist/cli/abmind-sleep-state.js +1 -1
  60. package/dist/cli/abmind-sleep-state.js.map +1 -1
  61. package/dist/cli/abmind.js +2 -0
  62. package/dist/cli/abmind.js.map +1 -1
  63. package/dist/src/backup.d.ts +3 -1
  64. package/dist/src/backup.d.ts.map +1 -1
  65. package/dist/src/backup.js +11 -4
  66. package/dist/src/backup.js.map +1 -1
  67. package/dist/src/context-engine.d.ts +1 -1
  68. package/dist/src/context-engine.d.ts.map +1 -1
  69. package/dist/src/context-engine.js +1 -1
  70. package/dist/src/context-engine.js.map +1 -1
  71. package/dist/src/context-orchestrator.js +3 -3
  72. package/dist/src/context-orchestrator.js.map +1 -1
  73. package/dist/src/crypto.d.ts +6 -0
  74. package/dist/src/crypto.d.ts.map +1 -1
  75. package/dist/src/crypto.js +100 -17
  76. package/dist/src/crypto.js.map +1 -1
  77. package/dist/src/ensure-initialized.d.ts +1 -1
  78. package/dist/src/ensure-initialized.js +1 -1
  79. package/dist/src/env-schema.d.ts +2 -0
  80. package/dist/src/env-schema.d.ts.map +1 -1
  81. package/dist/src/env-schema.js +3 -1
  82. package/dist/src/env-schema.js.map +1 -1
  83. package/dist/src/index.d.ts +5 -2
  84. package/dist/src/index.d.ts.map +1 -1
  85. package/dist/src/index.js +5 -2
  86. package/dist/src/index.js.map +1 -1
  87. package/dist/src/keyring.d.ts +9 -0
  88. package/dist/src/keyring.d.ts.map +1 -0
  89. package/dist/src/keyring.js +60 -0
  90. package/dist/src/keyring.js.map +1 -0
  91. package/dist/src/mem-types.d.ts +1 -1
  92. package/dist/src/mem-types.d.ts.map +1 -1
  93. package/dist/src/memory-backend.d.ts +3 -0
  94. package/dist/src/memory-backend.d.ts.map +1 -1
  95. package/dist/src/memory-config.js +1 -1
  96. package/dist/src/memory-config.js.map +1 -1
  97. package/dist/src/memory-db.d.ts +1 -6
  98. package/dist/src/memory-db.d.ts.map +1 -1
  99. package/dist/src/memory-db.js +7 -1
  100. package/dist/src/memory-db.js.map +1 -1
  101. package/dist/src/memory-editor.d.ts +1 -0
  102. package/dist/src/memory-editor.d.ts.map +1 -1
  103. package/dist/src/memory-editor.js +17 -16
  104. package/dist/src/memory-editor.js.map +1 -1
  105. package/dist/src/memory-ipc-client.d.ts +3 -0
  106. package/dist/src/memory-ipc-client.d.ts.map +1 -1
  107. package/dist/src/memory-ipc-client.js +4 -0
  108. package/dist/src/memory-ipc-client.js.map +1 -1
  109. package/dist/src/message-store.js +1 -1
  110. package/dist/src/message-store.js.map +1 -1
  111. package/dist/src/recall-benchmark.js +4 -2
  112. package/dist/src/recall-benchmark.js.map +1 -1
  113. package/dist/src/redact-secrets.d.ts.map +1 -1
  114. package/dist/src/redact-secrets.js +3 -0
  115. package/dist/src/redact-secrets.js.map +1 -1
  116. package/dist/src/session-context.d.ts +6 -5
  117. package/dist/src/session-context.d.ts.map +1 -1
  118. package/dist/src/session-context.js +134 -66
  119. package/dist/src/session-context.js.map +1 -1
  120. package/dist/src/sleep/levels.d.ts +7 -6
  121. package/dist/src/sleep/levels.d.ts.map +1 -1
  122. package/dist/src/sleep/levels.js.map +1 -1
  123. package/dist/src/sleep/orchestrator.d.ts +1 -1
  124. package/dist/src/sleep/orchestrator.d.ts.map +1 -1
  125. package/dist/src/sleep/orchestrator.js +80 -38
  126. package/dist/src/sleep/orchestrator.js.map +1 -1
  127. package/dist/src/sleep/sleep-daily-summary.d.ts +6 -2
  128. package/dist/src/sleep/sleep-daily-summary.d.ts.map +1 -1
  129. package/dist/src/sleep/sleep-daily-summary.js +34 -12
  130. package/dist/src/sleep/sleep-daily-summary.js.map +1 -1
  131. package/dist/src/sleep/sleep-extract-daily.d.ts.map +1 -1
  132. package/dist/src/sleep/sleep-extract-daily.js +3 -0
  133. package/dist/src/sleep/sleep-extract-daily.js.map +1 -1
  134. package/dist/src/sleep/sleep-prompt-loader.js +3 -3
  135. package/dist/src/sleep/sleep-prompt-loader.js.map +1 -1
  136. package/dist/src/sleep-data-access.d.ts +4 -2
  137. package/dist/src/sleep-data-access.d.ts.map +1 -1
  138. package/dist/src/sleep-data-access.js +49 -13
  139. package/dist/src/sleep-data-access.js.map +1 -1
  140. package/dist/src/sqlite-backend.d.ts +3 -0
  141. package/dist/src/sqlite-backend.d.ts.map +1 -1
  142. package/dist/src/sqlite-backend.js +3 -0
  143. package/dist/src/sqlite-backend.js.map +1 -1
  144. package/dist/src/status-block.d.ts +7 -0
  145. package/dist/src/status-block.d.ts.map +1 -0
  146. package/dist/src/status-block.js +67 -0
  147. package/dist/src/status-block.js.map +1 -0
  148. package/dist/src/wake-up-renderer.d.ts +0 -5
  149. package/dist/src/wake-up-renderer.d.ts.map +1 -1
  150. package/dist/src/wake-up-renderer.js +0 -34
  151. package/dist/src/wake-up-renderer.js.map +1 -1
  152. package/package.json +6 -3
  153. package/prompts/sleep/03-retrospective.md +23 -0
  154. package/prompts/sleep/04-extract-memories.md +3 -0
  155. package/prompts/sleep/06-retro-derive.md +39 -0
  156. package/prompts/sleep/08-memory-maintenance.md +39 -0
  157. package/prompts/sleep/{13-consolidation.md → 11-consolidation.md} +4 -1
  158. package/templates/core/SOUL.md +24 -0
  159. package/templates/core/agent_notes.md +7 -0
  160. package/templates/core/core_facts.md +10 -0
  161. package/templates/core/memory-tools.md +43 -0
  162. package/templates/core/user_profile.md +7 -0
  163. package/templates/with-abmind-hooks.json +26 -0
  164. package/dist/cli/abmind-backfill.d.ts +0 -3
  165. package/dist/cli/abmind-backfill.d.ts.map +0 -1
  166. package/dist/cli/abmind-backfill.js +0 -64
  167. package/dist/cli/abmind-backfill.js.map +0 -1
  168. package/dist/cli/abmind-memory-stats.d.ts +0 -3
  169. package/dist/cli/abmind-memory-stats.d.ts.map +0 -1
  170. package/dist/cli/abmind-memory-stats.js +0 -45
  171. package/dist/cli/abmind-memory-stats.js.map +0 -1
  172. package/dist/cli/abmind-reset.d.ts +0 -11
  173. package/dist/cli/abmind-reset.d.ts.map +0 -1
  174. package/dist/cli/abmind-reset.js +0 -143
  175. package/dist/cli/abmind-reset.js.map +0 -1
  176. package/dist/cli/abmind-status.d.ts +0 -3
  177. package/dist/cli/abmind-status.d.ts.map +0 -1
  178. package/dist/cli/abmind-status.js +0 -45
  179. package/dist/cli/abmind-status.js.map +0 -1
  180. package/prompts/sleep/03-extract-from-daily.md +0 -3
  181. package/prompts/sleep/04-retrospective.md +0 -30
  182. package/prompts/sleep/07-topic-assignment.md +0 -23
  183. package/prompts/sleep/08-core-promotion.md +0 -26
  184. package/prompts/sleep/09-merge.md +0 -19
  185. package/prompts/sleep/12-core-knowledge.md +0 -14
  186. package/prompts/sleep/14-emotion-context.md +0 -17
  187. /package/prompts/sleep/{15-contradiction-and-graph.md → 05-contradiction-and-graph.md} +0 -0
  188. /package/prompts/sleep/{06-feedback.md → 07-feedback.md} +0 -0
  189. /package/prompts/sleep/{10-translation.md → 09-translation.md} +0 -0
  190. /package/prompts/sleep/{11-skill-review.md → 10-skill-review.md} +0 -0
  191. /package/prompts/sleep/{16-rem-synthesis.md → 12-rem-synthesis.md} +0 -0
@@ -1,45 +0,0 @@
1
- #!/usr/bin/env node
2
- /** abmind memory-stats — Show memory system stats. */
3
- import { runCliRaw } from "../src/cli-runner-raw.js";
4
- import { loadMemoryConfig } from "../src/memory-config.js";
5
- import { MemoryManager } from "../src/memory-manager.js";
6
- await runCliRaw(import.meta.url, {
7
- name: "abmind-memory-stats",
8
- help: `Usage:
9
- abmind memory-stats
10
-
11
- Prints memory-system stats: message count, memory count, DB size,
12
- heartbeat state, per-type breakdown, consolidation-file counts.`,
13
- flags: [],
14
- handler: async () => {
15
- const memory = new MemoryManager(loadMemoryConfig());
16
- await memory.initialize({ skipEmbeddingCheck: true });
17
- try {
18
- const stats = memory.getStats();
19
- if (!stats) {
20
- console.error("Memory not initialized");
21
- process.exitCode = 1;
22
- return;
23
- }
24
- console.log(`Memory Status
25
- ─────────────
26
- Messages: ${stats.totalMessages}
27
- Memories: ${stats.extractedMemories}
28
- DB size: ${(stats.dbSizeBytes / 1024 / 1024).toFixed(1)} MB
29
- Heartbeat: ${stats.heartbeatRunning ? "running" : "stopped"}
30
-
31
- By type:`);
32
- for (const [type, count] of Object.entries(stats.extractedByType)) {
33
- console.log(` ${type}: ${count}`);
34
- }
35
- console.log(`\nConsolidation files:
36
- Daily: ${stats.consolidationFiles.daily}
37
- Weekly: ${stats.consolidationFiles.weekly}
38
- Quarterly: ${stats.consolidationFiles.quarterly}`);
39
- }
40
- finally {
41
- memory.close();
42
- }
43
- },
44
- });
45
- //# sourceMappingURL=abmind-memory-stats.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abmind-memory-stats.js","sourceRoot":"","sources":["../../cli/abmind-memory-stats.ts"],"names":[],"mappings":";AACA,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAC/B,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE;;;;gEAIwD;IAC9D,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEtF,OAAO,CAAC,GAAG,CAAC;;gBAEF,KAAK,CAAC,aAAa;gBACnB,KAAK,CAAC,iBAAiB;gBACvB,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5C,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;;SAErD,CAAC,CAAC;YACL,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC;eACH,KAAK,CAAC,kBAAkB,CAAC,KAAK;eAC9B,KAAK,CAAC,kBAAkB,CAAC,MAAM;eAC/B,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * abmind reset --scope <config|config+data|full>
4
- *
5
- * Mirrors agentbridge reset for the abmind runtime.
6
- * - config — wipe config/ only
7
- * - config+data — wipe config/ + memory/ + topics/
8
- * - full — wipe ~/.abmind/ entirely + remove PATH symlinks we own
9
- */
10
- export {};
11
- //# sourceMappingURL=abmind-reset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abmind-reset.d.ts","sourceRoot":"","sources":["../../cli/abmind-reset.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG"}
@@ -1,143 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * abmind reset --scope <config|config+data|full>
4
- *
5
- * Mirrors agentbridge reset for the abmind runtime.
6
- * - config — wipe config/ only
7
- * - config+data — wipe config/ + memory/ + topics/
8
- * - full — wipe ~/.abmind/ entirely + remove PATH symlinks we own
9
- */
10
- import { mkdir } from 'node:fs/promises';
11
- import { createInterface } from 'node:readline/promises';
12
- import { basename, dirname, join } from 'node:path';
13
- import { isUnsafeRemovalTarget, packagePaths, readManifest, removePath, resolveUserBinDir, safeCopyTree } from '../src/deploy-lib/index.js';
14
- const OWNED_PATH_LINKS = ['abmind', 'abmind-embed'];
15
- function scopePaths(home, scope) {
16
- if (scope === 'config')
17
- return [join(home, 'config')];
18
- if (scope === 'config+data') {
19
- return [join(home, 'config'), join(home, 'memory'), join(home, 'topics')];
20
- }
21
- return [home];
22
- }
23
- async function promptYesNo(q) {
24
- const rl = createInterface({ input: process.stdin, output: process.stdout });
25
- try {
26
- const a = (await rl.question(`${q} [y/N] `)).trim().toLowerCase();
27
- return a === 'y' || a === 'yes';
28
- }
29
- finally {
30
- rl.close();
31
- }
32
- }
33
- async function removePathLinks(dryRun) {
34
- const userBinDir = resolveUserBinDir();
35
- const paths = packagePaths('abmind');
36
- const { lstat, readlink, unlink } = await import('node:fs/promises');
37
- const removed = [];
38
- for (const name of OWNED_PATH_LINKS) {
39
- const link = join(userBinDir, name);
40
- const expectedTarget = join(paths.bin, name);
41
- try {
42
- const s = await lstat(link);
43
- if (!s.isSymbolicLink())
44
- continue;
45
- const target = await readlink(link);
46
- // Exact-match only. Don't clobber a symlink to a DIFFERENT install
47
- // just because both paths contain '.abmind/bin/'.
48
- if (target !== expectedTarget)
49
- continue;
50
- if (dryRun)
51
- removed.push(`[dry-run] rm ${link}`);
52
- else {
53
- await unlink(link);
54
- removed.push(link);
55
- }
56
- }
57
- catch (err) {
58
- if (err.code !== 'ENOENT')
59
- throw err;
60
- }
61
- }
62
- return removed;
63
- }
64
- function parseFlags(argv) {
65
- const scope = argv.includes('--scope') ? argv[argv.indexOf('--scope') + 1] : undefined;
66
- return {
67
- scope,
68
- yes: argv.includes('--yes'),
69
- dryRun: argv.includes('--dry-run'),
70
- nonInteractive: argv.includes('--non-interactive'),
71
- noBackup: argv.includes('--no-backup'),
72
- };
73
- }
74
- async function run() {
75
- const opts = parseFlags(process.argv.slice(3));
76
- if (!opts.scope) {
77
- process.stderr.write(`error: --scope required. One of: config | config+data | full\n`);
78
- return 2;
79
- }
80
- const paths = packagePaths('abmind');
81
- const manifest = await readManifest(paths.manifest);
82
- const targets = scopePaths(paths.home, opts.scope);
83
- for (const t of targets) {
84
- if (isUnsafeRemovalTarget(t)) {
85
- process.stderr.write(`refused: target ${t} is unsafe\n`);
86
- return 3;
87
- }
88
- }
89
- process.stdout.write(`abmind reset --scope ${opts.scope}${opts.dryRun ? ' (DRY-RUN)' : ''}\n`);
90
- if (manifest)
91
- process.stdout.write(` current: ${manifest.version || '(unset)'}\n`);
92
- for (const t of targets)
93
- process.stdout.write(` - ${t}\n`);
94
- if (opts.scope === 'full') {
95
- process.stdout.write(` plus PATH symlinks:\n`);
96
- for (const n of OWNED_PATH_LINKS)
97
- process.stdout.write(` - ${join(resolveUserBinDir(), n)}\n`);
98
- }
99
- if (!opts.dryRun) {
100
- if (opts.yes) {
101
- // proceed
102
- }
103
- else if (opts.nonInteractive) {
104
- process.stderr.write(`refused: --non-interactive requires --yes for destructive ops\n`);
105
- return 4;
106
- }
107
- else {
108
- if (!(await promptYesNo('Proceed?'))) {
109
- process.stdout.write(`aborted\n`);
110
- return 1;
111
- }
112
- }
113
- }
114
- if (opts.scope === 'full' && !opts.noBackup && !opts.dryRun) {
115
- const ts = new Date().toISOString().replace(/[:.]/g, '-');
116
- const backup = join(dirname(paths.home), `${basename(paths.home)}.reset-${ts}.bak`);
117
- // safeCopyTree skips sockets/FIFOs — real ~/.abmind has memory.sock.
118
- await safeCopyTree(paths.home, backup, { preserveTimestamps: true });
119
- process.stdout.write(`✓ backup at ${backup}\n`);
120
- }
121
- for (const t of targets) {
122
- const removed = await removePath(t, { dryRun: opts.dryRun });
123
- process.stdout.write(`${opts.dryRun ? '[dry-run] ' : ''}${removed ? '✓' : '·'} ${t}\n`);
124
- }
125
- if (opts.scope === 'full') {
126
- const linksRemoved = await removePathLinks(opts.dryRun);
127
- for (const l of linksRemoved)
128
- process.stdout.write(`✓ ${l}\n`);
129
- }
130
- process.stdout.write(`\nabmind reset complete.\n`);
131
- // Quiet unused-import checker.
132
- void mkdir;
133
- return 0;
134
- }
135
- try {
136
- const exitCode = await run();
137
- process.exit(exitCode);
138
- }
139
- catch (err) {
140
- process.stderr.write(`error: ${err instanceof Error ? err.message : String(err)}\n`);
141
- process.exit(1);
142
- }
143
- //# sourceMappingURL=abmind-reset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abmind-reset.js","sourceRoot":"","sources":["../../cli/abmind-reset.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=abmind-status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abmind-status.d.ts","sourceRoot":"","sources":["../../cli/abmind-status.ts"],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- #!/usr/bin/env node
2
- /** abmind status — Show memory system stats. */
3
- import { runCliRaw } from "../src/cli-runner-raw.js";
4
- import { loadMemoryConfig } from "../src/memory-config.js";
5
- import { MemoryManager } from "../src/memory-manager.js";
6
- await runCliRaw(import.meta.url, {
7
- name: "abmind-status",
8
- help: `Usage:
9
- abmind status
10
-
11
- Prints memory-system stats: message count, memory count, DB size,
12
- heartbeat state, per-type breakdown, consolidation-file counts.`,
13
- flags: [],
14
- handler: async () => {
15
- const memory = new MemoryManager(loadMemoryConfig());
16
- await memory.initialize({ skipEmbeddingCheck: true });
17
- try {
18
- const stats = memory.getStats();
19
- if (!stats) {
20
- console.error("Memory not initialized");
21
- process.exitCode = 1;
22
- return;
23
- }
24
- console.log(`Memory Status
25
- ─────────────
26
- Messages: ${stats.totalMessages}
27
- Memories: ${stats.extractedMemories}
28
- DB size: ${(stats.dbSizeBytes / 1024 / 1024).toFixed(1)} MB
29
- Heartbeat: ${stats.heartbeatRunning ? "running" : "stopped"}
30
-
31
- By type:`);
32
- for (const [type, count] of Object.entries(stats.extractedByType)) {
33
- console.log(` ${type}: ${count}`);
34
- }
35
- console.log(`\nConsolidation files:
36
- Daily: ${stats.consolidationFiles.daily}
37
- Weekly: ${stats.consolidationFiles.weekly}
38
- Quarterly: ${stats.consolidationFiles.quarterly}`);
39
- }
40
- finally {
41
- memory.close();
42
- }
43
- },
44
- });
45
- //# sourceMappingURL=abmind-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abmind-status.js","sourceRoot":"","sources":["../../cli/abmind-status.ts"],"names":[],"mappings":";AACA,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAC/B,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE;;;;gEAIwD;IAC9D,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEtF,OAAO,CAAC,GAAG,CAAC;;gBAEF,KAAK,CAAC,aAAa;gBACnB,KAAK,CAAC,iBAAiB;gBACvB,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5C,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;;SAErD,CAAC,CAAC;YACL,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC;eACH,KAAK,CAAC,kBAAkB,CAAC,KAAK;eAC9B,KAAK,CAAC,kBAAkB,CAAC,MAAM;eAC/B,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- # Extract From Daily
2
-
3
- This step is code-driven. The orchestrator handles extraction.
@@ -1,30 +0,0 @@
1
- # Daily Retrospective + Memory Extraction
2
-
3
- Write a daily retrospective based on today's conversations, then extract lasting memories from it.
4
-
5
- ## Pre-loaded data
6
-
7
- Today's clean messages:
8
- ${CLEAN_MESSAGES}
9
-
10
- ## Task 1: Write Retrospective
11
-
12
- Write a retrospective covering:
13
-
14
- 1. **What happened** — key events, tasks, decisions made today.
15
- 2. **Emotional attribution** — how the user seemed to feel during different interactions. Note shifts in tone or energy.
16
- 3. **Lessons** — what went well, what didn't, what to do differently.
17
- 4. **Recurring errors** — check if any errors appeared multiple times today and were fixed the same way. If so, note: "Recurring: [error] was fixed by [action] — consider adding as auto-fix rule via `abtars-autofix add`."
18
- 5. **Agent notes update** — if anything learned today should persist (user preferences, project context, recurring patterns), update `agent_notes.md` via `abmind edit`.
19
-
20
- Write the retrospective to `${RETRO_PATH}`.
21
-
22
- ## Task 2: Extract Memories from Retrospective
23
-
24
- From the retrospective you just wrote, extract lessons, mistakes, and insights as permanent memories:
25
-
26
- 1. For each candidate, run `abmind recall` with the key phrase to check for duplicates.
27
- 2. If no duplicate exists, store via `abmind store`.
28
- 3. If a mistake repeats a previously stored mistake, store it with escalated emotion score (`-2` from previous).
29
-
30
- Respond with a brief confirmation of what was written to the retro file, followed by the count of memories stored.
@@ -1,23 +0,0 @@
1
- # Topic Assignment
2
-
3
- Assign topics to untagged memories.
4
-
5
- ## Pre-loaded data
6
-
7
- Untagged memories:
8
- ${UNTAGGED_MEMORIES}
9
-
10
- ## Topics
11
-
12
- `coding`, `personal`, `work`, `finance`, `health`, `projects`, `tools`, `people`
13
-
14
- ## Task
15
-
16
- For each memory, read its content and assign the most fitting topic AND 3-5 search keywords (synonyms a user might query with):
17
- ```
18
- abmind edit --memory-id N --topic <topic> --keyword "synonym1, synonym2, synonym3"
19
- ```
20
-
21
- If a memory spans multiple topics, pick the primary one.
22
-
23
- Respond with the assignments made.
@@ -1,26 +0,0 @@
1
- # Core Promotion
2
-
3
- Promote worthy general-tier memories to core tier.
4
-
5
- ## Pre-loaded data
6
-
7
- Promotion candidates (high relevance, frequently recalled):
8
- ${PROMOTION_CANDIDATES}
9
-
10
- ${CONTRADICTION_WARNINGS}
11
-
12
- ## Constraints
13
-
14
- - Budget: 100 core entries max. Do not exceed.
15
- - Only promote memories that represent enduring facts, strong preferences, or critical context.
16
- - Do not promote transient or time-bound information.
17
- - If a contradiction is flagged: invalidate the older memory (`abmind edit --memory-id <older> --valid-to <today>`) before promoting the newer one.
18
-
19
- ## Task
20
-
21
- For each worthy candidate:
22
- ```
23
- abmind edit --memory-id N --tier core
24
- ```
25
-
26
- Respond with the list of promotions made.
@@ -1,19 +0,0 @@
1
- # Memory Merge
2
-
3
- Review near-duplicate memory pairs and merge or invalidate.
4
-
5
- ## Pre-loaded data
6
-
7
- Candidate pairs (similar content, same topic):
8
- ${MERGE_CANDIDATES}
9
-
10
- ## Rules
11
-
12
- - Max 5 merges per run.
13
- - If both express the same fact: `abmind store --merge --merge-ids A,B`
14
- - If one contradicts the other: invalidate the older one via `abmind edit --memory-id <older> --valid-to <today>`
15
- - If they are related but distinct, skip.
16
-
17
- ## Task
18
-
19
- Review each pair and act accordingly. Respond with merges and invalidations performed.
@@ -1,14 +0,0 @@
1
- # Core Knowledge Review
2
-
3
- Review and maintain `agent_notes.md` and `user_profile.md`.
4
-
5
- **SOUL.md is read-only** — never modify it. Identity is human-managed.
6
-
7
- ## Task
8
-
9
- 1. Read `agent_notes.md` and `user_profile.md`.
10
- 2. Remove entries that are outdated or no longer accurate.
11
- 3. Update entries that have become stale based on recent interactions.
12
- 4. Keep files concise — no redundancy.
13
-
14
- Respond with changes made.
@@ -1,17 +0,0 @@
1
- # Emotion Context
2
-
3
- Infer emotional context for memories that have emotion tags but no context explaining why.
4
-
5
- ## Pre-loaded data
6
-
7
- Memories with emotion tags but missing emotion_context:
8
- ${EMOTION_CONTEXT_GAPS}
9
-
10
- ## Task
11
-
12
- For each memory:
13
- 1. Read the content and emotion tags.
14
- 2. Infer WHY the emotion applies in 3–5 words (e.g., "frustrated by repeated bug", "proud of shipping fast").
15
- 3. Apply: `abmind edit --memory-id N --emotion-context "reason"`
16
-
17
- Respond with the count of contexts added.