@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.
- package/README.md +260 -0
- package/bin/chat +11 -0
- package/dist/adapters/index.d.ts +8 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +29 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/mem0/mem0-store.d.ts +29 -0
- package/dist/adapters/mem0/mem0-store.d.ts.map +1 -0
- package/dist/adapters/mem0/mem0-store.js +174 -0
- package/dist/adapters/mem0/mem0-store.js.map +1 -0
- package/dist/adapters/rag-http/rag-http-retriever.d.ts +18 -0
- package/dist/adapters/rag-http/rag-http-retriever.d.ts.map +1 -0
- package/dist/adapters/rag-http/rag-http-retriever.js +71 -0
- package/dist/adapters/rag-http/rag-http-retriever.js.map +1 -0
- package/dist/adapters/types.d.ts +25 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +6 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/boot/boot-rebuilder.d.ts +26 -0
- package/dist/boot/boot-rebuilder.d.ts.map +1 -0
- package/dist/boot/boot-rebuilder.js +112 -0
- package/dist/boot/boot-rebuilder.js.map +1 -0
- package/dist/boot/index.d.ts +3 -0
- package/dist/boot/index.d.ts.map +1 -0
- package/dist/boot/index.js +6 -0
- package/dist/boot/index.js.map +1 -0
- package/dist/cli/chat-split.d.ts +22 -0
- package/dist/cli/chat-split.d.ts.map +1 -0
- package/dist/cli/chat-split.js +187 -0
- package/dist/cli/chat-split.js.map +1 -0
- package/dist/cli/chat.d.ts +19 -0
- package/dist/cli/chat.d.ts.map +1 -0
- package/dist/cli/chat.js +266 -0
- package/dist/cli/chat.js.map +1 -0
- package/dist/cli/commands/command-handler.d.ts +32 -0
- package/dist/cli/commands/command-handler.d.ts.map +1 -0
- package/dist/cli/commands/command-handler.js +143 -0
- package/dist/cli/commands/command-handler.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ui/display-manager.d.ts +18 -0
- package/dist/cli/ui/display-manager.d.ts.map +1 -0
- package/dist/cli/ui/display-manager.js +69 -0
- package/dist/cli/ui/display-manager.js.map +1 -0
- package/dist/cli/ui/screen-layout.d.ts +12 -0
- package/dist/cli/ui/screen-layout.d.ts.map +1 -0
- package/dist/cli/ui/screen-layout.js +125 -0
- package/dist/cli/ui/screen-layout.js.map +1 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +9 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +107 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/context/context-builder.d.ts +18 -0
- package/dist/context/context-builder.d.ts.map +1 -0
- package/dist/context/context-builder.js +91 -0
- package/dist/context/context-builder.js.map +1 -0
- package/dist/core/agent-memory.d.ts +50 -0
- package/dist/core/agent-memory.d.ts.map +1 -0
- package/dist/core/agent-memory.js +297 -0
- package/dist/core/agent-memory.js.map +1 -0
- package/dist/embedding/embedder.d.ts +49 -0
- package/dist/embedding/embedder.d.ts.map +1 -0
- package/dist/embedding/embedder.js +146 -0
- package/dist/embedding/embedder.js.map +1 -0
- package/dist/embedding/index.d.ts +3 -0
- package/dist/embedding/index.d.ts.map +1 -0
- package/dist/embedding/index.js +8 -0
- package/dist/embedding/index.js.map +1 -0
- package/dist/gate/deduplicator.d.ts +22 -0
- package/dist/gate/deduplicator.d.ts.map +1 -0
- package/dist/gate/deduplicator.js +74 -0
- package/dist/gate/deduplicator.js.map +1 -0
- package/dist/gate/extractor.d.ts +33 -0
- package/dist/gate/extractor.d.ts.map +1 -0
- package/dist/gate/extractor.js +122 -0
- package/dist/gate/extractor.js.map +1 -0
- package/dist/gate/index.d.ts +3 -0
- package/dist/gate/index.d.ts.map +1 -0
- package/dist/gate/index.js +6 -0
- package/dist/gate/index.js.map +1 -0
- package/dist/gate/memory-gate.d.ts +27 -0
- package/dist/gate/memory-gate.d.ts.map +1 -0
- package/dist/gate/memory-gate.js +86 -0
- package/dist/gate/memory-gate.js.map +1 -0
- package/dist/gate/redactor.d.ts +14 -0
- package/dist/gate/redactor.d.ts.map +1 -0
- package/dist/gate/redactor.js +24 -0
- package/dist/gate/redactor.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/indexing/in-memory-index.d.ts +67 -0
- package/dist/indexing/in-memory-index.d.ts.map +1 -0
- package/dist/indexing/in-memory-index.js +135 -0
- package/dist/indexing/in-memory-index.js.map +1 -0
- package/dist/indexing/index.d.ts +3 -0
- package/dist/indexing/index.d.ts.map +1 -0
- package/dist/indexing/index.js +6 -0
- package/dist/indexing/index.js.map +1 -0
- package/dist/persistence/database/schema.d.ts +6 -0
- package/dist/persistence/database/schema.d.ts.map +1 -0
- package/dist/persistence/database/schema.js +75 -0
- package/dist/persistence/database/schema.js.map +1 -0
- package/dist/persistence/index.d.ts +3 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +6 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/repository/embedding-operations.d.ts +17 -0
- package/dist/persistence/repository/embedding-operations.d.ts.map +1 -0
- package/dist/persistence/repository/embedding-operations.js +58 -0
- package/dist/persistence/repository/embedding-operations.js.map +1 -0
- package/dist/persistence/repository/memory-operations.d.ts +28 -0
- package/dist/persistence/repository/memory-operations.d.ts.map +1 -0
- package/dist/persistence/repository/memory-operations.js +87 -0
- package/dist/persistence/repository/memory-operations.js.map +1 -0
- package/dist/persistence/repository/meta-operations.d.ts +15 -0
- package/dist/persistence/repository/meta-operations.d.ts.map +1 -0
- package/dist/persistence/repository/meta-operations.js +20 -0
- package/dist/persistence/repository/meta-operations.js.map +1 -0
- package/dist/persistence/sqlite-repo.d.ts +58 -0
- package/dist/persistence/sqlite-repo.d.ts.map +1 -0
- package/dist/persistence/sqlite-repo.js +81 -0
- package/dist/persistence/sqlite-repo.js.map +1 -0
- package/dist/persistence/utils/hash.d.ts +8 -0
- package/dist/persistence/utils/hash.d.ts.map +1 -0
- package/dist/persistence/utils/hash.js +48 -0
- package/dist/persistence/utils/hash.js.map +1 -0
- package/dist/persistence/utils/serialization.d.ts +33 -0
- package/dist/persistence/utils/serialization.d.ts.map +1 -0
- package/dist/persistence/utils/serialization.js +85 -0
- package/dist/persistence/utils/serialization.js.map +1 -0
- package/dist/processing/document/document-processor.d.ts +30 -0
- package/dist/processing/document/document-processor.d.ts.map +1 -0
- package/dist/processing/document/document-processor.js +158 -0
- package/dist/processing/document/document-processor.js.map +1 -0
- package/dist/processing/document/index.d.ts +3 -0
- package/dist/processing/document/index.d.ts.map +1 -0
- package/dist/processing/document/index.js +6 -0
- package/dist/processing/document/index.js.map +1 -0
- package/dist/ranker/ranker.d.ts +26 -0
- package/dist/ranker/ranker.d.ts.map +1 -0
- package/dist/ranker/ranker.js +40 -0
- package/dist/ranker/ranker.js.map +1 -0
- package/dist/recall/recall-engine.d.ts +19 -0
- package/dist/recall/recall-engine.d.ts.map +1 -0
- package/dist/recall/recall-engine.js +79 -0
- package/dist/recall/recall-engine.js.map +1 -0
- package/dist/types/config.d.ts +821 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +128 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/document.d.ts +37 -0
- package/dist/types/document.d.ts.map +1 -0
- package/dist/types/document.js +6 -0
- package/dist/types/document.js.map +1 -0
- package/dist/types/index.d.ts +86 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- 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 @@
|
|
|
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"}
|