@easynet/agent-memory 0.0.2

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 (167) hide show
  1. package/README.md +260 -0
  2. package/bin/chat +11 -0
  3. package/dist/adapters/index.d.ts +8 -0
  4. package/dist/adapters/index.d.ts.map +1 -0
  5. package/dist/adapters/index.js +29 -0
  6. package/dist/adapters/index.js.map +1 -0
  7. package/dist/adapters/mem0/mem0-store.d.ts +29 -0
  8. package/dist/adapters/mem0/mem0-store.d.ts.map +1 -0
  9. package/dist/adapters/mem0/mem0-store.js +174 -0
  10. package/dist/adapters/mem0/mem0-store.js.map +1 -0
  11. package/dist/adapters/rag-http/rag-http-retriever.d.ts +18 -0
  12. package/dist/adapters/rag-http/rag-http-retriever.d.ts.map +1 -0
  13. package/dist/adapters/rag-http/rag-http-retriever.js +71 -0
  14. package/dist/adapters/rag-http/rag-http-retriever.js.map +1 -0
  15. package/dist/adapters/types.d.ts +25 -0
  16. package/dist/adapters/types.d.ts.map +1 -0
  17. package/dist/adapters/types.js +6 -0
  18. package/dist/adapters/types.js.map +1 -0
  19. package/dist/boot/boot-rebuilder.d.ts +26 -0
  20. package/dist/boot/boot-rebuilder.d.ts.map +1 -0
  21. package/dist/boot/boot-rebuilder.js +112 -0
  22. package/dist/boot/boot-rebuilder.js.map +1 -0
  23. package/dist/boot/index.d.ts +3 -0
  24. package/dist/boot/index.d.ts.map +1 -0
  25. package/dist/boot/index.js +6 -0
  26. package/dist/boot/index.js.map +1 -0
  27. package/dist/cli/chat-split.d.ts +22 -0
  28. package/dist/cli/chat-split.d.ts.map +1 -0
  29. package/dist/cli/chat-split.js +187 -0
  30. package/dist/cli/chat-split.js.map +1 -0
  31. package/dist/cli/chat.d.ts +19 -0
  32. package/dist/cli/chat.d.ts.map +1 -0
  33. package/dist/cli/chat.js +266 -0
  34. package/dist/cli/chat.js.map +1 -0
  35. package/dist/cli/commands/command-handler.d.ts +32 -0
  36. package/dist/cli/commands/command-handler.d.ts.map +1 -0
  37. package/dist/cli/commands/command-handler.js +143 -0
  38. package/dist/cli/commands/command-handler.js.map +1 -0
  39. package/dist/cli/index.d.ts +3 -0
  40. package/dist/cli/index.d.ts.map +1 -0
  41. package/dist/cli/index.js +8 -0
  42. package/dist/cli/index.js.map +1 -0
  43. package/dist/cli/ui/display-manager.d.ts +18 -0
  44. package/dist/cli/ui/display-manager.d.ts.map +1 -0
  45. package/dist/cli/ui/display-manager.js +69 -0
  46. package/dist/cli/ui/display-manager.js.map +1 -0
  47. package/dist/cli/ui/screen-layout.d.ts +12 -0
  48. package/dist/cli/ui/screen-layout.d.ts.map +1 -0
  49. package/dist/cli/ui/screen-layout.js +125 -0
  50. package/dist/cli/ui/screen-layout.js.map +1 -0
  51. package/dist/config/index.d.ts +2 -0
  52. package/dist/config/index.d.ts.map +1 -0
  53. package/dist/config/index.js +6 -0
  54. package/dist/config/index.js.map +1 -0
  55. package/dist/config/loader.d.ts +9 -0
  56. package/dist/config/loader.d.ts.map +1 -0
  57. package/dist/config/loader.js +107 -0
  58. package/dist/config/loader.js.map +1 -0
  59. package/dist/context/context-builder.d.ts +18 -0
  60. package/dist/context/context-builder.d.ts.map +1 -0
  61. package/dist/context/context-builder.js +91 -0
  62. package/dist/context/context-builder.js.map +1 -0
  63. package/dist/core/agent-memory.d.ts +50 -0
  64. package/dist/core/agent-memory.d.ts.map +1 -0
  65. package/dist/core/agent-memory.js +297 -0
  66. package/dist/core/agent-memory.js.map +1 -0
  67. package/dist/embedding/embedder.d.ts +49 -0
  68. package/dist/embedding/embedder.d.ts.map +1 -0
  69. package/dist/embedding/embedder.js +146 -0
  70. package/dist/embedding/embedder.js.map +1 -0
  71. package/dist/embedding/index.d.ts +3 -0
  72. package/dist/embedding/index.d.ts.map +1 -0
  73. package/dist/embedding/index.js +8 -0
  74. package/dist/embedding/index.js.map +1 -0
  75. package/dist/gate/deduplicator.d.ts +22 -0
  76. package/dist/gate/deduplicator.d.ts.map +1 -0
  77. package/dist/gate/deduplicator.js +74 -0
  78. package/dist/gate/deduplicator.js.map +1 -0
  79. package/dist/gate/extractor.d.ts +33 -0
  80. package/dist/gate/extractor.d.ts.map +1 -0
  81. package/dist/gate/extractor.js +122 -0
  82. package/dist/gate/extractor.js.map +1 -0
  83. package/dist/gate/index.d.ts +3 -0
  84. package/dist/gate/index.d.ts.map +1 -0
  85. package/dist/gate/index.js +6 -0
  86. package/dist/gate/index.js.map +1 -0
  87. package/dist/gate/memory-gate.d.ts +27 -0
  88. package/dist/gate/memory-gate.d.ts.map +1 -0
  89. package/dist/gate/memory-gate.js +86 -0
  90. package/dist/gate/memory-gate.js.map +1 -0
  91. package/dist/gate/redactor.d.ts +14 -0
  92. package/dist/gate/redactor.d.ts.map +1 -0
  93. package/dist/gate/redactor.js +24 -0
  94. package/dist/gate/redactor.js.map +1 -0
  95. package/dist/index.d.ts +6 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +24 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/indexing/in-memory-index.d.ts +67 -0
  100. package/dist/indexing/in-memory-index.d.ts.map +1 -0
  101. package/dist/indexing/in-memory-index.js +135 -0
  102. package/dist/indexing/in-memory-index.js.map +1 -0
  103. package/dist/indexing/index.d.ts +3 -0
  104. package/dist/indexing/index.d.ts.map +1 -0
  105. package/dist/indexing/index.js +6 -0
  106. package/dist/indexing/index.js.map +1 -0
  107. package/dist/persistence/database/schema.d.ts +6 -0
  108. package/dist/persistence/database/schema.d.ts.map +1 -0
  109. package/dist/persistence/database/schema.js +75 -0
  110. package/dist/persistence/database/schema.js.map +1 -0
  111. package/dist/persistence/index.d.ts +3 -0
  112. package/dist/persistence/index.d.ts.map +1 -0
  113. package/dist/persistence/index.js +6 -0
  114. package/dist/persistence/index.js.map +1 -0
  115. package/dist/persistence/repository/embedding-operations.d.ts +17 -0
  116. package/dist/persistence/repository/embedding-operations.d.ts.map +1 -0
  117. package/dist/persistence/repository/embedding-operations.js +58 -0
  118. package/dist/persistence/repository/embedding-operations.js.map +1 -0
  119. package/dist/persistence/repository/memory-operations.d.ts +28 -0
  120. package/dist/persistence/repository/memory-operations.d.ts.map +1 -0
  121. package/dist/persistence/repository/memory-operations.js +87 -0
  122. package/dist/persistence/repository/memory-operations.js.map +1 -0
  123. package/dist/persistence/repository/meta-operations.d.ts +15 -0
  124. package/dist/persistence/repository/meta-operations.d.ts.map +1 -0
  125. package/dist/persistence/repository/meta-operations.js +20 -0
  126. package/dist/persistence/repository/meta-operations.js.map +1 -0
  127. package/dist/persistence/sqlite-repo.d.ts +58 -0
  128. package/dist/persistence/sqlite-repo.d.ts.map +1 -0
  129. package/dist/persistence/sqlite-repo.js +81 -0
  130. package/dist/persistence/sqlite-repo.js.map +1 -0
  131. package/dist/persistence/utils/hash.d.ts +8 -0
  132. package/dist/persistence/utils/hash.d.ts.map +1 -0
  133. package/dist/persistence/utils/hash.js +48 -0
  134. package/dist/persistence/utils/hash.js.map +1 -0
  135. package/dist/persistence/utils/serialization.d.ts +33 -0
  136. package/dist/persistence/utils/serialization.d.ts.map +1 -0
  137. package/dist/persistence/utils/serialization.js +85 -0
  138. package/dist/persistence/utils/serialization.js.map +1 -0
  139. package/dist/processing/document/document-processor.d.ts +30 -0
  140. package/dist/processing/document/document-processor.d.ts.map +1 -0
  141. package/dist/processing/document/document-processor.js +158 -0
  142. package/dist/processing/document/document-processor.js.map +1 -0
  143. package/dist/processing/document/index.d.ts +3 -0
  144. package/dist/processing/document/index.d.ts.map +1 -0
  145. package/dist/processing/document/index.js +6 -0
  146. package/dist/processing/document/index.js.map +1 -0
  147. package/dist/ranker/ranker.d.ts +26 -0
  148. package/dist/ranker/ranker.d.ts.map +1 -0
  149. package/dist/ranker/ranker.js +40 -0
  150. package/dist/ranker/ranker.js.map +1 -0
  151. package/dist/recall/recall-engine.d.ts +19 -0
  152. package/dist/recall/recall-engine.d.ts.map +1 -0
  153. package/dist/recall/recall-engine.js +79 -0
  154. package/dist/recall/recall-engine.js.map +1 -0
  155. package/dist/types/config.d.ts +821 -0
  156. package/dist/types/config.d.ts.map +1 -0
  157. package/dist/types/config.js +128 -0
  158. package/dist/types/config.js.map +1 -0
  159. package/dist/types/document.d.ts +37 -0
  160. package/dist/types/document.d.ts.map +1 -0
  161. package/dist/types/document.js +6 -0
  162. package/dist/types/document.js.map +1 -0
  163. package/dist/types/index.d.ts +86 -0
  164. package/dist/types/index.d.ts.map +1 -0
  165. package/dist/types/index.js +6 -0
  166. package/dist/types/index.js.map +1 -0
  167. package/package.json +53 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Boot Rebuilder - Rebuild in-memory index from SQLite on startup
