@easynet/agent-memory 0.0.2 → 1.0.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 (298) hide show
  1. package/README.md +89 -224
  2. package/dist/src/core/agent-memory.d.ts +41 -0
  3. package/dist/src/core/agent-memory.d.ts.map +1 -0
  4. package/dist/src/core/agent-memory.js +127 -0
  5. package/dist/src/core/agent-memory.js.map +1 -0
  6. package/dist/src/core/config.d.ts +78 -0
  7. package/dist/src/core/config.d.ts.map +1 -0
  8. package/dist/src/core/config.js +41 -0
  9. package/dist/src/core/config.js.map +1 -0
  10. package/dist/src/core/observability.d.ts +22 -0
  11. package/dist/src/core/observability.d.ts.map +1 -0
  12. package/dist/src/core/observability.js +33 -0
  13. package/dist/src/core/observability.js.map +1 -0
  14. package/dist/src/core/policy.d.ts +47 -0
  15. package/dist/src/core/policy.d.ts.map +1 -0
  16. package/dist/src/core/policy.js +73 -0
  17. package/dist/src/core/policy.js.map +1 -0
  18. package/dist/src/core/privacy.d.ts +23 -0
  19. package/dist/src/core/privacy.d.ts.map +1 -0
  20. package/dist/src/core/privacy.js +45 -0
  21. package/dist/src/core/privacy.js.map +1 -0
  22. package/dist/src/core/router.d.ts +35 -0
  23. package/dist/src/core/router.d.ts.map +1 -0
  24. package/dist/src/core/router.js +86 -0
  25. package/dist/src/core/router.js.map +1 -0
  26. package/dist/src/core/types.d.ts +82 -0
  27. package/dist/src/core/types.d.ts.map +1 -0
  28. package/dist/src/core/types.js +7 -0
  29. package/dist/{adapters → src/core}/types.js.map +1 -1
  30. package/dist/src/create-agent-memory.d.ts +47 -0
  31. package/dist/src/create-agent-memory.d.ts.map +1 -0
  32. package/dist/src/create-agent-memory.js +148 -0
  33. package/dist/src/create-agent-memory.js.map +1 -0
  34. package/dist/src/index.d.ts +8 -0
  35. package/dist/src/index.d.ts.map +1 -0
  36. package/dist/src/index.js +13 -0
  37. package/dist/src/index.js.map +1 -0
  38. package/dist/src/ingest/pdf-ingest.d.ts +27 -0
  39. package/dist/src/ingest/pdf-ingest.d.ts.map +1 -0
  40. package/dist/src/ingest/pdf-ingest.js +89 -0
  41. package/dist/src/ingest/pdf-ingest.js.map +1 -0
  42. package/dist/src/ingest/url-ingest.d.ts +27 -0
  43. package/dist/src/ingest/url-ingest.d.ts.map +1 -0
  44. package/dist/src/ingest/url-ingest.js +301 -0
  45. package/dist/src/ingest/url-ingest.js.map +1 -0
  46. package/dist/src/integrations/deepagents-adapter.d.ts +42 -0
  47. package/dist/src/integrations/deepagents-adapter.d.ts.map +1 -0
  48. package/dist/src/integrations/deepagents-adapter.js +146 -0
  49. package/dist/src/integrations/deepagents-adapter.js.map +1 -0
  50. package/dist/src/integrations/langchain.d.ts +27 -0
  51. package/dist/src/integrations/langchain.d.ts.map +1 -0
  52. package/dist/src/integrations/langchain.js +28 -0
  53. package/dist/src/integrations/langchain.js.map +1 -0
  54. package/dist/src/integrations/langgraph.d.ts +23 -0
  55. package/dist/src/integrations/langgraph.d.ts.map +1 -0
  56. package/dist/src/integrations/langgraph.js +30 -0
  57. package/dist/src/integrations/langgraph.js.map +1 -0
  58. package/dist/src/providers/in-memory-store.d.ts +15 -0
  59. package/dist/src/providers/in-memory-store.d.ts.map +1 -0
  60. package/dist/src/providers/in-memory-store.js +62 -0
  61. package/dist/src/providers/in-memory-store.js.map +1 -0
  62. package/dist/src/providers/mem0-provider.d.ts +47 -0
  63. package/dist/src/providers/mem0-provider.d.ts.map +1 -0
  64. package/dist/src/providers/mem0-provider.js +99 -0
  65. package/dist/src/providers/mem0-provider.js.map +1 -0
  66. package/dist/src/providers/rag-provider.d.ts +27 -0
  67. package/dist/src/providers/rag-provider.d.ts.map +1 -0
  68. package/dist/src/providers/rag-provider.js +58 -0
  69. package/dist/src/providers/rag-provider.js.map +1 -0
  70. package/dist/src/providers/sqlite-store.d.ts +21 -0
  71. package/dist/src/providers/sqlite-store.d.ts.map +1 -0
  72. package/dist/src/providers/sqlite-store.js +142 -0
  73. package/dist/src/providers/sqlite-store.js.map +1 -0
  74. package/dist/test/core/agent-memory.test.d.ts +2 -0
  75. package/dist/test/core/agent-memory.test.d.ts.map +1 -0
  76. package/dist/test/core/agent-memory.test.js +119 -0
  77. package/dist/test/core/agent-memory.test.js.map +1 -0
  78. package/dist/test/core/config.test.d.ts +2 -0
  79. package/dist/test/core/config.test.d.ts.map +1 -0
  80. package/dist/test/core/config.test.js +48 -0
  81. package/dist/test/core/config.test.js.map +1 -0
  82. package/dist/test/core/observability.test.d.ts +2 -0
  83. package/dist/test/core/observability.test.d.ts.map +1 -0
  84. package/dist/test/core/observability.test.js +53 -0
  85. package/dist/test/core/observability.test.js.map +1 -0
  86. package/dist/test/core/policy.test.d.ts +2 -0
  87. package/dist/test/core/policy.test.d.ts.map +1 -0
  88. package/dist/test/core/policy.test.js +42 -0
  89. package/dist/test/core/policy.test.js.map +1 -0
  90. package/dist/test/core/privacy.test.d.ts +2 -0
  91. package/dist/test/core/privacy.test.d.ts.map +1 -0
  92. package/dist/test/core/privacy.test.js +44 -0
  93. package/dist/test/core/privacy.test.js.map +1 -0
  94. package/dist/test/core/router.test.d.ts +2 -0
  95. package/dist/test/core/router.test.d.ts.map +1 -0
  96. package/dist/test/core/router.test.js +118 -0
  97. package/dist/test/core/router.test.js.map +1 -0
  98. package/dist/test/create-agent-memory.test.d.ts +2 -0
  99. package/dist/test/create-agent-memory.test.d.ts.map +1 -0
  100. package/dist/test/create-agent-memory.test.js +122 -0
  101. package/dist/test/create-agent-memory.test.js.map +1 -0
  102. package/dist/test/ingest/url-ingest.test.d.ts +2 -0
  103. package/dist/test/ingest/url-ingest.test.d.ts.map +1 -0
  104. package/dist/test/ingest/url-ingest.test.js +142 -0
  105. package/dist/test/ingest/url-ingest.test.js.map +1 -0
  106. package/dist/test/integration/agent-memory-flow.test.d.ts +5 -0
  107. package/dist/test/integration/agent-memory-flow.test.d.ts.map +1 -0
  108. package/dist/test/integration/agent-memory-flow.test.js +80 -0
  109. package/dist/test/integration/agent-memory-flow.test.js.map +1 -0
  110. package/dist/test/integration/helpers/ollama-live.d.ts +16 -0
  111. package/dist/test/integration/helpers/ollama-live.d.ts.map +1 -0
  112. package/dist/test/integration/helpers/ollama-live.js +101 -0
  113. package/dist/test/integration/helpers/ollama-live.js.map +1 -0
  114. package/dist/test/integration/url-ingest-flow.test.d.ts +5 -0
  115. package/dist/test/integration/url-ingest-flow.test.d.ts.map +1 -0
  116. package/dist/test/integration/url-ingest-flow.test.js +50 -0
  117. package/dist/test/integration/url-ingest-flow.test.js.map +1 -0
  118. package/dist/test/integration/vlm-llm-live.test.d.ts +9 -0
  119. package/dist/test/integration/vlm-llm-live.test.d.ts.map +1 -0
  120. package/dist/test/integration/vlm-llm-live.test.js +141 -0
  121. package/dist/test/integration/vlm-llm-live.test.js.map +1 -0
  122. package/dist/test/providers/in-memory-store.test.d.ts +2 -0
  123. package/dist/test/providers/in-memory-store.test.d.ts.map +1 -0
  124. package/dist/test/providers/in-memory-store.test.js +44 -0
  125. package/dist/test/providers/in-memory-store.test.js.map +1 -0
  126. package/dist/test/providers/rag-provider.test.d.ts +2 -0
  127. package/dist/test/providers/rag-provider.test.d.ts.map +1 -0
  128. package/dist/test/providers/rag-provider.test.js +113 -0
  129. package/dist/test/providers/rag-provider.test.js.map +1 -0
  130. package/dist/test/providers/sqlite-store.test.d.ts +2 -0
  131. package/dist/test/providers/sqlite-store.test.d.ts.map +1 -0
  132. package/dist/test/providers/sqlite-store.test.js +119 -0
  133. package/dist/test/providers/sqlite-store.test.js.map +1 -0
  134. package/package.json +79 -39
  135. package/bin/chat +0 -11
  136. package/dist/adapters/index.d.ts +0 -8
  137. package/dist/adapters/index.d.ts.map +0 -1
  138. package/dist/adapters/index.js +0 -29
  139. package/dist/adapters/index.js.map +0 -1
  140. package/dist/adapters/mem0/mem0-store.d.ts +0 -29
  141. package/dist/adapters/mem0/mem0-store.d.ts.map +0 -1
  142. package/dist/adapters/mem0/mem0-store.js +0 -174
  143. package/dist/adapters/mem0/mem0-store.js.map +0 -1
  144. package/dist/adapters/rag-http/rag-http-retriever.d.ts +0 -18
  145. package/dist/adapters/rag-http/rag-http-retriever.d.ts.map +0 -1
  146. package/dist/adapters/rag-http/rag-http-retriever.js +0 -71
  147. package/dist/adapters/rag-http/rag-http-retriever.js.map +0 -1
  148. package/dist/adapters/types.d.ts +0 -25
  149. package/dist/adapters/types.d.ts.map +0 -1
  150. package/dist/adapters/types.js +0 -6
  151. package/dist/boot/boot-rebuilder.d.ts +0 -26
  152. package/dist/boot/boot-rebuilder.d.ts.map +0 -1
  153. package/dist/boot/boot-rebuilder.js +0 -112
  154. package/dist/boot/boot-rebuilder.js.map +0 -1
  155. package/dist/boot/index.d.ts +0 -3
  156. package/dist/boot/index.d.ts.map +0 -1
  157. package/dist/boot/index.js +0 -6
  158. package/dist/boot/index.js.map +0 -1
  159. package/dist/cli/chat-split.d.ts +0 -22
  160. package/dist/cli/chat-split.d.ts.map +0 -1
  161. package/dist/cli/chat-split.js +0 -187
  162. package/dist/cli/chat-split.js.map +0 -1
  163. package/dist/cli/chat.d.ts +0 -19
  164. package/dist/cli/chat.d.ts.map +0 -1
  165. package/dist/cli/chat.js +0 -266
  166. package/dist/cli/chat.js.map +0 -1
  167. package/dist/cli/commands/command-handler.d.ts +0 -32
  168. package/dist/cli/commands/command-handler.d.ts.map +0 -1
  169. package/dist/cli/commands/command-handler.js +0 -143
  170. package/dist/cli/commands/command-handler.js.map +0 -1
  171. package/dist/cli/index.d.ts +0 -3
  172. package/dist/cli/index.d.ts.map +0 -1
  173. package/dist/cli/index.js +0 -8
  174. package/dist/cli/index.js.map +0 -1
  175. package/dist/cli/ui/display-manager.d.ts +0 -18
  176. package/dist/cli/ui/display-manager.d.ts.map +0 -1
  177. package/dist/cli/ui/display-manager.js +0 -69
  178. package/dist/cli/ui/display-manager.js.map +0 -1
  179. package/dist/cli/ui/screen-layout.d.ts +0 -12
  180. package/dist/cli/ui/screen-layout.d.ts.map +0 -1
  181. package/dist/cli/ui/screen-layout.js +0 -125
  182. package/dist/cli/ui/screen-layout.js.map +0 -1
  183. package/dist/config/index.d.ts +0 -2
  184. package/dist/config/index.d.ts.map +0 -1
  185. package/dist/config/index.js +0 -6
  186. package/dist/config/index.js.map +0 -1
  187. package/dist/config/loader.d.ts +0 -9
  188. package/dist/config/loader.d.ts.map +0 -1
  189. package/dist/config/loader.js +0 -107
  190. package/dist/config/loader.js.map +0 -1
  191. package/dist/context/context-builder.d.ts +0 -18
  192. package/dist/context/context-builder.d.ts.map +0 -1
  193. package/dist/context/context-builder.js +0 -91
  194. package/dist/context/context-builder.js.map +0 -1
  195. package/dist/core/agent-memory.d.ts +0 -50
  196. package/dist/core/agent-memory.d.ts.map +0 -1
  197. package/dist/core/agent-memory.js +0 -297
  198. package/dist/core/agent-memory.js.map +0 -1
  199. package/dist/embedding/embedder.d.ts +0 -49
  200. package/dist/embedding/embedder.d.ts.map +0 -1
  201. package/dist/embedding/embedder.js +0 -146
  202. package/dist/embedding/embedder.js.map +0 -1
  203. package/dist/embedding/index.d.ts +0 -3
  204. package/dist/embedding/index.d.ts.map +0 -1
  205. package/dist/embedding/index.js +0 -8
  206. package/dist/embedding/index.js.map +0 -1
  207. package/dist/gate/deduplicator.d.ts +0 -22
  208. package/dist/gate/deduplicator.d.ts.map +0 -1
  209. package/dist/gate/deduplicator.js +0 -74
  210. package/dist/gate/deduplicator.js.map +0 -1
  211. package/dist/gate/extractor.d.ts +0 -33
  212. package/dist/gate/extractor.d.ts.map +0 -1
  213. package/dist/gate/extractor.js +0 -122
  214. package/dist/gate/extractor.js.map +0 -1
  215. package/dist/gate/index.d.ts +0 -3
  216. package/dist/gate/index.d.ts.map +0 -1
  217. package/dist/gate/index.js +0 -6
  218. package/dist/gate/index.js.map +0 -1
  219. package/dist/gate/memory-gate.d.ts +0 -27
  220. package/dist/gate/memory-gate.d.ts.map +0 -1
  221. package/dist/gate/memory-gate.js +0 -86
  222. package/dist/gate/memory-gate.js.map +0 -1
  223. package/dist/gate/redactor.d.ts +0 -14
  224. package/dist/gate/redactor.d.ts.map +0 -1
  225. package/dist/gate/redactor.js +0 -24
  226. package/dist/gate/redactor.js.map +0 -1
  227. package/dist/index.d.ts +0 -6
  228. package/dist/index.d.ts.map +0 -1
  229. package/dist/index.js +0 -24
  230. package/dist/index.js.map +0 -1
  231. package/dist/indexing/in-memory-index.d.ts +0 -67
  232. package/dist/indexing/in-memory-index.d.ts.map +0 -1
  233. package/dist/indexing/in-memory-index.js +0 -135
  234. package/dist/indexing/in-memory-index.js.map +0 -1
  235. package/dist/indexing/index.d.ts +0 -3
  236. package/dist/indexing/index.d.ts.map +0 -1
  237. package/dist/indexing/index.js +0 -6
  238. package/dist/indexing/index.js.map +0 -1
  239. package/dist/persistence/database/schema.d.ts +0 -6
  240. package/dist/persistence/database/schema.d.ts.map +0 -1
  241. package/dist/persistence/database/schema.js +0 -75
  242. package/dist/persistence/database/schema.js.map +0 -1
  243. package/dist/persistence/index.d.ts +0 -3
  244. package/dist/persistence/index.d.ts.map +0 -1
  245. package/dist/persistence/index.js +0 -6
  246. package/dist/persistence/index.js.map +0 -1
  247. package/dist/persistence/repository/embedding-operations.d.ts +0 -17
  248. package/dist/persistence/repository/embedding-operations.d.ts.map +0 -1
  249. package/dist/persistence/repository/embedding-operations.js +0 -58
  250. package/dist/persistence/repository/embedding-operations.js.map +0 -1
  251. package/dist/persistence/repository/memory-operations.d.ts +0 -28
  252. package/dist/persistence/repository/memory-operations.d.ts.map +0 -1
  253. package/dist/persistence/repository/memory-operations.js +0 -87
  254. package/dist/persistence/repository/memory-operations.js.map +0 -1
  255. package/dist/persistence/repository/meta-operations.d.ts +0 -15
  256. package/dist/persistence/repository/meta-operations.d.ts.map +0 -1
  257. package/dist/persistence/repository/meta-operations.js +0 -20
  258. package/dist/persistence/repository/meta-operations.js.map +0 -1
  259. package/dist/persistence/sqlite-repo.d.ts +0 -58
  260. package/dist/persistence/sqlite-repo.d.ts.map +0 -1
  261. package/dist/persistence/sqlite-repo.js +0 -81
  262. package/dist/persistence/sqlite-repo.js.map +0 -1
  263. package/dist/persistence/utils/hash.d.ts +0 -8
  264. package/dist/persistence/utils/hash.d.ts.map +0 -1
  265. package/dist/persistence/utils/hash.js +0 -48
  266. package/dist/persistence/utils/hash.js.map +0 -1
  267. package/dist/persistence/utils/serialization.d.ts +0 -33
  268. package/dist/persistence/utils/serialization.d.ts.map +0 -1
  269. package/dist/persistence/utils/serialization.js +0 -85
  270. package/dist/persistence/utils/serialization.js.map +0 -1
  271. package/dist/processing/document/document-processor.d.ts +0 -30
  272. package/dist/processing/document/document-processor.d.ts.map +0 -1
  273. package/dist/processing/document/document-processor.js +0 -158
  274. package/dist/processing/document/document-processor.js.map +0 -1
  275. package/dist/processing/document/index.d.ts +0 -3
  276. package/dist/processing/document/index.d.ts.map +0 -1
  277. package/dist/processing/document/index.js +0 -6
  278. package/dist/processing/document/index.js.map +0 -1
  279. package/dist/ranker/ranker.d.ts +0 -26
  280. package/dist/ranker/ranker.d.ts.map +0 -1
  281. package/dist/ranker/ranker.js +0 -40
  282. package/dist/ranker/ranker.js.map +0 -1
  283. package/dist/recall/recall-engine.d.ts +0 -19
  284. package/dist/recall/recall-engine.d.ts.map +0 -1
  285. package/dist/recall/recall-engine.js +0 -79
  286. package/dist/recall/recall-engine.js.map +0 -1
  287. package/dist/types/config.d.ts +0 -821
  288. package/dist/types/config.d.ts.map +0 -1
  289. package/dist/types/config.js +0 -128
  290. package/dist/types/config.js.map +0 -1
  291. package/dist/types/document.d.ts +0 -37
  292. package/dist/types/document.d.ts.map +0 -1
  293. package/dist/types/document.js +0 -6
  294. package/dist/types/document.js.map +0 -1
  295. package/dist/types/index.d.ts +0 -86
  296. package/dist/types/index.d.ts.map +0 -1
  297. package/dist/types/index.js +0 -6
  298. package/dist/types/index.js.map +0 -1
