@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.
- package/README.md +89 -224
- package/dist/src/core/agent-memory.d.ts +41 -0
- package/dist/src/core/agent-memory.d.ts.map +1 -0
- package/dist/src/core/agent-memory.js +127 -0
- package/dist/src/core/agent-memory.js.map +1 -0
- package/dist/src/core/config.d.ts +78 -0
- package/dist/src/core/config.d.ts.map +1 -0
- package/dist/src/core/config.js +41 -0
- package/dist/src/core/config.js.map +1 -0
- package/dist/src/core/observability.d.ts +22 -0
- package/dist/src/core/observability.d.ts.map +1 -0
- package/dist/src/core/observability.js +33 -0
- package/dist/src/core/observability.js.map +1 -0
- package/dist/src/core/policy.d.ts +47 -0
- package/dist/src/core/policy.d.ts.map +1 -0
- package/dist/src/core/policy.js +73 -0
- package/dist/src/core/policy.js.map +1 -0
- package/dist/src/core/privacy.d.ts +23 -0
- package/dist/src/core/privacy.d.ts.map +1 -0
- package/dist/src/core/privacy.js +45 -0
- package/dist/src/core/privacy.js.map +1 -0
- package/dist/src/core/router.d.ts +35 -0
- package/dist/src/core/router.d.ts.map +1 -0
- package/dist/src/core/router.js +86 -0
- package/dist/src/core/router.js.map +1 -0
- package/dist/src/core/types.d.ts +82 -0
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +7 -0
- package/dist/{adapters → src/core}/types.js.map +1 -1
- package/dist/src/create-agent-memory.d.ts +47 -0
- package/dist/src/create-agent-memory.d.ts.map +1 -0
- package/dist/src/create-agent-memory.js +148 -0
- package/dist/src/create-agent-memory.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +13 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/ingest/pdf-ingest.d.ts +27 -0
- package/dist/src/ingest/pdf-ingest.d.ts.map +1 -0
- package/dist/src/ingest/pdf-ingest.js +89 -0
- package/dist/src/ingest/pdf-ingest.js.map +1 -0
- package/dist/src/ingest/url-ingest.d.ts +27 -0
- package/dist/src/ingest/url-ingest.d.ts.map +1 -0
- package/dist/src/ingest/url-ingest.js +301 -0
- package/dist/src/ingest/url-ingest.js.map +1 -0
- package/dist/src/integrations/deepagents-adapter.d.ts +42 -0
- package/dist/src/integrations/deepagents-adapter.d.ts.map +1 -0
- package/dist/src/integrations/deepagents-adapter.js +146 -0
- package/dist/src/integrations/deepagents-adapter.js.map +1 -0
- package/dist/src/integrations/langchain.d.ts +27 -0
- package/dist/src/integrations/langchain.d.ts.map +1 -0
- package/dist/src/integrations/langchain.js +28 -0
- package/dist/src/integrations/langchain.js.map +1 -0
- package/dist/src/integrations/langgraph.d.ts +23 -0
- package/dist/src/integrations/langgraph.d.ts.map +1 -0
- package/dist/src/integrations/langgraph.js +30 -0
- package/dist/src/integrations/langgraph.js.map +1 -0
- package/dist/src/providers/in-memory-store.d.ts +15 -0
- package/dist/src/providers/in-memory-store.d.ts.map +1 -0
- package/dist/src/providers/in-memory-store.js +62 -0
- package/dist/src/providers/in-memory-store.js.map +1 -0
- package/dist/src/providers/mem0-provider.d.ts +47 -0
- package/dist/src/providers/mem0-provider.d.ts.map +1 -0
- package/dist/src/providers/mem0-provider.js +99 -0
- package/dist/src/providers/mem0-provider.js.map +1 -0
- package/dist/src/providers/rag-provider.d.ts +27 -0
- package/dist/src/providers/rag-provider.d.ts.map +1 -0
- package/dist/src/providers/rag-provider.js +58 -0
- package/dist/src/providers/rag-provider.js.map +1 -0
- package/dist/src/providers/sqlite-store.d.ts +21 -0
- package/dist/src/providers/sqlite-store.d.ts.map +1 -0
- package/dist/src/providers/sqlite-store.js +142 -0
- package/dist/src/providers/sqlite-store.js.map +1 -0
- package/dist/test/core/agent-memory.test.d.ts +2 -0
- package/dist/test/core/agent-memory.test.d.ts.map +1 -0
- package/dist/test/core/agent-memory.test.js +119 -0
- package/dist/test/core/agent-memory.test.js.map +1 -0
- package/dist/test/core/config.test.d.ts +2 -0
- package/dist/test/core/config.test.d.ts.map +1 -0
- package/dist/test/core/config.test.js +48 -0
- package/dist/test/core/config.test.js.map +1 -0
- package/dist/test/core/observability.test.d.ts +2 -0
- package/dist/test/core/observability.test.d.ts.map +1 -0
- package/dist/test/core/observability.test.js +53 -0
- package/dist/test/core/observability.test.js.map +1 -0
- package/dist/test/core/policy.test.d.ts +2 -0
- package/dist/test/core/policy.test.d.ts.map +1 -0
- package/dist/test/core/policy.test.js +42 -0
- package/dist/test/core/policy.test.js.map +1 -0
- package/dist/test/core/privacy.test.d.ts +2 -0
- package/dist/test/core/privacy.test.d.ts.map +1 -0
- package/dist/test/core/privacy.test.js +44 -0
- package/dist/test/core/privacy.test.js.map +1 -0
- package/dist/test/core/router.test.d.ts +2 -0
- package/dist/test/core/router.test.d.ts.map +1 -0
- package/dist/test/core/router.test.js +118 -0
- package/dist/test/core/router.test.js.map +1 -0
- package/dist/test/create-agent-memory.test.d.ts +2 -0
- package/dist/test/create-agent-memory.test.d.ts.map +1 -0
- package/dist/test/create-agent-memory.test.js +122 -0
- package/dist/test/create-agent-memory.test.js.map +1 -0
- package/dist/test/ingest/url-ingest.test.d.ts +2 -0
- package/dist/test/ingest/url-ingest.test.d.ts.map +1 -0
- package/dist/test/ingest/url-ingest.test.js +142 -0
- package/dist/test/ingest/url-ingest.test.js.map +1 -0
- package/dist/test/integration/agent-memory-flow.test.d.ts +5 -0
- package/dist/test/integration/agent-memory-flow.test.d.ts.map +1 -0
- package/dist/test/integration/agent-memory-flow.test.js +80 -0
- package/dist/test/integration/agent-memory-flow.test.js.map +1 -0
- package/dist/test/integration/helpers/ollama-live.d.ts +16 -0
- package/dist/test/integration/helpers/ollama-live.d.ts.map +1 -0
- package/dist/test/integration/helpers/ollama-live.js +101 -0
- package/dist/test/integration/helpers/ollama-live.js.map +1 -0
- package/dist/test/integration/url-ingest-flow.test.d.ts +5 -0
- package/dist/test/integration/url-ingest-flow.test.d.ts.map +1 -0
- package/dist/test/integration/url-ingest-flow.test.js +50 -0
- package/dist/test/integration/url-ingest-flow.test.js.map +1 -0
- package/dist/test/integration/vlm-llm-live.test.d.ts +9 -0
- package/dist/test/integration/vlm-llm-live.test.d.ts.map +1 -0
- package/dist/test/integration/vlm-llm-live.test.js +141 -0
- package/dist/test/integration/vlm-llm-live.test.js.map +1 -0
- package/dist/test/providers/in-memory-store.test.d.ts +2 -0
- package/dist/test/providers/in-memory-store.test.d.ts.map +1 -0
- package/dist/test/providers/in-memory-store.test.js +44 -0
- package/dist/test/providers/in-memory-store.test.js.map +1 -0
- package/dist/test/providers/rag-provider.test.d.ts +2 -0
- package/dist/test/providers/rag-provider.test.d.ts.map +1 -0
- package/dist/test/providers/rag-provider.test.js +113 -0
- package/dist/test/providers/rag-provider.test.js.map +1 -0
- package/dist/test/providers/sqlite-store.test.d.ts +2 -0
- package/dist/test/providers/sqlite-store.test.d.ts.map +1 -0
- package/dist/test/providers/sqlite-store.test.js +119 -0
- package/dist/test/providers/sqlite-store.test.js.map +1 -0
- package/package.json +79 -39
- package/bin/chat +0 -11
- package/dist/adapters/index.d.ts +0 -8
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/index.js +0 -29
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/mem0/mem0-store.d.ts +0 -29
- package/dist/adapters/mem0/mem0-store.d.ts.map +0 -1
- package/dist/adapters/mem0/mem0-store.js +0 -174
- package/dist/adapters/mem0/mem0-store.js.map +0 -1
- package/dist/adapters/rag-http/rag-http-retriever.d.ts +0 -18
- package/dist/adapters/rag-http/rag-http-retriever.d.ts.map +0 -1
- package/dist/adapters/rag-http/rag-http-retriever.js +0 -71
- package/dist/adapters/rag-http/rag-http-retriever.js.map +0 -1
- package/dist/adapters/types.d.ts +0 -25
- package/dist/adapters/types.d.ts.map +0 -1
- package/dist/adapters/types.js +0 -6
- package/dist/boot/boot-rebuilder.d.ts +0 -26
- package/dist/boot/boot-rebuilder.d.ts.map +0 -1
- package/dist/boot/boot-rebuilder.js +0 -112
- package/dist/boot/boot-rebuilder.js.map +0 -1
- package/dist/boot/index.d.ts +0 -3
- package/dist/boot/index.d.ts.map +0 -1
- package/dist/boot/index.js +0 -6
- package/dist/boot/index.js.map +0 -1
- package/dist/cli/chat-split.d.ts +0 -22
- package/dist/cli/chat-split.d.ts.map +0 -1
- package/dist/cli/chat-split.js +0 -187
- package/dist/cli/chat-split.js.map +0 -1
- package/dist/cli/chat.d.ts +0 -19
- package/dist/cli/chat.d.ts.map +0 -1
- package/dist/cli/chat.js +0 -266
- package/dist/cli/chat.js.map +0 -1
- package/dist/cli/commands/command-handler.d.ts +0 -32
- package/dist/cli/commands/command-handler.d.ts.map +0 -1
- package/dist/cli/commands/command-handler.js +0 -143
- package/dist/cli/commands/command-handler.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -8
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/ui/display-manager.d.ts +0 -18
- package/dist/cli/ui/display-manager.d.ts.map +0 -1
- package/dist/cli/ui/display-manager.js +0 -69
- package/dist/cli/ui/display-manager.js.map +0 -1
- package/dist/cli/ui/screen-layout.d.ts +0 -12
- package/dist/cli/ui/screen-layout.d.ts.map +0 -1
- package/dist/cli/ui/screen-layout.js +0 -125
- package/dist/cli/ui/screen-layout.js.map +0 -1
- package/dist/config/index.d.ts +0 -2
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -6
- package/dist/config/index.js.map +0 -1
- package/dist/config/loader.d.ts +0 -9
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -107
- package/dist/config/loader.js.map +0 -1
- package/dist/context/context-builder.d.ts +0 -18
- package/dist/context/context-builder.d.ts.map +0 -1
- package/dist/context/context-builder.js +0 -91
- package/dist/context/context-builder.js.map +0 -1
- package/dist/core/agent-memory.d.ts +0 -50
- package/dist/core/agent-memory.d.ts.map +0 -1
- package/dist/core/agent-memory.js +0 -297
- package/dist/core/agent-memory.js.map +0 -1
- package/dist/embedding/embedder.d.ts +0 -49
- package/dist/embedding/embedder.d.ts.map +0 -1
- package/dist/embedding/embedder.js +0 -146
- package/dist/embedding/embedder.js.map +0 -1
- package/dist/embedding/index.d.ts +0 -3
- package/dist/embedding/index.d.ts.map +0 -1
- package/dist/embedding/index.js +0 -8
- package/dist/embedding/index.js.map +0 -1
- package/dist/gate/deduplicator.d.ts +0 -22
- package/dist/gate/deduplicator.d.ts.map +0 -1
- package/dist/gate/deduplicator.js +0 -74
- package/dist/gate/deduplicator.js.map +0 -1
- package/dist/gate/extractor.d.ts +0 -33
- package/dist/gate/extractor.d.ts.map +0 -1
- package/dist/gate/extractor.js +0 -122
- package/dist/gate/extractor.js.map +0 -1
- package/dist/gate/index.d.ts +0 -3
- package/dist/gate/index.d.ts.map +0 -1
- package/dist/gate/index.js +0 -6
- package/dist/gate/index.js.map +0 -1
- package/dist/gate/memory-gate.d.ts +0 -27
- package/dist/gate/memory-gate.d.ts.map +0 -1
- package/dist/gate/memory-gate.js +0 -86
- package/dist/gate/memory-gate.js.map +0 -1
- package/dist/gate/redactor.d.ts +0 -14
- package/dist/gate/redactor.d.ts.map +0 -1
- package/dist/gate/redactor.js +0 -24
- package/dist/gate/redactor.js.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -24
- package/dist/index.js.map +0 -1
- package/dist/indexing/in-memory-index.d.ts +0 -67
- package/dist/indexing/in-memory-index.d.ts.map +0 -1
- package/dist/indexing/in-memory-index.js +0 -135
- package/dist/indexing/in-memory-index.js.map +0 -1
- package/dist/indexing/index.d.ts +0 -3
- package/dist/indexing/index.d.ts.map +0 -1
- package/dist/indexing/index.js +0 -6
- package/dist/indexing/index.js.map +0 -1
- package/dist/persistence/database/schema.d.ts +0 -6
- package/dist/persistence/database/schema.d.ts.map +0 -1
- package/dist/persistence/database/schema.js +0 -75
- package/dist/persistence/database/schema.js.map +0 -1
- package/dist/persistence/index.d.ts +0 -3
- package/dist/persistence/index.d.ts.map +0 -1
- package/dist/persistence/index.js +0 -6
- package/dist/persistence/index.js.map +0 -1
- package/dist/persistence/repository/embedding-operations.d.ts +0 -17
- package/dist/persistence/repository/embedding-operations.d.ts.map +0 -1
- package/dist/persistence/repository/embedding-operations.js +0 -58
- package/dist/persistence/repository/embedding-operations.js.map +0 -1
- package/dist/persistence/repository/memory-operations.d.ts +0 -28
- package/dist/persistence/repository/memory-operations.d.ts.map +0 -1
- package/dist/persistence/repository/memory-operations.js +0 -87
- package/dist/persistence/repository/memory-operations.js.map +0 -1
- package/dist/persistence/repository/meta-operations.d.ts +0 -15
- package/dist/persistence/repository/meta-operations.d.ts.map +0 -1
- package/dist/persistence/repository/meta-operations.js +0 -20
- package/dist/persistence/repository/meta-operations.js.map +0 -1
- package/dist/persistence/sqlite-repo.d.ts +0 -58
- package/dist/persistence/sqlite-repo.d.ts.map +0 -1
- package/dist/persistence/sqlite-repo.js +0 -81
- package/dist/persistence/sqlite-repo.js.map +0 -1
- package/dist/persistence/utils/hash.d.ts +0 -8
- package/dist/persistence/utils/hash.d.ts.map +0 -1
- package/dist/persistence/utils/hash.js +0 -48
- package/dist/persistence/utils/hash.js.map +0 -1
- package/dist/persistence/utils/serialization.d.ts +0 -33
- package/dist/persistence/utils/serialization.d.ts.map +0 -1
- package/dist/persistence/utils/serialization.js +0 -85
- package/dist/persistence/utils/serialization.js.map +0 -1
- package/dist/processing/document/document-processor.d.ts +0 -30
- package/dist/processing/document/document-processor.d.ts.map +0 -1
- package/dist/processing/document/document-processor.js +0 -158
- package/dist/processing/document/document-processor.js.map +0 -1
- package/dist/processing/document/index.d.ts +0 -3
- package/dist/processing/document/index.d.ts.map +0 -1
- package/dist/processing/document/index.js +0 -6
- package/dist/processing/document/index.js.map +0 -1
- package/dist/ranker/ranker.d.ts +0 -26
- package/dist/ranker/ranker.d.ts.map +0 -1
- package/dist/ranker/ranker.js +0 -40
- package/dist/ranker/ranker.js.map +0 -1
- package/dist/recall/recall-engine.d.ts +0 -19
- package/dist/recall/recall-engine.d.ts.map +0 -1
- package/dist/recall/recall-engine.js +0 -79
- package/dist/recall/recall-engine.js.map +0 -1
- package/dist/types/config.d.ts +0 -821
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/config.js +0 -128
- package/dist/types/config.js.map +0 -1
- package/dist/types/document.d.ts +0 -37
- package/dist/types/document.d.ts.map +0 -1
- package/dist/types/document.js +0 -6
- package/dist/types/document.js.map +0 -1
- package/dist/types/index.d.ts +0 -86
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -6
- package/dist/types/index.js.map +0 -1
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Recall Engine - Hybrid retrieval of memory and documents
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RecallEngine = void 0;
|
|
7
|
-
const ranker_1 = require("../ranker/ranker");
|
|
8
|
-
const context_builder_1 = require("../context/context-builder");
|
|
9
|
-
// Simple UUID v4 generator
|
|
10
|
-
function generateTraceId() {
|
|
11
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
12
|
-
const r = Math.random() * 16 | 0;
|
|
13
|
-
const v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
14
|
-
return v.toString(16);
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
class RecallEngine {
|
|
18
|
-
constructor(store, retriever, config) {
|
|
19
|
-
this.store = store;
|
|
20
|
-
this.retriever = retriever;
|
|
21
|
-
this.config = config;
|
|
22
|
-
const recallConfig = config.recall;
|
|
23
|
-
this.ranker = new ranker_1.Ranker(recallConfig?.ranker || {});
|
|
24
|
-
this.contextBuilder = new context_builder_1.ContextBuilder(recallConfig?.context || {
|
|
25
|
-
enabled: true,
|
|
26
|
-
template: "default",
|
|
27
|
-
max_tokens: 1400,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Recall memories and documents
|
|
32
|
-
*/
|
|
33
|
-
async recall(options) {
|
|
34
|
-
const traceId = generateTraceId();
|
|
35
|
-
const strategy = this.config.recall?.strategy || "hybrid";
|
|
36
|
-
const topK = options.topK || 10;
|
|
37
|
-
const includeMemory = options.includeMemory !== false;
|
|
38
|
-
const includeDocs = options.includeDocs !== false;
|
|
39
|
-
let memory = [];
|
|
40
|
-
let docs = [];
|
|
41
|
-
// Retrieve memory
|
|
42
|
-
if (includeMemory && (strategy === "hybrid" || strategy === "memory_only")) {
|
|
43
|
-
try {
|
|
44
|
-
memory = await this.store.search(options.query, {
|
|
45
|
-
actor: options.actor,
|
|
46
|
-
scope: options.scope,
|
|
47
|
-
topK,
|
|
48
|
-
});
|
|
49
|
-
memory = this.ranker.rankMemory(memory);
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
console.error("Failed to retrieve memory:", error);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
// Retrieve documents
|
|
56
|
-
if (includeDocs && this.retriever && (strategy === "hybrid" || strategy === "docs_only")) {
|
|
57
|
-
try {
|
|
58
|
-
docs = await this.retriever.search(options.query, {
|
|
59
|
-
scope: options.scope,
|
|
60
|
-
topK,
|
|
61
|
-
});
|
|
62
|
-
docs = this.ranker.rankDocs(docs);
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
console.error("Failed to retrieve documents:", error);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
// Build context
|
|
69
|
-
const context = this.contextBuilder.build(memory, docs);
|
|
70
|
-
return {
|
|
71
|
-
memory,
|
|
72
|
-
docs,
|
|
73
|
-
context,
|
|
74
|
-
traceId,
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
exports.RecallEngine = RecallEngine;
|
|
79
|
-
//# sourceMappingURL=recall-engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recall-engine.js","sourceRoot":"","sources":["../../src/recall/recall-engine.ts"],"names":[],"mappings":"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"}
|