3
+ */
4
+ import { SqliteMemoryRepo } from "../persistence";
5
+ import { InMemoryIndex } from "../indexing";
6
+ import { Embedder } from "../embedding";
7
+ export interface BootRebuilderOptions {
8
+ batchSize?: number;
9
+ onModelMismatch?: "fail" | "reembed_all";
10
+ }
11
+ export declare class BootRebuilder {
12
+ private repo;
13
+ private index;
14
+ private embedder;
15
+ private options;
16
+ constructor(repo: SqliteMemoryRepo, index: InMemoryIndex, embedder: Embedder, options?: BootRebuilderOptions);
17
+ /**
18
+ * Rebuild in-memory index from SQLite
19
+ */
20
+ rebuild(): Promise<void>;
21
+ /**
22
+ * Re-embed items and save to repository
23
+ */
24
+ private reembedItems;
25
+ }
26
+ //# sourceMappingURL=boot-rebuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot-rebuilder.d.ts","sourceRoot":"","sources":["../../src/boot/boot-rebuilder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;CAC1C;AAED,qBAAa,aAAa;IAEtB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;gBAHP,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,oBAAyB;IAM5C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkF9B;;OAEG;YACW,YAAY;CA6B3B"}
@@ -0,0 +1,112 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot-rebuilder.js","sourceRoot":"","sources":["../../src/boot/boot-rebuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { BootRebuilder } from "./boot-rebuilder";
2
+ export type { BootRebuilderOptions } from "./boot-rebuilder";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,6 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/boot/index.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"}
@@ -0,0 +1,22 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,187 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-split.js","sourceRoot":"","sources":["../../src/cli/chat-split.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
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
@@ -0,0 +1 @@
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"}