@@ -1,112 +0,0 @@
1
- "use strict";
2
- /**
3
- * Boot Rebuilder - Rebuild in-memory index from SQLite on startup
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BootRebuilder = void 0;
7
- class BootRebuilder {
8
- constructor(repo, index, embedder, options = {}) {
9
- this.repo = repo;
10
- this.index = index;
11
- this.embedder = embedder;
12
- this.options = options;
13
- this.options.batchSize = options.batchSize || 200;
14
- this.options.onModelMismatch = options.onModelMismatch || "fail";
15
- }
16
- /**
17
- * Rebuild in-memory index from SQLite
18
- */
19
- async rebuild() {
20
- // 1. Check embedding model/dim consistency
21
- const storedModel = await this.repo.getMeta("embedding_model");
22
- const storedDim = await this.repo.getMeta("embedding_dim");
23
- if (storedModel && storedModel !== this.embedder.model) {
24
- if (this.options.onModelMismatch === "fail") {
25
- throw new Error(`Embedding model mismatch: db=${storedModel}, runtime=${this.embedder.model}. Set onModelMismatch=reembed_all to allow rebuild.`);
26
- }
27
- // reembed_all: continue, will re-embed items without embeddings
28
- }
29
- if (storedDim && Number(storedDim) !== this.embedder.dim) {
30
- if (this.options.onModelMismatch === "fail") {
31
- throw new Error(`Embedding dimension mismatch: db=${storedDim}, runtime=${this.embedder.dim}. Set onModelMismatch=reembed_all to allow rebuild.`);
32
- }
33
- }
34
- // 2. Clear existing index
35
- await this.index.clear();
36
- // 3. Load all active items from SQLite
37
- const items = await this.repo.loadAllActive();
38
- if (items.length === 0) {
39
- await this.repo.setMeta("last_rebuild_at", new Date().toISOString());
40
- return;
41
- }
42
- // 4. Batch add to index
43
- const batchSize = this.options.batchSize || 200;
44
- const itemsToEmbed = [];
45
- for (let i = 0; i < items.length; i += batchSize) {
46
- const batch = items.slice(i, i + batchSize);
47
- // Add items to index (without embeddings first)
48
- await this.index.add(batch);
49
- // Collect items that need embeddings
50
- for (const item of batch) {
51
- // Check embedding status from memory_items table
52
- // Try to load embedding from SQLite
53
- try {
54
- const embeddingData = await this.repo.loadEmbedding(item.id);
55
- if (embeddingData && embeddingData.length === this.embedder.dim) {
56
- // Verify model matches
57
- const storedModel = await this.repo.getMeta("embedding_model");
58
- if (storedModel === this.embedder.model) {
59
- await this.index.addEmbedding(item.id, embeddingData);
60
- continue;
61
- }
62
- }
63
- }
64
- catch (error) {
65
- // Embedding not found or error, will re-embed
66
- }
67
- // Need to re-embed
68
- itemsToEmbed.push({ id: item.id, content: item.content });
69
- }
70
- // Yield to event loop
71
- await new Promise((resolve) => setImmediate(resolve));
72
- }
73
- // 5. Re-embed items that need embeddings (if any)
74
- if (itemsToEmbed.length > 0 && this.options.onModelMismatch === "reembed_all") {
75
- console.log(`Re-embedding ${itemsToEmbed.length} items...`);
76
- await this.reembedItems(itemsToEmbed);
77
- }
78
- // 6. Update metadata
79
- await this.repo.setMeta("embedding_model", this.embedder.model);
80
- await this.repo.setMeta("embedding_dim", String(this.embedder.dim));
81
- await this.repo.setMeta("last_rebuild_at", new Date().toISOString());
82
- }
83
- /**
84
- * Re-embed items and save to repository
85
- */
86
- async reembedItems(items) {
87
- const batchSize = 50; // Smaller batches for embedding
88
- for (let i = 0; i < items.length; i += batchSize) {
89
- const batch = items.slice(i, i + batchSize);
90
- const texts = batch.map((item) => item.content);
91
- try {
92
- const embeddings = await this.embedder.embed(texts);
93
- for (let j = 0; j < batch.length; j++) {
94
- const item = batch[j];
95
- const embedding = embeddings[j];
96
- // Save to repository
97
- await this.repo.saveEmbedding(item.id, this.embedder.model, this.embedder.dim, embedding);
98
- // Add to index
99
- await this.index.addEmbedding(item.id, embedding);
100
- }
101
- }
102
- catch (error) {
103
- console.error(`Failed to re-embed batch starting at ${i}:`, error);
104
- // Continue with next batch
105
- }
106
- // Yield to event loop
107
- await new Promise((resolve) => setImmediate(resolve));
108
- }
109
- }
110
- }
111
- exports.BootRebuilder = BootRebuilder;
112
- //# sourceMappingURL=boot-rebuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boot-rebuilder.js","sourceRoot":"","sources":["../../src/boot/boot-rebuilder.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { BootRebuilder } from "./boot-rebuilder";
2
- export type { BootRebuilderOptions } from "./boot-rebuilder";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/boot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BootRebuilder = void 0;
4
- var boot_rebuilder_1 = require("./boot-rebuilder");
5
- Object.defineProperty(exports, "BootRebuilder", { enumerable: true, get: function () { return boot_rebuilder_1.BootRebuilder; } });
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/boot/index.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Split Screen Chat Console for agent-memory
3
- * Left: Chat input/output
4
- * Right: Memory display
5
- */
6
- declare class SplitScreenChat {
7
- private components;
8
- private display;
9
- private commandHandler;
10
- private am;
11
- private state;
12
- private memories;
13
- constructor();
14
- private setupEventHandlers;
15
- init(configPath: string): Promise<void>;
16
- private handleInput;
17
- private handleMessage;
18
- private quit;
19
- start(): void;
20
- }
21
- export { SplitScreenChat };
22
- //# sourceMappingURL=chat-split.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-split.d.ts","sourceRoot":"","sources":["../../src/cli/chat-split.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,cAAM,eAAe;IACnB,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,QAAQ,CAAoB;;IAyCpC,OAAO,CAAC,kBAAkB;IAuBpB,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA6B/B,WAAW;YAWX,aAAa;IAuC3B,OAAO,CAAC,IAAI;IAQZ,KAAK,IAAI,IAAI;CAGd;AA0BD,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,187 +0,0 @@
1
- "use strict";
2
- /**
3
- * Split Screen Chat Console for agent-memory
4
- * Left: Chat input/output
5
- * Right: Memory display
6
- */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || (function () {
24
- var ownKeys = function(o) {
25
- ownKeys = Object.getOwnPropertyNames || function (o) {
26
- var ar = [];
27
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
- return ar;
29
- };
30
- return ownKeys(o);
31
- };
32
- return function (mod) {
33
- if (mod && mod.__esModule) return mod;
34
- var result = {};
35
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
- __setModuleDefault(result, mod);
37
- return result;
38
- };
39
- })();
40
- Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.SplitScreenChat = void 0;
42
- const agent_memory_1 = require("../core/agent-memory");
43
- const path = __importStar(require("path"));
44
- const screen_layout_1 = require("./ui/screen-layout");
45
- const display_manager_1 = require("./ui/display-manager");
46
- const command_handler_1 = require("./commands/command-handler");
47
- class SplitScreenChat {
48
- constructor() {
49
- this.am = null;
50
- this.memories = [];
51
- this.state = {
52
- actor: { id: "console-user", type: "user" },
53
- scope: { projectId: "default", channelId: "console" },
54
- };
55
- // Create screen layout
56
- this.components = (0, screen_layout_1.createScreenLayout)();
57
- // Create display manager
58
- this.display = new display_manager_1.DisplayManager(this.components.chatBox, this.components.memoryBox, this.components.statusBar, this.components.screen);
59
- // Create command handler
60
- this.commandHandler = new command_handler_1.CommandHandler(this.am, this.state, this.display, (memories) => {
61
- this.memories = memories;
62
- this.display.updateMemoryDisplay(memories);
63
- }, () => {
64
- this.display.updateStatusBar(this.state.actor.id, this.state.scope, this.memories.length);
65
- });
66
- // Setup event handlers
67
- this.setupEventHandlers();
68
- }
69
- setupEventHandlers() {
70
- // Handle input
71
- this.components.inputBox.on("submit", async (value) => {
72
- await this.handleInput(value);
73
- this.components.inputBox.clearValue();
74
- this.components.screen.render();
75
- this.components.inputBox.focus();
76
- });
77
- // Handle escape to quit
78
- this.components.screen.key(["escape", "q", "C-c"], () => {
79
- return this.quit();
80
- });
81
- // Handle Ctrl+L to clear
82
- this.components.screen.key(["C-l"], () => {
83
- this.display.clearChatHistory();
84
- });
85
- // Focus input on start
86
- this.components.inputBox.focus();
87
- }
88
- async init(configPath) {
89
- try {
90
- this.display.addChatMessage("系统", "正在初始化 agent-memory...");
91
- this.am = await agent_memory_1.AgentMemory.fromYaml(configPath);
92
- this.commandHandler = new command_handler_1.CommandHandler(this.am, this.state, this.display, (memories) => {
93
- this.memories = memories;
94
- this.display.updateMemoryDisplay(memories);
95
- }, () => {
96
- this.display.updateStatusBar(this.state.actor.id, this.state.scope, this.memories.length);
97
- });
98
- this.display.addChatMessage("系统", "✓ 初始化成功!");
99
- this.display.addChatMessage("系统", "输入消息存储记忆,/recall 召回,/help 帮助,ESC 退出");
100
- this.display.updateStatusBar(this.state.actor.id, this.state.scope, 0);
101
- }
102
- catch (error) {
103
- this.display.addChatMessage("错误", `初始化失败: ${error}`);
104
- setTimeout(() => this.quit(), 2000);
105
- }
106
- }
107
- async handleInput(input) {
108
- const trimmed = input.trim();
109
- if (!trimmed)
110
- return;
111
- if (trimmed.startsWith("/")) {
112
- await this.commandHandler.handleCommand(trimmed);
113
- }
114
- else {
115
- await this.handleMessage(trimmed);
116
- }
117
- }
118
- async handleMessage(message) {
119
- if (!this.am) {
120
- this.display.addChatMessage("错误", "agent-memory 未初始化");
121
- return;
122
- }
123
- this.display.addChatMessage("你", message);
124
- try {
125
- this.display.addChatMessage("系统", "正在存储记忆...");
126
- await this.am.remember({
127
- messages: [{ role: "user", content: message }],
128
- actor: this.state.actor,
129
- scope: this.state.scope,
130
- });
131
- this.display.addChatMessage("系统", "✓ 记忆已存储");
132
- // Auto-recall to update memory display after a short delay
133
- setTimeout(async () => {
134
- try {
135
- const result = await this.am.recall({
136
- query: message.substring(0, 30) || "recent",
137
- actor: this.state.actor,
138
- scope: this.state.scope,
139
- topK: 15,
140
- includeMemory: true,
141
- });
142
- this.memories = result.memory;
143
- this.display.updateMemoryDisplay(this.memories);
144
- this.display.updateStatusBar(this.state.actor.id, this.state.scope, this.memories.length);
145
- }
146
- catch (error) {
147
- // Silent fail for auto-recall
148
- }
149
- }, 2000);
150
- }
151
- catch (error) {
152
- this.display.addChatMessage("错误", `存储失败: ${error}`);
153
- }
154
- }
155
- quit() {
156
- if (this.am) {
157
- this.am.close();
158
- }
159
- this.components.screen.destroy();
160
- process.exit(0);
161
- }
162
- start() {
163
- this.components.screen.render();
164
- }
165
- }
166
- exports.SplitScreenChat = SplitScreenChat;
167
- // Main entry point
168
- async function main() {
169
- const args = process.argv.slice(2);
170
- const configPath = args[0] || "./agent-memory.yaml";
171
- const resolvedPath = path.resolve(configPath);
172
- const chat = new SplitScreenChat();
173
- await chat.init(resolvedPath);
174
- chat.start();
175
- }
176
- // Run if executed directly
177
- const isMainModule = require.main === module;
178
- const isChatScript = process.argv[1]?.endsWith("chat-split.ts") ||
179
- process.argv[1]?.endsWith("chat-split.js") ||
180
- process.argv[1]?.includes("bin/chat-split");
181
- if (isMainModule || isChatScript) {
182
- main().catch((error) => {
183
- console.error("启动失败:", error);
184
- process.exit(1);
185
- });
186
- }
187
- //# sourceMappingURL=chat-split.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-split.js","sourceRoot":"","sources":["../../src/cli/chat-split.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Simple Chat Console for agent-memory
3
- */
4
- declare class ChatConsole {
5
- private rl;
6
- private am;
7
- private state;
8
- constructor();
9
- init(configPath: string): Promise<void>;
10
- start(): Promise<void>;
11
- private handleCommand;
12
- private showHelp;
13
- private handleScope;
14
- private handleActor;
15
- private handleRecall;
16
- private handleMessage;
17
- }
18
- export { ChatConsole };
19
- //# sourceMappingURL=chat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/cli/chat.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,cAAM,WAAW;IACf,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,KAAK,CAAY;;IAenB,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA+Bd,aAAa;IAkC3B,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,WAAW;YASL,YAAY;YAwDZ,aAAa;CAkB5B;AA4BD,OAAO,EAAE,WAAW,EAAE,CAAC"}
package/dist/cli/chat.js DELETED
@@ -1,266 +0,0 @@
1
- "use strict";
2
- /**
3
- * Simple Chat Console for agent-memory
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || (function () {
22
- var ownKeys = function(o) {
23
- ownKeys = Object.getOwnPropertyNames || function (o) {
24
- var ar = [];
25
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
- return ar;
27
- };
28
- return ownKeys(o);
29
- };
30
- return function (mod) {
31
- if (mod && mod.__esModule) return mod;
32
- var result = {};
33
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
- __setModuleDefault(result, mod);
35
- return result;
36
- };
37
- })();
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.ChatConsole = void 0;
40
- const readline = __importStar(require("readline"));
41
- const agent_memory_1 = require("../core/agent-memory");
42
- const path = __importStar(require("path"));
43
- class ChatConsole {
44
- constructor() {
45
- this.am = null;
46
- this.rl = readline.createInterface({
47
- input: process.stdin,
48
- output: process.stdout,
49
- prompt: "> ",
50
- });
51
- this.state = {
52
- actor: { id: "console-user", type: "user" },
53
- scope: { projectId: "default", channelId: "console" },
54
- };
55
- }
56
- async init(configPath) {
57
- try {
58
- console.log("正在初始化 agent-memory...");
59
- this.am = await agent_memory_1.AgentMemory.fromYaml(configPath);
60
- console.log("✓ 初始化成功!\n");
61
- console.log("可用命令:");
62
- console.log(" /help - 显示帮助");
63
- console.log(" /scope - 设置 scope (projectId, channelId, threadId)");
64
- console.log(" /actor - 设置 actor ID");
65
- console.log(" /recall - 召回记忆");
66
- console.log(" /clear - 清屏");
67
- console.log(" /exit - 退出\n");
68
- console.log("直接输入消息将自动存储为记忆\n");
69
- }
70
- catch (error) {
71
- console.error("初始化失败:", error);
72
- process.exit(1);
73
- }
74
- }
75
- async start() {
76
- this.rl.prompt();
77
- this.rl.on("line", async (input) => {
78
- const trimmed = input.trim();
79
- if (!trimmed) {
80
- this.rl.prompt();
81
- return;
82
- }
83
- // Handle commands
84
- if (trimmed.startsWith("/")) {
85
- await this.handleCommand(trimmed);
86
- }
87
- else {
88
- // Store as memory
89
- await this.handleMessage(trimmed);
90
- }
91
- this.rl.prompt();
92
- });
93
- this.rl.on("close", () => {
94
- console.log("\n再见!");
95
- if (this.am) {
96
- this.am.close();
97
- }
98
- process.exit(0);
99
- });
100
- }
101
- async handleCommand(cmd) {
102
- const [command, ...args] = cmd.split(" ");
103
- switch (command) {
104
- case "/help":
105
- this.showHelp();
106
- break;
107
- case "/scope":
108
- this.handleScope(args);
109
- break;
110
- case "/actor":
111
- this.handleActor(args);
112
- break;
113
- case "/recall":
114
- await this.handleRecall(args.join(" "));
115
- break;
116
- case "/clear":
117
- console.clear();
118
- break;
119
- case "/exit":
120
- case "/quit":
121
- this.rl.close();
122
- break;
123
- default:
124
- console.log(`未知命令: ${command}。输入 /help 查看帮助。`);
125
- }
126
- }
127
- showHelp() {
128
- console.log("\n命令列表:");
129
- console.log(" /help - 显示此帮助信息");
130
- console.log(" /scope <args> - 设置 scope");
131
- console.log(" 例如: /scope project=proj1 channel=chan1");
132
- console.log(" /actor <id> - 设置 actor ID");
133
- console.log(" 例如: /actor U123");
134
- console.log(" /recall <query> - 召回记忆");
135
- console.log(" 例如: /recall 发布流程是什么?");
136
- console.log(" /clear - 清屏");
137
- console.log(" /exit 或 /quit - 退出程序\n");
138
- }
139
- handleScope(args) {
140
- for (const arg of args) {
141
- const [key, value] = arg.split("=");
142
- if (key && value) {
143
- switch (key.toLowerCase()) {
144
- case "project":
145
- case "projectid":
146
- this.state.scope.projectId = value;
147
- console.log(`✓ 设置 projectId: ${value}`);
148
- break;
149
- case "channel":
150
- case "channelid":
151
- this.state.scope.channelId = value;
152
- console.log(`✓ 设置 channelId: ${value}`);
153
- break;
154
- case "thread":
155
- case "threadid":
156
- this.state.scope.threadId = value;
157
- console.log(`✓ 设置 threadId: ${value}`);
158
- break;
159
- default:
160
- console.log(`未知的 scope 参数: ${key}`);
161
- }
162
- }
163
- }
164
- console.log(`当前 scope:`, this.state.scope);
165
- }
166
- handleActor(args) {
167
- if (args.length > 0) {
168
- this.state.actor.id = args[0];
169
- console.log(`✓ 设置 actor ID: ${args[0]}`);
170
- }
171
- else {
172
- console.log(`当前 actor: ${this.state.actor.id}`);
173
- }
174
- }
175
- async handleRecall(query) {
176
- if (!this.am) {
177
- console.log("错误: agent-memory 未初始化");
178
- return;
179
- }
180
- if (!query) {
181
- console.log("请输入查询内容,例如: /recall 发布流程是什么?");
182
- return;
183
- }
184
- try {
185
- console.log(`\n正在召回记忆: "${query}"...`);
186
- const result = await this.am.recall({
187
- query,
188
- actor: this.state.actor,
189
- scope: this.state.scope,
190
- topK: 5,
191
- includeMemory: true,
192
- includeDocs: true,
193
- });
194
- console.log(`\n找到 ${result.memory.length} 条记忆,${result.docs.length} 个文档片段\n`);
195
- if (result.memory.length > 0) {
196
- console.log("=== 记忆 ===");
197
- result.memory.forEach((mem, idx) => {
198
- console.log(`${idx + 1}. [${mem.type}] ${mem.content}`);
199
- if (mem.confidence) {
200
- console.log(` 置信度: ${(mem.confidence * 100).toFixed(1)}%`);
201
- }
202
- });
203
- console.log();
204
- }
205
- if (result.docs.length > 0) {
206
- console.log("=== 文档证据 ===");
207
- result.docs.forEach((doc, idx) => {
208
- console.log(`${idx + 1}. ${doc.text.substring(0, 100)}...`);
209
- if (doc.score) {
210
- console.log(` 相似度: ${(doc.score * 100).toFixed(1)}%`);
211
- }
212
- });
213
- console.log();
214
- }
215
- if (result.context) {
216
- console.log("=== 生成的 Context ===");
217
- console.log(result.context);
218
- console.log();
219
- }
220
- }
221
- catch (error) {
222
- console.error("召回失败:", error);
223
- }
224
- }
225
- async handleMessage(message) {
226
- if (!this.am) {
227
- console.log("错误: agent-memory 未初始化");
228
- return;
229
- }
230
- try {
231
- console.log("正在存储记忆...");
232
- await this.am.remember({
233
- messages: [{ role: "user", content: message }],
234
- actor: this.state.actor,
235
- scope: this.state.scope,
236
- });
237
- console.log("✓ 记忆已存储\n");
238
- }
239
- catch (error) {
240
- console.error("存储失败:", error);
241
- }
242
- }
243
- }
244
- exports.ChatConsole = ChatConsole;
245
- // Main entry point
246
- async function main() {
247
- const args = process.argv.slice(2);
248
- const configPath = args[0] || "./agent-memory.yaml";
249
- const resolvedPath = path.resolve(configPath);
250
- console.log(`使用配置文件: ${resolvedPath}\n`);
251
- const chat = new ChatConsole();
252
- await chat.init(resolvedPath);
253
- await chat.start();
254
- }
255
- // Run if executed directly
256
- const isMainModule = require.main === module;
257
- const isChatScript = process.argv[1]?.endsWith("chat.ts") ||
258
- process.argv[1]?.endsWith("chat.js") ||
259
- process.argv[1]?.includes("bin/chat");
260
- if (isMainModule || isChatScript) {
261
- main().catch((error) => {
262
- console.error("启动失败:", error);
263
- process.exit(1);
264
- });
265
- }
266
- //# sourceMappingURL=chat.js.map