abmind 0.0.1 → 0.1.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 (533) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/LICENSE +190 -0
  3. package/README.md +191 -0
  4. package/dist/cli/abmind-backfill.d.ts +3 -0
  5. package/dist/cli/abmind-backfill.d.ts.map +1 -0
  6. package/dist/cli/abmind-backfill.js +64 -0
  7. package/dist/cli/abmind-backfill.js.map +1 -0
  8. package/dist/cli/abmind-backup.d.ts +5 -0
  9. package/dist/cli/abmind-backup.d.ts.map +1 -0
  10. package/dist/cli/abmind-backup.js +44 -0
  11. package/dist/cli/abmind-backup.js.map +1 -0
  12. package/dist/cli/abmind-bundle.d.ts +7 -0
  13. package/dist/cli/abmind-bundle.d.ts.map +1 -0
  14. package/dist/cli/abmind-bundle.js +17 -0
  15. package/dist/cli/abmind-bundle.js.map +1 -0
  16. package/dist/cli/abmind-edit.d.ts +10 -0
  17. package/dist/cli/abmind-edit.d.ts.map +1 -0
  18. package/dist/cli/abmind-edit.js +160 -0
  19. package/dist/cli/abmind-edit.js.map +1 -0
  20. package/dist/cli/abmind-embed.d.ts +3 -0
  21. package/dist/cli/abmind-embed.d.ts.map +1 -0
  22. package/dist/cli/abmind-embed.js +83 -0
  23. package/dist/cli/abmind-embed.js.map +1 -0
  24. package/dist/cli/abmind-expand.d.ts +6 -0
  25. package/dist/cli/abmind-expand.d.ts.map +1 -0
  26. package/dist/cli/abmind-expand.js +100 -0
  27. package/dist/cli/abmind-expand.js.map +1 -0
  28. package/dist/cli/abmind-hook-doctor.d.ts +8 -0
  29. package/dist/cli/abmind-hook-doctor.d.ts.map +1 -0
  30. package/dist/cli/abmind-hook-doctor.js +73 -0
  31. package/dist/cli/abmind-hook-doctor.js.map +1 -0
  32. package/dist/cli/abmind-hook-recall.d.ts +16 -0
  33. package/dist/cli/abmind-hook-recall.d.ts.map +1 -0
  34. package/dist/cli/abmind-hook-recall.js +123 -0
  35. package/dist/cli/abmind-hook-recall.js.map +1 -0
  36. package/dist/cli/abmind-hook-store.d.ts +17 -0
  37. package/dist/cli/abmind-hook-store.d.ts.map +1 -0
  38. package/dist/cli/abmind-hook-store.js +115 -0
  39. package/dist/cli/abmind-hook-store.js.map +1 -0
  40. package/dist/cli/abmind-hook-wakeup.d.ts +12 -0
  41. package/dist/cli/abmind-hook-wakeup.d.ts.map +1 -0
  42. package/dist/cli/abmind-hook-wakeup.js +143 -0
  43. package/dist/cli/abmind-hook-wakeup.js.map +1 -0
  44. package/dist/cli/abmind-ingest.d.ts +7 -0
  45. package/dist/cli/abmind-ingest.d.ts.map +1 -0
  46. package/dist/cli/abmind-ingest.js +96 -0
  47. package/dist/cli/abmind-ingest.js.map +1 -0
  48. package/dist/cli/abmind-install.d.ts +10 -0
  49. package/dist/cli/abmind-install.d.ts.map +1 -0
  50. package/dist/cli/abmind-install.js +240 -0
  51. package/dist/cli/abmind-install.js.map +1 -0
  52. package/dist/cli/abmind-mcp.d.ts +3 -0
  53. package/dist/cli/abmind-mcp.d.ts.map +1 -0
  54. package/dist/cli/abmind-mcp.js +26 -0
  55. package/dist/cli/abmind-mcp.js.map +1 -0
  56. package/dist/cli/abmind-memory-stats.d.ts +3 -0
  57. package/dist/cli/abmind-memory-stats.d.ts.map +1 -0
  58. package/dist/cli/abmind-memory-stats.js +45 -0
  59. package/dist/cli/abmind-memory-stats.js.map +1 -0
  60. package/dist/cli/abmind-migrate-openclaw.d.ts +12 -0
  61. package/dist/cli/abmind-migrate-openclaw.d.ts.map +1 -0
  62. package/dist/cli/abmind-migrate-openclaw.js +247 -0
  63. package/dist/cli/abmind-migrate-openclaw.js.map +1 -0
  64. package/dist/cli/abmind-recall.d.ts +8 -0
  65. package/dist/cli/abmind-recall.d.ts.map +1 -0
  66. package/dist/cli/abmind-recall.js +94 -0
  67. package/dist/cli/abmind-recall.js.map +1 -0
  68. package/dist/cli/abmind-reset.d.ts +11 -0
  69. package/dist/cli/abmind-reset.d.ts.map +1 -0
  70. package/dist/cli/abmind-reset.js +143 -0
  71. package/dist/cli/abmind-reset.js.map +1 -0
  72. package/dist/cli/abmind-restore.d.ts +5 -0
  73. package/dist/cli/abmind-restore.d.ts.map +1 -0
  74. package/dist/cli/abmind-restore.js +64 -0
  75. package/dist/cli/abmind-restore.js.map +1 -0
  76. package/dist/cli/abmind-retro-extract.d.ts +15 -0
  77. package/dist/cli/abmind-retro-extract.d.ts.map +1 -0
  78. package/dist/cli/abmind-retro-extract.js +113 -0
  79. package/dist/cli/abmind-retro-extract.js.map +1 -0
  80. package/dist/cli/abmind-rollback.d.ts +8 -0
  81. package/dist/cli/abmind-rollback.d.ts.map +1 -0
  82. package/dist/cli/abmind-rollback.js +76 -0
  83. package/dist/cli/abmind-rollback.js.map +1 -0
  84. package/dist/cli/abmind-secrets.d.ts +12 -0
  85. package/dist/cli/abmind-secrets.d.ts.map +1 -0
  86. package/dist/cli/abmind-secrets.js +83 -0
  87. package/dist/cli/abmind-secrets.js.map +1 -0
  88. package/dist/cli/abmind-sleep-apply.d.ts +3 -0
  89. package/dist/cli/abmind-sleep-apply.d.ts.map +1 -0
  90. package/dist/cli/abmind-sleep-apply.js +50 -0
  91. package/dist/cli/abmind-sleep-apply.js.map +1 -0
  92. package/dist/cli/abmind-sleep-report.d.ts +3 -0
  93. package/dist/cli/abmind-sleep-report.d.ts.map +1 -0
  94. package/dist/cli/abmind-sleep-report.js +40 -0
  95. package/dist/cli/abmind-sleep-report.js.map +1 -0
  96. package/dist/cli/abmind-sleep-state.d.ts +3 -0
  97. package/dist/cli/abmind-sleep-state.d.ts.map +1 -0
  98. package/dist/cli/abmind-sleep-state.js +33 -0
  99. package/dist/cli/abmind-sleep-state.js.map +1 -0
  100. package/dist/cli/abmind-sleep.d.ts +14 -0
  101. package/dist/cli/abmind-sleep.d.ts.map +1 -0
  102. package/dist/cli/abmind-sleep.js +186 -0
  103. package/dist/cli/abmind-sleep.js.map +1 -0
  104. package/dist/cli/abmind-status-runtime.d.ts +9 -0
  105. package/dist/cli/abmind-status-runtime.d.ts.map +1 -0
  106. package/dist/cli/abmind-status-runtime.js +132 -0
  107. package/dist/cli/abmind-status-runtime.js.map +1 -0
  108. package/dist/cli/abmind-status.d.ts +3 -0
  109. package/dist/cli/abmind-status.d.ts.map +1 -0
  110. package/dist/cli/abmind-status.js +45 -0
  111. package/dist/cli/abmind-status.js.map +1 -0
  112. package/dist/cli/abmind-store.d.ts +54 -0
  113. package/dist/cli/abmind-store.d.ts.map +1 -0
  114. package/dist/cli/abmind-store.js +251 -0
  115. package/dist/cli/abmind-store.js.map +1 -0
  116. package/dist/cli/abmind-update.d.ts +11 -0
  117. package/dist/cli/abmind-update.d.ts.map +1 -0
  118. package/dist/cli/abmind-update.js +160 -0
  119. package/dist/cli/abmind-update.js.map +1 -0
  120. package/dist/cli/abmind-wakeup.d.ts +3 -0
  121. package/dist/cli/abmind-wakeup.d.ts.map +1 -0
  122. package/dist/cli/abmind-wakeup.js +36 -0
  123. package/dist/cli/abmind-wakeup.js.map +1 -0
  124. package/dist/cli/abmind.d.ts +10 -0
  125. package/dist/cli/abmind.d.ts.map +1 -0
  126. package/dist/cli/abmind.js +100 -0
  127. package/dist/cli/abmind.js.map +1 -0
  128. package/dist/src/abm-v2-vocab.d.ts +10 -0
  129. package/dist/src/abm-v2-vocab.d.ts.map +1 -0
  130. package/dist/src/abm-v2-vocab.js +66 -0
  131. package/dist/src/abm-v2-vocab.js.map +1 -0
  132. package/dist/src/adapters/openclaw.d.ts +66 -0
  133. package/dist/src/adapters/openclaw.d.ts.map +1 -0
  134. package/dist/src/adapters/openclaw.js +97 -0
  135. package/dist/src/adapters/openclaw.js.map +1 -0
  136. package/dist/src/backend-factory.d.ts +9 -0
  137. package/dist/src/backend-factory.d.ts.map +1 -0
  138. package/dist/src/backend-factory.js +23 -0
  139. package/dist/src/backend-factory.js.map +1 -0
  140. package/dist/src/backup.d.ts +19 -0
  141. package/dist/src/backup.d.ts.map +1 -0
  142. package/dist/src/backup.js +191 -0
  143. package/dist/src/backup.js.map +1 -0
  144. package/dist/src/brain-patterns.d.ts +20 -0
  145. package/dist/src/brain-patterns.d.ts.map +1 -0
  146. package/dist/src/brain-patterns.js +72 -0
  147. package/dist/src/brain-patterns.js.map +1 -0
  148. package/dist/src/cli-entry.d.ts +10 -0
  149. package/dist/src/cli-entry.d.ts.map +1 -0
  150. package/dist/src/cli-entry.js +29 -0
  151. package/dist/src/cli-entry.js.map +1 -0
  152. package/dist/src/cli-flags.d.ts +29 -0
  153. package/dist/src/cli-flags.d.ts.map +1 -0
  154. package/dist/src/cli-flags.js +72 -0
  155. package/dist/src/cli-flags.js.map +1 -0
  156. package/dist/src/cli-runner-raw.d.ts +21 -0
  157. package/dist/src/cli-runner-raw.d.ts.map +1 -0
  158. package/dist/src/cli-runner-raw.js +41 -0
  159. package/dist/src/cli-runner-raw.js.map +1 -0
  160. package/dist/src/cli-runner.d.ts +26 -0
  161. package/dist/src/cli-runner.d.ts.map +1 -0
  162. package/dist/src/cli-runner.js +51 -0
  163. package/dist/src/cli-runner.js.map +1 -0
  164. package/dist/src/consolidation-search.d.ts +17 -0
  165. package/dist/src/consolidation-search.d.ts.map +1 -0
  166. package/dist/src/consolidation-search.js +83 -0
  167. package/dist/src/consolidation-search.js.map +1 -0
  168. package/dist/src/context-engine.d.ts +89 -0
  169. package/dist/src/context-engine.d.ts.map +1 -0
  170. package/dist/src/context-engine.js +216 -0
  171. package/dist/src/context-engine.js.map +1 -0
  172. package/dist/src/context-tier-renderer.d.ts +79 -0
  173. package/dist/src/context-tier-renderer.d.ts.map +1 -0
  174. package/dist/src/context-tier-renderer.js +223 -0
  175. package/dist/src/context-tier-renderer.js.map +1 -0
  176. package/dist/src/contradiction-checker.d.ts +16 -0
  177. package/dist/src/contradiction-checker.d.ts.map +1 -0
  178. package/dist/src/contradiction-checker.js +40 -0
  179. package/dist/src/contradiction-checker.js.map +1 -0
  180. package/dist/src/crypto.d.ts +15 -0
  181. package/dist/src/crypto.d.ts.map +1 -0
  182. package/dist/src/crypto.js +86 -0
  183. package/dist/src/crypto.js.map +1 -0
  184. package/dist/src/deploy-lib/cleanup.d.ts +38 -0
  185. package/dist/src/deploy-lib/cleanup.d.ts.map +1 -0
  186. package/dist/src/deploy-lib/cleanup.js +71 -0
  187. package/dist/src/deploy-lib/cleanup.js.map +1 -0
  188. package/dist/src/deploy-lib/index.d.ts +20 -0
  189. package/dist/src/deploy-lib/index.d.ts.map +1 -0
  190. package/dist/src/deploy-lib/index.js +20 -0
  191. package/dist/src/deploy-lib/index.js.map +1 -0
  192. package/dist/src/deploy-lib/lock.d.ts +37 -0
  193. package/dist/src/deploy-lib/lock.d.ts.map +1 -0
  194. package/dist/src/deploy-lib/lock.js +107 -0
  195. package/dist/src/deploy-lib/lock.js.map +1 -0
  196. package/dist/src/deploy-lib/manifest.d.ts +42 -0
  197. package/dist/src/deploy-lib/manifest.d.ts.map +1 -0
  198. package/dist/src/deploy-lib/manifest.js +38 -0
  199. package/dist/src/deploy-lib/manifest.js.map +1 -0
  200. package/dist/src/deploy-lib/paths.d.ts +29 -0
  201. package/dist/src/deploy-lib/paths.d.ts.map +1 -0
  202. package/dist/src/deploy-lib/paths.js +40 -0
  203. package/dist/src/deploy-lib/paths.js.map +1 -0
  204. package/dist/src/deploy-lib/releases.d.ts +52 -0
  205. package/dist/src/deploy-lib/releases.d.ts.map +1 -0
  206. package/dist/src/deploy-lib/releases.js +119 -0
  207. package/dist/src/deploy-lib/releases.js.map +1 -0
  208. package/dist/src/deploy-lib/safe-copy.d.ts +16 -0
  209. package/dist/src/deploy-lib/safe-copy.d.ts.map +1 -0
  210. package/dist/src/deploy-lib/safe-copy.js +32 -0
  211. package/dist/src/deploy-lib/safe-copy.js.map +1 -0
  212. package/dist/src/embedding-health.d.ts +12 -0
  213. package/dist/src/embedding-health.d.ts.map +1 -0
  214. package/dist/src/embedding-health.js +18 -0
  215. package/dist/src/embedding-health.js.map +1 -0
  216. package/dist/src/embedding-provider.d.ts +48 -0
  217. package/dist/src/embedding-provider.d.ts.map +1 -0
  218. package/dist/src/embedding-provider.js +145 -0
  219. package/dist/src/embedding-provider.js.map +1 -0
  220. package/dist/src/embedding-quantize.d.ts +11 -0
  221. package/dist/src/embedding-quantize.d.ts.map +1 -0
  222. package/dist/src/embedding-quantize.js +38 -0
  223. package/dist/src/embedding-quantize.js.map +1 -0
  224. package/dist/src/emotion-arc.d.ts +17 -0
  225. package/dist/src/emotion-arc.d.ts.map +1 -0
  226. package/dist/src/emotion-arc.js +62 -0
  227. package/dist/src/emotion-arc.js.map +1 -0
  228. package/dist/src/emotion-tagger.d.ts +8 -0
  229. package/dist/src/emotion-tagger.d.ts.map +1 -0
  230. package/dist/src/emotion-tagger.js +45 -0
  231. package/dist/src/emotion-tagger.js.map +1 -0
  232. package/dist/src/emotion-utils.d.ts +13 -0
  233. package/dist/src/emotion-utils.d.ts.map +1 -0
  234. package/dist/src/emotion-utils.js +76 -0
  235. package/dist/src/emotion-utils.js.map +1 -0
  236. package/dist/src/entity-graph.d.ts +33 -0
  237. package/dist/src/entity-graph.d.ts.map +1 -0
  238. package/dist/src/entity-graph.js +42 -0
  239. package/dist/src/entity-graph.js.map +1 -0
  240. package/dist/src/env-schema.d.ts +46 -0
  241. package/dist/src/env-schema.d.ts.map +1 -0
  242. package/dist/src/env-schema.js +93 -0
  243. package/dist/src/env-schema.js.map +1 -0
  244. package/dist/src/hook-helpers.d.ts +16 -0
  245. package/dist/src/hook-helpers.d.ts.map +1 -0
  246. package/dist/src/hook-helpers.js +64 -0
  247. package/dist/src/hook-helpers.js.map +1 -0
  248. package/dist/src/imemory-system.d.ts +138 -0
  249. package/dist/src/imemory-system.d.ts.map +1 -0
  250. package/dist/src/imemory-system.js +40 -0
  251. package/dist/src/imemory-system.js.map +1 -0
  252. package/dist/src/importance-flagger.d.ts +8 -0
  253. package/dist/src/importance-flagger.d.ts.map +1 -0
  254. package/dist/src/importance-flagger.js +24 -0
  255. package/dist/src/importance-flagger.js.map +1 -0
  256. package/dist/src/index.d.ts +79 -0
  257. package/dist/src/index.d.ts.map +1 -0
  258. package/dist/src/index.js +79 -0
  259. package/dist/src/index.js.map +1 -0
  260. package/dist/src/ingest-pipeline.d.ts +32 -0
  261. package/dist/src/ingest-pipeline.d.ts.map +1 -0
  262. package/dist/src/ingest-pipeline.js +58 -0
  263. package/dist/src/ingest-pipeline.js.map +1 -0
  264. package/dist/src/injection-scanner.d.ts +16 -0
  265. package/dist/src/injection-scanner.d.ts.map +1 -0
  266. package/dist/src/injection-scanner.js +182 -0
  267. package/dist/src/injection-scanner.js.map +1 -0
  268. package/dist/src/local-time.d.ts +12 -0
  269. package/dist/src/local-time.d.ts.map +1 -0
  270. package/dist/src/local-time.js +23 -0
  271. package/dist/src/local-time.js.map +1 -0
  272. package/dist/src/maintenance-service.d.ts +46 -0
  273. package/dist/src/maintenance-service.d.ts.map +1 -0
  274. package/dist/src/maintenance-service.js +280 -0
  275. package/dist/src/maintenance-service.js.map +1 -0
  276. package/dist/src/mcp-server.d.ts +6 -0
  277. package/dist/src/mcp-server.d.ts.map +1 -0
  278. package/dist/src/mcp-server.js +50 -0
  279. package/dist/src/mcp-server.js.map +1 -0
  280. package/dist/src/media-sanitizer.d.ts +11 -0
  281. package/dist/src/media-sanitizer.d.ts.map +1 -0
  282. package/dist/src/media-sanitizer.js +56 -0
  283. package/dist/src/media-sanitizer.js.map +1 -0
  284. package/dist/src/mem-config-env.d.ts +18 -0
  285. package/dist/src/mem-config-env.d.ts.map +1 -0
  286. package/dist/src/mem-config-env.js +43 -0
  287. package/dist/src/mem-config-env.js.map +1 -0
  288. package/dist/src/mem-env.d.ts +5 -0
  289. package/dist/src/mem-env.d.ts.map +1 -0
  290. package/dist/src/mem-env.js +19 -0
  291. package/dist/src/mem-env.js.map +1 -0
  292. package/dist/src/mem-logger.d.ts +20 -0
  293. package/dist/src/mem-logger.d.ts.map +1 -0
  294. package/dist/src/mem-logger.js +24 -0
  295. package/dist/src/mem-logger.js.map +1 -0
  296. package/dist/src/mem-paths.d.ts +20 -0
  297. package/dist/src/mem-paths.d.ts.map +1 -0
  298. package/dist/src/mem-paths.js +43 -0
  299. package/dist/src/mem-paths.js.map +1 -0
  300. package/dist/src/mem-types.d.ts +157 -0
  301. package/dist/src/mem-types.d.ts.map +1 -0
  302. package/dist/src/mem-types.js +2 -0
  303. package/dist/src/mem-types.js.map +1 -0
  304. package/dist/src/memory-backend.d.ts +65 -0
  305. package/dist/src/memory-backend.d.ts.map +1 -0
  306. package/dist/src/memory-backend.js +43 -0
  307. package/dist/src/memory-backend.js.map +1 -0
  308. package/dist/src/memory-compressor.d.ts +17 -0
  309. package/dist/src/memory-compressor.d.ts.map +1 -0
  310. package/dist/src/memory-compressor.js +147 -0
  311. package/dist/src/memory-compressor.js.map +1 -0
  312. package/dist/src/memory-config.d.ts +30 -0
  313. package/dist/src/memory-config.d.ts.map +1 -0
  314. package/dist/src/memory-config.js +62 -0
  315. package/dist/src/memory-config.js.map +1 -0
  316. package/dist/src/memory-db.d.ts +7 -0
  317. package/dist/src/memory-db.d.ts.map +1 -0
  318. package/dist/src/memory-db.js +173 -0
  319. package/dist/src/memory-db.js.map +1 -0
  320. package/dist/src/memory-editor.d.ts +32 -0
  321. package/dist/src/memory-editor.d.ts.map +1 -0
  322. package/dist/src/memory-editor.js +339 -0
  323. package/dist/src/memory-editor.js.map +1 -0
  324. package/dist/src/memory-index.d.ts +91 -0
  325. package/dist/src/memory-index.d.ts.map +1 -0
  326. package/dist/src/memory-index.js +310 -0
  327. package/dist/src/memory-index.js.map +1 -0
  328. package/dist/src/memory-ipc-client.d.ts +22 -0
  329. package/dist/src/memory-ipc-client.d.ts.map +1 -0
  330. package/dist/src/memory-ipc-client.js +75 -0
  331. package/dist/src/memory-ipc-client.js.map +1 -0
  332. package/dist/src/memory-ipc-server.d.ts +17 -0
  333. package/dist/src/memory-ipc-server.d.ts.map +1 -0
  334. package/dist/src/memory-ipc-server.js +86 -0
  335. package/dist/src/memory-ipc-server.js.map +1 -0
  336. package/dist/src/memory-manager.d.ts +155 -0
  337. package/dist/src/memory-manager.d.ts.map +1 -0
  338. package/dist/src/memory-manager.js +463 -0
  339. package/dist/src/memory-manager.js.map +1 -0
  340. package/dist/src/memory-renderer.d.ts +15 -0
  341. package/dist/src/memory-renderer.d.ts.map +1 -0
  342. package/dist/src/memory-renderer.js +126 -0
  343. package/dist/src/memory-renderer.js.map +1 -0
  344. package/dist/src/message-store.d.ts +42 -0
  345. package/dist/src/message-store.d.ts.map +1 -0
  346. package/dist/src/message-store.js +145 -0
  347. package/dist/src/message-store.js.map +1 -0
  348. package/dist/src/mmr.d.ts +17 -0
  349. package/dist/src/mmr.d.ts.map +1 -0
  350. package/dist/src/mmr.js +48 -0
  351. package/dist/src/mmr.js.map +1 -0
  352. package/dist/src/ollama-embed.d.ts +46 -0
  353. package/dist/src/ollama-embed.d.ts.map +1 -0
  354. package/dist/src/ollama-embed.js +139 -0
  355. package/dist/src/ollama-embed.js.map +1 -0
  356. package/dist/src/openclaw-plugin/engine.d.ts +87 -0
  357. package/dist/src/openclaw-plugin/engine.d.ts.map +1 -0
  358. package/dist/src/openclaw-plugin/engine.js +121 -0
  359. package/dist/src/openclaw-plugin/engine.js.map +1 -0
  360. package/dist/src/openclaw-plugin/hooks.d.ts +41 -0
  361. package/dist/src/openclaw-plugin/hooks.d.ts.map +1 -0
  362. package/dist/src/openclaw-plugin/hooks.js +155 -0
  363. package/dist/src/openclaw-plugin/hooks.js.map +1 -0
  364. package/dist/src/openclaw-plugin/index.d.ts +20 -0
  365. package/dist/src/openclaw-plugin/index.d.ts.map +1 -0
  366. package/dist/src/openclaw-plugin/index.js +151 -0
  367. package/dist/src/openclaw-plugin/index.js.map +1 -0
  368. package/dist/src/openclaw-plugin/message-adapter.d.ts +13 -0
  369. package/dist/src/openclaw-plugin/message-adapter.d.ts.map +1 -0
  370. package/dist/src/openclaw-plugin/message-adapter.js +49 -0
  371. package/dist/src/openclaw-plugin/message-adapter.js.map +1 -0
  372. package/dist/src/openclaw-plugin/prompt-builder.d.ts +17 -0
  373. package/dist/src/openclaw-plugin/prompt-builder.d.ts.map +1 -0
  374. package/dist/src/openclaw-plugin/prompt-builder.js +22 -0
  375. package/dist/src/openclaw-plugin/prompt-builder.js.map +1 -0
  376. package/dist/src/openclaw-plugin/public-artifacts.d.ts +20 -0
  377. package/dist/src/openclaw-plugin/public-artifacts.d.ts.map +1 -0
  378. package/dist/src/openclaw-plugin/public-artifacts.js +59 -0
  379. package/dist/src/openclaw-plugin/public-artifacts.js.map +1 -0
  380. package/dist/src/openclaw-plugin/runtime-adapter.d.ts +26 -0
  381. package/dist/src/openclaw-plugin/runtime-adapter.d.ts.map +1 -0
  382. package/dist/src/openclaw-plugin/runtime-adapter.js +161 -0
  383. package/dist/src/openclaw-plugin/runtime-adapter.js.map +1 -0
  384. package/dist/src/openclaw-plugin/session-mapper.d.ts +11 -0
  385. package/dist/src/openclaw-plugin/session-mapper.d.ts.map +1 -0
  386. package/dist/src/openclaw-plugin/session-mapper.js +17 -0
  387. package/dist/src/openclaw-plugin/session-mapper.js.map +1 -0
  388. package/dist/src/openclaw-plugin/tools.d.ts +32 -0
  389. package/dist/src/openclaw-plugin/tools.d.ts.map +1 -0
  390. package/dist/src/openclaw-plugin/tools.js +131 -0
  391. package/dist/src/openclaw-plugin/tools.js.map +1 -0
  392. package/dist/src/openclaw-plugin/types.d.ts +35 -0
  393. package/dist/src/openclaw-plugin/types.d.ts.map +1 -0
  394. package/dist/src/openclaw-plugin/types.js +2 -0
  395. package/dist/src/openclaw-plugin/types.js.map +1 -0
  396. package/dist/src/query-tokenizer.d.ts +33 -0
  397. package/dist/src/query-tokenizer.d.ts.map +1 -0
  398. package/dist/src/query-tokenizer.js +84 -0
  399. package/dist/src/query-tokenizer.js.map +1 -0
  400. package/dist/src/recall-benchmark.d.ts +13 -0
  401. package/dist/src/recall-benchmark.d.ts.map +1 -0
  402. package/dist/src/recall-benchmark.js +256 -0
  403. package/dist/src/recall-benchmark.js.map +1 -0
  404. package/dist/src/recall-engine.d.ts +81 -0
  405. package/dist/src/recall-engine.d.ts.map +1 -0
  406. package/dist/src/recall-engine.js +387 -0
  407. package/dist/src/recall-engine.js.map +1 -0
  408. package/dist/src/redact-secrets.d.ts +20 -0
  409. package/dist/src/redact-secrets.d.ts.map +1 -0
  410. package/dist/src/redact-secrets.js +42 -0
  411. package/dist/src/redact-secrets.js.map +1 -0
  412. package/dist/src/runtime-store.d.ts +47 -0
  413. package/dist/src/runtime-store.d.ts.map +1 -0
  414. package/dist/src/runtime-store.js +78 -0
  415. package/dist/src/runtime-store.js.map +1 -0
  416. package/dist/src/session-context.d.ts +10 -0
  417. package/dist/src/session-context.d.ts.map +1 -0
  418. package/dist/src/session-context.js +83 -0
  419. package/dist/src/session-context.js.map +1 -0
  420. package/dist/src/session-memory.d.ts +8 -0
  421. package/dist/src/session-memory.d.ts.map +1 -0
  422. package/dist/src/session-memory.js +45 -0
  423. package/dist/src/session-memory.js.map +1 -0
  424. package/dist/src/signature-generator.d.ts +15 -0
  425. package/dist/src/signature-generator.d.ts.map +1 -0
  426. package/dist/src/signature-generator.js +78 -0
  427. package/dist/src/signature-generator.js.map +1 -0
  428. package/dist/src/sleep/basic.d.ts +48 -0
  429. package/dist/src/sleep/basic.d.ts.map +1 -0
  430. package/dist/src/sleep/basic.js +147 -0
  431. package/dist/src/sleep/basic.js.map +1 -0
  432. package/dist/src/sleep/levels.d.ts +20 -0
  433. package/dist/src/sleep/levels.d.ts.map +1 -0
  434. package/dist/src/sleep/levels.js +11 -0
  435. package/dist/src/sleep/levels.js.map +1 -0
  436. package/dist/src/sleep/native.d.ts +41 -0
  437. package/dist/src/sleep/native.d.ts.map +1 -0
  438. package/dist/src/sleep/native.js +112 -0
  439. package/dist/src/sleep/native.js.map +1 -0
  440. package/dist/src/sleep/orchestrator.d.ts +64 -0
  441. package/dist/src/sleep/orchestrator.d.ts.map +1 -0
  442. package/dist/src/sleep/orchestrator.js +960 -0
  443. package/dist/src/sleep/orchestrator.js.map +1 -0
  444. package/dist/src/sleep/runtime.d.ts +15 -0
  445. package/dist/src/sleep/runtime.d.ts.map +1 -0
  446. package/dist/src/sleep/runtime.js +2 -0
  447. package/dist/src/sleep/runtime.js.map +1 -0
  448. package/dist/src/sleep/sleep-daily-summary.d.ts +64 -0
  449. package/dist/src/sleep/sleep-daily-summary.d.ts.map +1 -0
  450. package/dist/src/sleep/sleep-daily-summary.js +273 -0
  451. package/dist/src/sleep/sleep-daily-summary.js.map +1 -0
  452. package/dist/src/sleep/sleep-extract-daily.d.ts +12 -0
  453. package/dist/src/sleep/sleep-extract-daily.d.ts.map +1 -0
  454. package/dist/src/sleep/sleep-extract-daily.js +55 -0
  455. package/dist/src/sleep/sleep-extract-daily.js.map +1 -0
  456. package/dist/src/sleep/sleep-prompt-loader.d.ts +27 -0
  457. package/dist/src/sleep/sleep-prompt-loader.d.ts.map +1 -0
  458. package/dist/src/sleep/sleep-prompt-loader.js +116 -0
  459. package/dist/src/sleep/sleep-prompt-loader.js.map +1 -0
  460. package/dist/src/sleep/test-harness.d.ts +67 -0
  461. package/dist/src/sleep/test-harness.d.ts.map +1 -0
  462. package/dist/src/sleep/test-harness.js +121 -0
  463. package/dist/src/sleep/test-harness.js.map +1 -0
  464. package/dist/src/sleep/trigger.d.ts +3 -0
  465. package/dist/src/sleep/trigger.d.ts.map +1 -0
  466. package/dist/src/sleep/trigger.js +66 -0
  467. package/dist/src/sleep/trigger.js.map +1 -0
  468. package/dist/src/sleep-data-access.d.ts +54 -0
  469. package/dist/src/sleep-data-access.d.ts.map +1 -0
  470. package/dist/src/sleep-data-access.js +176 -0
  471. package/dist/src/sleep-data-access.js.map +1 -0
  472. package/dist/src/sleep-pipeline.d.ts +9 -0
  473. package/dist/src/sleep-pipeline.d.ts.map +1 -0
  474. package/dist/src/sleep-pipeline.js +8 -0
  475. package/dist/src/sleep-pipeline.js.map +1 -0
  476. package/dist/src/sleep-state-gatherer.d.ts +74 -0
  477. package/dist/src/sleep-state-gatherer.d.ts.map +1 -0
  478. package/dist/src/sleep-state-gatherer.js +275 -0
  479. package/dist/src/sleep-state-gatherer.js.map +1 -0
  480. package/dist/src/sqlite-backend.d.ts +23 -0
  481. package/dist/src/sqlite-backend.d.ts.map +1 -0
  482. package/dist/src/sqlite-backend.js +48 -0
  483. package/dist/src/sqlite-backend.js.map +1 -0
  484. package/dist/src/test-helpers.d.ts +3 -0
  485. package/dist/src/test-helpers.d.ts.map +1 -0
  486. package/dist/src/test-helpers.js +5 -0
  487. package/dist/src/test-helpers.js.map +1 -0
  488. package/dist/src/tier-llm-refinement.d.ts +35 -0
  489. package/dist/src/tier-llm-refinement.d.ts.map +1 -0
  490. package/dist/src/tier-llm-refinement.js +131 -0
  491. package/dist/src/tier-llm-refinement.js.map +1 -0
  492. package/dist/src/timeline-builder.d.ts +45 -0
  493. package/dist/src/timeline-builder.d.ts.map +1 -0
  494. package/dist/src/timeline-builder.js +147 -0
  495. package/dist/src/timeline-builder.js.map +1 -0
  496. package/dist/src/trigram-search.d.ts +28 -0
  497. package/dist/src/trigram-search.d.ts.map +1 -0
  498. package/dist/src/trigram-search.js +192 -0
  499. package/dist/src/trigram-search.js.map +1 -0
  500. package/dist/src/turn-classifier.d.ts +29 -0
  501. package/dist/src/turn-classifier.d.ts.map +1 -0
  502. package/dist/src/turn-classifier.js +186 -0
  503. package/dist/src/turn-classifier.js.map +1 -0
  504. package/dist/src/user-utils.d.ts +6 -0
  505. package/dist/src/user-utils.d.ts.map +1 -0
  506. package/dist/src/user-utils.js +27 -0
  507. package/dist/src/user-utils.js.map +1 -0
  508. package/dist/src/wake-up-builder.d.ts +12 -0
  509. package/dist/src/wake-up-builder.d.ts.map +1 -0
  510. package/dist/src/wake-up-builder.js +45 -0
  511. package/dist/src/wake-up-builder.js.map +1 -0
  512. package/dist/src/wake-up-renderer.d.ts +29 -0
  513. package/dist/src/wake-up-renderer.d.ts.map +1 -0
  514. package/dist/src/wake-up-renderer.js +182 -0
  515. package/dist/src/wake-up-renderer.js.map +1 -0
  516. package/openclaw.plugin.json +72 -0
  517. package/package.json +92 -5
  518. package/prompts/sleep/01-gc-noise.md +28 -0
  519. package/prompts/sleep/02-daily-summary.md +3 -0
  520. package/prompts/sleep/03-extract-from-daily.md +3 -0
  521. package/prompts/sleep/04-retrospective.md +30 -0
  522. package/prompts/sleep/06-feedback.md +17 -0
  523. package/prompts/sleep/07-topic-assignment.md +23 -0
  524. package/prompts/sleep/08-core-promotion.md +26 -0
  525. package/prompts/sleep/09-merge.md +19 -0
  526. package/prompts/sleep/10-translation.md +17 -0
  527. package/prompts/sleep/11-skill-review.md +12 -0
  528. package/prompts/sleep/12-core-knowledge.md +14 -0
  529. package/prompts/sleep/13-consolidation.md +11 -0
  530. package/prompts/sleep/14-emotion-context.md +17 -0
  531. package/prompts/sleep/15-contradiction-and-graph.md +48 -0
  532. package/prompts/sleep/16-rem-synthesis.md +31 -0
  533. package/prompts/sleep/basic.md +12 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abmind-status.d.ts","sourceRoot":"","sources":["../../cli/abmind-status.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * abmind-store — standalone CLI for agent-initiated memory storage.
4
+ *
5
+ * Persists a memory via MemoryBackend.instantStore(), or dispatches to
6
+ * one of four specialized paths: --boost/--demote, --merge, --reclassify,
7
+ * --delete-ids.
8
+ *
9
+ * Output (success): { "stored": true, "memoriesCount": 1 }
10
+ * Output (error): { "stored": false, "error": "<reason>" }
11
+ */
12
+ import type { FlagSpec } from "../src/cli-flags.js";
13
+ import type { InstantStoreParams } from "../src/mem-types.js";
14
+ export declare const STORE_FLAGS: readonly FlagSpec[];
15
+ export type RawArgs = {
16
+ contentEn?: string;
17
+ contentOriginal?: string;
18
+ memoryType?: string;
19
+ emotionScore?: string;
20
+ emotionTags?: string;
21
+ emotionContext?: string;
22
+ userId?: string;
23
+ keyword?: string;
24
+ confidence?: string;
25
+ sourceMessageIds?: string;
26
+ source?: string;
27
+ topic?: string;
28
+ boost?: boolean;
29
+ demote?: boolean;
30
+ id?: string;
31
+ merge?: boolean;
32
+ mergeIds?: string;
33
+ classification?: string;
34
+ trust?: string;
35
+ integrity?: string;
36
+ credibility?: string;
37
+ reclassify?: boolean;
38
+ userOverride?: boolean;
39
+ deleteIds?: string;
40
+ };
41
+ /**
42
+ * Legacy exported parser. Takes raw argv (as from process.argv). Kept as a
43
+ * thin wrapper over parseFlags for cli/abmind-store.test.ts compatibility.
44
+ */
45
+ export declare function parseArgs(argv: string[]): RawArgs;
46
+ /** Validate store-specific business rules. */
47
+ export declare function validateArgs(raw: RawArgs): {
48
+ ok: true;
49
+ params: InstantStoreParams;
50
+ } | {
51
+ ok: false;
52
+ error: string;
53
+ };
54
+ //# sourceMappingURL=abmind-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abmind-store.d.ts","sourceRoot":"","sources":["../../cli/abmind-store.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,eAAO,MAAM,WAAW,EAAE,SAAS,QAAQ,EAyB1C,CAAC;AAIF,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAiCF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAEjD;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAmClH"}
@@ -0,0 +1,251 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * abmind-store — standalone CLI for agent-initiated memory storage.
4
+ *
5
+ * Persists a memory via MemoryBackend.instantStore(), or dispatches to
6
+ * one of four specialized paths: --boost/--demote, --merge, --reclassify,
7
+ * --delete-ids.
8
+ *
9
+ * Output (success): { "stored": true, "memoriesCount": 1 }
10
+ * Output (error): { "stored": false, "error": "<reason>" }
11
+ */
12
+ import { join } from "node:path";
13
+ import { appendFileSync } from "node:fs";
14
+ import { runCli } from "../src/cli-runner.js";
15
+ import { parseFlags } from "../src/cli-flags.js";
16
+ import { abmindHome } from "../src/mem-paths.js";
17
+ // --- Flag spec (shared via cli-flags) ---
18
+ export const STORE_FLAGS = [
19
+ { name: "translated", type: "string", aliases: ["--content-en"] },
20
+ { name: "original", type: "string", aliases: ["--content-original"] },
21
+ { name: "memory-type", type: "string" },
22
+ { name: "emotion-score", type: "number" },
23
+ { name: "emotion-tags", type: "string" },
24
+ { name: "emotion-context", type: "string" },
25
+ { name: "chat-id", type: "string" },
26
+ { name: "keyword", type: "string", aliases: ["--tags"] },
27
+ { name: "confidence", type: "number" },
28
+ { name: "topic", type: "string" },
29
+ { name: "source-ids", type: "string" },
30
+ { name: "source", type: "string" },
31
+ { name: "boost", type: "boolean" },
32
+ { name: "demote", type: "boolean" },
33
+ { name: "id", type: "string" },
34
+ { name: "merge", type: "boolean" },
35
+ { name: "merge-ids", type: "string" },
36
+ { name: "classification", type: "number" },
37
+ { name: "trust", type: "number" },
38
+ { name: "integrity", type: "number" },
39
+ { name: "credibility", type: "number" },
40
+ { name: "reclassify", type: "boolean" },
41
+ { name: "user-override", type: "boolean" },
42
+ { name: "delete-ids", type: "string" },
43
+ ];
44
+ /** Convert the new FlagValues shape to the legacy RawArgs shape. */
45
+ function toRaw(f) {
46
+ const s = (k) => f[k] === undefined ? undefined : String(f[k]);
47
+ return {
48
+ contentEn: s("translated"),
49
+ contentOriginal: s("original"),
50
+ memoryType: s("memory-type"),
51
+ emotionScore: s("emotion-score"),
52
+ emotionTags: s("emotion-tags"),
53
+ emotionContext: s("emotion-context"),
54
+ userId: s("chat-id"),
55
+ keyword: s("keyword"),
56
+ confidence: s("confidence"),
57
+ sourceMessageIds: s("source-ids"),
58
+ source: s("source"),
59
+ topic: s("topic"),
60
+ boost: f["boost"] === true,
61
+ demote: f["demote"] === true,
62
+ id: s("id"),
63
+ merge: f["merge"] === true,
64
+ mergeIds: s("merge-ids"),
65
+ classification: s("classification"),
66
+ trust: s("trust"),
67
+ integrity: s("integrity"),
68
+ credibility: s("credibility"),
69
+ reclassify: f["reclassify"] === true,
70
+ userOverride: f["user-override"] === true,
71
+ deleteIds: s("delete-ids"),
72
+ };
73
+ }
74
+ /**
75
+ * Legacy exported parser. Takes raw argv (as from process.argv). Kept as a
76
+ * thin wrapper over parseFlags for cli/abmind-store.test.ts compatibility.
77
+ */
78
+ export function parseArgs(argv) {
79
+ return toRaw(parseFlags(argv.slice(2), STORE_FLAGS));
80
+ }
81
+ /** Validate store-specific business rules. */
82
+ export function validateArgs(raw) {
83
+ if (!raw.contentEn)
84
+ return { ok: false, error: "content-en is required" };
85
+ if (!raw.contentOriginal)
86
+ return { ok: false, error: "content-original is required" };
87
+ if (!raw.memoryType)
88
+ return { ok: false, error: "memory-type is required" };
89
+ if (raw.emotionScore === undefined)
90
+ return { ok: false, error: "emotion-score is required" };
91
+ if (!raw.userId)
92
+ return { ok: false, error: "chat-id is required" };
93
+ const validTypes = new Set(["fact", "decision", "preference", "event"]);
94
+ if (!validTypes.has(raw.memoryType))
95
+ return { ok: false, error: "invalid memory_type" };
96
+ // Source presets: --source internet → trust=0, classification=0
97
+ // --source private → trust=0, classification=2
98
+ let presetTrust;
99
+ let presetClassification;
100
+ if (raw.source === "internet") {
101
+ presetTrust = 0;
102
+ presetClassification = 0;
103
+ }
104
+ else if (raw.source === "private") {
105
+ presetTrust = 0;
106
+ presetClassification = 2;
107
+ }
108
+ return {
109
+ ok: true,
110
+ params: {
111
+ userId: raw.userId,
112
+ contentEn: raw.contentEn,
113
+ contentOriginal: raw.contentOriginal,
114
+ memoryType: raw.memoryType,
115
+ emotionScore: parseInt(raw.emotionScore, 10) || 0,
116
+ emotionTags: raw.emotionTags || undefined,
117
+ emotionContext: raw.emotionContext || undefined,
118
+ keyword: raw.keyword,
119
+ classification: raw.classification ? parseInt(raw.classification, 10) : presetClassification,
120
+ trust: raw.trust ? parseInt(raw.trust, 10) : presetTrust,
121
+ integrity: raw.integrity ? parseInt(raw.integrity, 10) : undefined,
122
+ credibility: raw.credibility ? parseInt(raw.credibility, 10) : undefined,
123
+ topic: raw.topic || undefined,
124
+ },
125
+ };
126
+ }
127
+ // --- CLI entry ---
128
+ await runCli(import.meta.url, {
129
+ name: "abmind-store",
130
+ help: `Usage:
131
+ abmind store --translated <text> --original <text> --memory-type <type> --emotion-score <n> --chat-id <id>
132
+
133
+ Options:
134
+ --translated <text> English content (alias: --content-en)
135
+ --original <text> Original content (alias: --content-original)
136
+ --memory-type <type> fact | decision | preference | event
137
+ --emotion-score <n> Emotion score
138
+ --chat-id <id> Chat ID (required)
139
+ --keyword <kw> Keyword tag (alias: --tags)
140
+ --confidence <n> Confidence score
141
+ --source-ids <ids> Source message IDs
142
+ --classification <n> Classification level
143
+ --trust <n> Trust score
144
+ --integrity <n> Integrity score
145
+ --credibility <n> Credibility score
146
+ --boost Boost relevance (+10) for --id
147
+ --demote Demote relevance (-10) for --id
148
+ --id <id> Memory ID (for boost/demote/reclassify)
149
+ --merge Merge two memories
150
+ --merge-ids <a,b> Two IDs to merge
151
+ --reclassify Reclassify memory (requires --id, --classification)
152
+ --user-override Flag as user override
153
+ --delete-ids <ids> Cascade delete by message IDs (requires --chat-id)`,
154
+ flags: STORE_FLAGS,
155
+ handler: async ({ args, backend }) => {
156
+ const raw = toRaw(args);
157
+ // --delete-ids path
158
+ if (raw.deleteIds) {
159
+ if (!raw.userId) {
160
+ console.log(JSON.stringify({ deleted: false, error: "--chat-id is required with --delete-ids" }));
161
+ process.exitCode = 1;
162
+ return;
163
+ }
164
+ const ids = raw.deleteIds.split(",").map(s => parseInt(s.trim(), 10)).filter(n => Number.isFinite(n));
165
+ if (ids.length === 0) {
166
+ console.log(JSON.stringify({ deleted: false, error: "no valid IDs in --delete-ids" }));
167
+ process.exitCode = 1;
168
+ return;
169
+ }
170
+ const result = await backend.cascadeDelete(ids, raw.userId);
171
+ console.log(JSON.stringify({ deleted: true, ...result }));
172
+ return;
173
+ }
174
+ // --reclassify path
175
+ if (raw.reclassify) {
176
+ if (!raw.id || !raw.classification) {
177
+ console.log(JSON.stringify({ stored: false, error: "--id and --classification are required with --reclassify" }));
178
+ process.exitCode = 1;
179
+ return;
180
+ }
181
+ const id = parseInt(raw.id, 10);
182
+ const level = parseInt(raw.classification, 10);
183
+ const result = await backend.reclassifyMemory(id, level, raw.userOverride ?? false);
184
+ console.log(JSON.stringify(result));
185
+ return;
186
+ }
187
+ // --boost / --demote path
188
+ if (raw.boost || raw.demote) {
189
+ if (!raw.id) {
190
+ console.log(JSON.stringify({ stored: false, error: "--id is required with --boost/--demote" }));
191
+ process.exitCode = 1;
192
+ return;
193
+ }
194
+ const id = parseInt(raw.id, 10);
195
+ const delta = raw.boost ? 10 : -10;
196
+ await backend.adjustRelevance(id, delta);
197
+ console.log(JSON.stringify({ stored: true, adjusted: { id, delta } }));
198
+ return;
199
+ }
200
+ // --merge path
201
+ if (raw.merge) {
202
+ if (!raw.mergeIds) {
203
+ console.log(JSON.stringify({ stored: false, error: "--merge-ids is required with --merge" }));
204
+ process.exitCode = 1;
205
+ return;
206
+ }
207
+ const ids = raw.mergeIds.split(",").map(s => parseInt(s.trim(), 10)).filter(n => Number.isFinite(n));
208
+ if (ids.length !== 2) {
209
+ console.log(JSON.stringify({ stored: false, error: "--merge-ids must be exactly 2 comma-separated IDs" }));
210
+ process.exitCode = 1;
211
+ return;
212
+ }
213
+ const result = await backend.mergeMemories(ids[0], ids[1]);
214
+ console.log(JSON.stringify(result));
215
+ return;
216
+ }
217
+ // Normal store path
218
+ const validation = validateArgs(raw);
219
+ if (!validation.ok) {
220
+ console.log(JSON.stringify({ stored: false, error: validation.error }));
221
+ process.exitCode = 1;
222
+ return;
223
+ }
224
+ // Prompt injection scan for trust < 5
225
+ const trust = validation.params.trust ?? 0;
226
+ if (trust < 5) {
227
+ const { scanForInjection } = await import("../src/injection-scanner.js");
228
+ const scan = scanForInjection(validation.params.contentEn);
229
+ if (scan.safe && validation.params.contentOriginal) {
230
+ const scan2 = scanForInjection(validation.params.contentOriginal);
231
+ if (!scan2.safe)
232
+ Object.assign(scan, scan2);
233
+ }
234
+ if (!scan.safe) {
235
+ const top = scan.flags[0];
236
+ const logLine = `${new Date().toLocaleString("sv-SE")} BLOCKED category=${top.category} matched="${top.pattern}" score=${scan.score} trust=${trust} content="${validation.params.contentEn.slice(0, 120)}"\n`;
237
+ const logPath = join(abmindHome(), "logs", "prompt_injection.log");
238
+ try {
239
+ appendFileSync(logPath, logLine);
240
+ }
241
+ catch { /* best-effort */ }
242
+ console.log(JSON.stringify({ stored: false, error: `Prompt injection detected (${top.category}): "${top.pattern}"`, blocked: true }));
243
+ process.exitCode = 1;
244
+ return;
245
+ }
246
+ }
247
+ const result = await backend.instantStore(validation.params);
248
+ console.log(JSON.stringify(result));
249
+ },
250
+ });
251
+ //# sourceMappingURL=abmind-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abmind-store.js","sourceRoot":"","sources":["../../cli/abmind-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * abmind update [--source local|npm|github] [--from-local]
4
+ *
5
+ * Phase 4 of #158. Mirrors agentbridge update with a local build source
6
+ * aware that abmind has NO build step in the traditional sense — abmind's
7
+ * "build" is just `tsc`, producing dist/. Stage dist/ + node_modules/,
8
+ * flip current symlink. Same atomic semantics as agentbridge.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=abmind-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abmind-update.d.ts","sourceRoot":"","sources":["../../cli/abmind-update.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG"}
@@ -0,0 +1,160 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * abmind update [--source local|npm|github] [--from-local]
4
+ *
5
+ * Phase 4 of #158. Mirrors agentbridge update with a local build source
6
+ * aware that abmind has NO build step in the traditional sense — abmind's
7
+ * "build" is just `tsc`, producing dist/. Stage dist/ + node_modules/,
8
+ * flip current symlink. Same atomic semantics as agentbridge.
9
+ */
10
+ import { spawnSync } from 'node:child_process';
11
+ import { cp, mkdir, readFile, rm } from 'node:fs/promises';
12
+ import { existsSync, copyFileSync, mkdirSync } from 'node:fs';
13
+ import { hostname } from 'node:os';
14
+ import { join } from 'node:path';
15
+ import { acquireLock, activate, emptyManifest, hashFile, packagePaths, pruneReleases, readManifest, RETENTION, writeManifest, } from '../src/deploy-lib/index.js';
16
+ function runCmd(cmd, args, cwd) {
17
+ const r = spawnSync(cmd, args, { cwd, stdio: 'inherit' });
18
+ if (r.status !== 0) {
19
+ throw new Error(`${cmd} ${args.join(' ')} exited with status ${r.status ?? -1}`);
20
+ }
21
+ }
22
+ function tryCmd(cmd, args, cwd) {
23
+ const r = spawnSync(cmd, args, { cwd, encoding: 'utf-8' });
24
+ if (r.status !== 0)
25
+ return null;
26
+ return r.stdout.trim();
27
+ }
28
+ /** Seed/refresh deploy-shipped files into $ABMIND_HOME/memory/core/. */
29
+ function seedCoreFiles(repoRoot, home) {
30
+ const dst = join(home, 'memory', 'core');
31
+ mkdirSync(dst, { recursive: true });
32
+ // memory-tools.md: always overwrite (deploy-shipped documentation)
33
+ const mtSrc = join(repoRoot, 'core', 'memory-tools.md');
34
+ if (existsSync(mtSrc))
35
+ copyFileSync(mtSrc, join(dst, 'memory-tools.md'));
36
+ // SOUL.md: seed only if missing (human-owned, Dreamy evolves after)
37
+ const soulDst = join(dst, 'SOUL.md');
38
+ if (!existsSync(soulDst)) {
39
+ const soulSrc = join(repoRoot, 'core', 'SOUL.md');
40
+ if (existsSync(soulSrc))
41
+ copyFileSync(soulSrc, soulDst);
42
+ }
43
+ }
44
+ function checkStaleness(repoRoot, fromLocal) {
45
+ const commit = tryCmd('git', ['rev-parse', '--short', 'HEAD'], repoRoot);
46
+ if (commit === null) {
47
+ if (!fromLocal)
48
+ throw new Error('Not a git repo; pass --from-local to proceed.');
49
+ return { commit: 'unknown', branch: null };
50
+ }
51
+ const branch = tryCmd('git', ['rev-parse', '--abbrev-ref', 'HEAD'], repoRoot);
52
+ if (fromLocal)
53
+ return { commit, branch: branch === 'HEAD' ? null : branch };
54
+ if (branch === 'HEAD' || branch === null) {
55
+ throw new Error('Detached HEAD (no current branch). Pass --from-local to proceed.');
56
+ }
57
+ runCmd('git', ['fetch', '--quiet'], repoRoot);
58
+ const upstream = tryCmd('git', ['rev-parse', '--abbrev-ref', `${branch}@{upstream}`], repoRoot);
59
+ if (upstream === null) {
60
+ throw new Error(`Branch '${branch}' has no upstream. Pass --from-local to proceed.`);
61
+ }
62
+ const behindStr = tryCmd('git', ['rev-list', '--count', `HEAD..${upstream}`], repoRoot);
63
+ const behind = behindStr === null ? null : Number(behindStr);
64
+ if (behind === null || !Number.isFinite(behind)) {
65
+ throw new Error(`Could not determine how far HEAD is behind ${upstream}. Pass --from-local.`);
66
+ }
67
+ if (behind > 0) {
68
+ throw new Error(`Current branch: ${branch} (${commit})\n${upstream} is ahead by ${behind} commit${behind === 1 ? '' : 's'}.\nRun 'git pull' first, or pass --from-local.`);
69
+ }
70
+ return { commit, branch };
71
+ }
72
+ async function run() {
73
+ const argv = process.argv.slice(3);
74
+ const source = argv.includes('--source')
75
+ ? argv[argv.indexOf('--source') + 1]
76
+ : 'local';
77
+ const fromLocal = argv.includes('--from-local');
78
+ if (source !== 'local') {
79
+ process.stderr.write(`--source ${source} is not yet supported (reserved for post-#155 npm publish).\n`);
80
+ return 2;
81
+ }
82
+ const paths = packagePaths('abmind');
83
+ const release = await acquireLock(paths.lock, `update --source ${source}`);
84
+ try {
85
+ const repoRoot = process.cwd();
86
+ const { commit, branch } = checkStaleness(repoRoot, fromLocal);
87
+ const pkg = JSON.parse(await readFile(join(repoRoot, 'package.json'), 'utf-8'));
88
+ if (typeof pkg.version !== 'string')
89
+ throw new Error('package.json missing version');
90
+ const version = `${pkg.version}-${commit}`;
91
+ process.stdout.write(`Building abmind from ${repoRoot}...\n`);
92
+ runCmd('npm', ['install', '--no-audit', '--no-fund'], repoRoot);
93
+ runCmd('npm', ['run', 'build'], repoRoot);
94
+ const stagedPath = join(paths.releases, version);
95
+ await rm(stagedPath, { recursive: true, force: true });
96
+ await mkdir(stagedPath, { recursive: true });
97
+ await cp(join(repoRoot, 'dist'), join(stagedPath, 'dist'), { recursive: true });
98
+ // Sync node_modules/ via rsync -aL to dereference symlinks (the
99
+ // "abmind": "file:../abmind" package dep becomes a symlink that we
100
+ // must materialize into the release, or the runtime runs live code
101
+ // from the dev workspace. Also contends with npm test for SQLite locks.)
102
+ await rm(paths.nodeModules, { recursive: true, force: true });
103
+ await mkdir(paths.nodeModules, { recursive: true });
104
+ const rsyncResult = spawnSync('rsync', ['-aL', '--quiet', `${join(repoRoot, 'node_modules')}/`, `${paths.nodeModules}/`], { stdio: 'inherit' });
105
+ if (rsyncResult.status !== 0) {
106
+ throw new Error(`rsync of node_modules failed (status ${rsyncResult.status ?? -1})`);
107
+ }
108
+ const packageLockHash = await hashFile(join(repoRoot, 'package-lock.json'));
109
+ process.stdout.write(`✓ staged ${version} at ${stagedPath}\n`);
110
+ await activate(paths.current, version);
111
+ process.stdout.write(`✓ current -> releases/${version}\n`);
112
+ const prior = await readManifest(paths.manifest);
113
+ const now = new Date().toISOString();
114
+ const newPriorReleases = prior?.version
115
+ ? [
116
+ {
117
+ version: prior.version,
118
+ commit: prior.commit,
119
+ activatedAt: prior.activatedAt,
120
+ packageLockHash: prior.packageLockHash,
121
+ },
122
+ ...(prior.priorReleases ?? []),
123
+ ].slice(0, RETENTION - 1)
124
+ : prior?.priorReleases ?? [];
125
+ await writeManifest(paths.manifest, {
126
+ ...(prior ?? emptyManifest('abmind', hostname())),
127
+ version,
128
+ commit,
129
+ branch,
130
+ packageLockHash,
131
+ activatedAt: now,
132
+ source: 'local',
133
+ priorReleases: newPriorReleases,
134
+ });
135
+ process.stdout.write(`✓ manifest updated\n`);
136
+ const pruned = await pruneReleases(paths.releases, [version, ...newPriorReleases.map((r) => r.version)], version, RETENTION);
137
+ if (pruned.length > 0) {
138
+ process.stdout.write(`✓ pruned ${pruned.length} old release(s): ${pruned.join(', ')}\n`);
139
+ }
140
+ process.stdout.write(`\nabmind update complete: ${version}\n`);
141
+ // Seed/refresh deploy-shipped core files into memory/core/.
142
+ // memory-tools.md: always overwrite (documentation, ships with abmind).
143
+ // SOUL.md: seed only if missing (human-owned, Dreamy evolves).
144
+ await seedCoreFiles(repoRoot, paths.home);
145
+ return 0;
146
+ }
147
+ finally {
148
+ await release();
149
+ }
150
+ }
151
+ try {
152
+ const exitCode = await run();
153
+ process.exit(exitCode);
154
+ }
155
+ catch (err) {
156
+ const msg = err instanceof Error ? err.message : String(err);
157
+ process.stderr.write(`error: ${msg}\n`);
158
+ process.exit(1);
159
+ }
160
+ //# sourceMappingURL=abmind-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abmind-update.js","sourceRoot":"","sources":["../../cli/abmind-update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=abmind-wakeup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abmind-wakeup.d.ts","sourceRoot":"","sources":["../../cli/abmind-wakeup.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+ /** abmind wake-up — Print current wake-up context. */
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
+ const FLAGS = [
7
+ { name: "max-chars", type: "number" },
8
+ ];
9
+ await runCliRaw(import.meta.url, {
10
+ name: "abmind-wakeup",
11
+ help: `Usage:
12
+ abmind wake-up [--max-chars N]
13
+
14
+ Prints the current wake-up context (core memories, timelines, emotional
15
+ highlights) for the master user, capped at max-chars (default 5000).`,
16
+ flags: FLAGS,
17
+ handler: async ({ args }) => {
18
+ const maxChars = args["max-chars"] !== undefined ? Number(args["max-chars"]) : 5000;
19
+ const memory = new MemoryManager(loadMemoryConfig());
20
+ await memory.initialize({ skipEmbeddingCheck: true });
21
+ try {
22
+ const wakeUp = memory.buildWakeUp(maxChars);
23
+ if (wakeUp) {
24
+ console.log(wakeUp);
25
+ console.log(`\n--- ${wakeUp.length} chars, maxChars=${maxChars} ---`);
26
+ }
27
+ else {
28
+ console.log("No wake-up context available.");
29
+ }
30
+ }
31
+ finally {
32
+ memory.close();
33
+ }
34
+ },
35
+ });
36
+ //# sourceMappingURL=abmind-wakeup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abmind-wakeup.js","sourceRoot":"","sources":["../../cli/abmind-wakeup.ts"],"names":[],"mappings":";AACA,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,KAAK,GAAwB;IACjC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;CACtC,CAAC;AAEF,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAC/B,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE;;;;qEAI6D;IACnE,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpF,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,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,oBAAoB,QAAQ,MAAM,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * abmind — Unified CLI for AgentBridge Memory.
4
+ *
5
+ * Dispatcher shape: a single table of { name, file, aliases?, help } entries.
6
+ * Adding a subcommand is one line. No env-var smuggling — secrets subcommands
7
+ * call runSecretsCommand(action) directly.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=abmind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abmind.d.ts","sourceRoot":"","sources":["../../cli/abmind.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}