@easynet/agent-memory 0.0.2 → 1.0.0
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 +22 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +51 -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
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Create AgentMemory from YAML or default config.
|
|
4
|
+
* Returned memory.memorize supports content+type and url (local/remote PDF, txt, HTML, images).
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.createAgentMemory = createAgentMemory;
|
|
8
|
+
const config_js_1 = require("./core/config.js");
|
|
9
|
+
const agent_memory_js_1 = require("./core/agent-memory.js");
|
|
10
|
+
const observability_js_1 = require("./core/observability.js");
|
|
11
|
+
const router_js_1 = require("./core/router.js");
|
|
12
|
+
const policy_js_1 = require("./core/policy.js");
|
|
13
|
+
const privacy_js_1 = require("./core/privacy.js");
|
|
14
|
+
const in_memory_store_js_1 = require("./providers/in-memory-store.js");
|
|
15
|
+
const sqlite_store_js_1 = require("./providers/sqlite-store.js");
|
|
16
|
+
const rag_provider_js_1 = require("./providers/rag-provider.js");
|
|
17
|
+
const mem0_provider_js_1 = require("./providers/mem0-provider.js");
|
|
18
|
+
const url_ingest_js_1 = require("./ingest/url-ingest.js");
|
|
19
|
+
const node_path_1 = require("node:path");
|
|
20
|
+
const promises_1 = require("node:fs/promises");
|
|
21
|
+
const DEFAULT_CONFIG_PATH = "config/agent-memory.yaml";
|
|
22
|
+
/**
|
|
23
|
+
* Create AgentMemory from YAML or default config.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* const memory = await createAgentMemory();
|
|
27
|
+
* @example
|
|
28
|
+
* const memory = await createAgentMemory({ configPath: "./config/memory.yaml" });
|
|
29
|
+
* @example
|
|
30
|
+
* const mem0 = new Memory({ ... });
|
|
31
|
+
* const memory = await createAgentMemory({ configPath: "config/agent-memory.yaml", overrides: { mem0 } });
|
|
32
|
+
*/
|
|
33
|
+
async function createAgentMemory(options = {}) {
|
|
34
|
+
const opts = typeof options === "string" ? { configPath: options } : options;
|
|
35
|
+
let config;
|
|
36
|
+
/** When config is loaded from a file, dir of that file so relative dbPath is resolved against it. */
|
|
37
|
+
let configFileDir;
|
|
38
|
+
if (opts.config) {
|
|
39
|
+
config = opts.config;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const configPath = opts.configPath ?? DEFAULT_CONFIG_PATH;
|
|
43
|
+
const resolved = configPath.startsWith("/") || configPath.match(/^[A-Za-z]:/) ? configPath : (0, node_path_1.join)(process.cwd(), configPath);
|
|
44
|
+
configFileDir = (0, node_path_1.dirname)(resolved);
|
|
45
|
+
config = await (0, config_js_1.loadConfigFromYaml)(resolved);
|
|
46
|
+
}
|
|
47
|
+
const providerMap = new Map();
|
|
48
|
+
for (const p of config.providers) {
|
|
49
|
+
if (p.type === "in_memory") {
|
|
50
|
+
providerMap.set(p.id, new in_memory_store_js_1.InMemoryStoreProvider());
|
|
51
|
+
}
|
|
52
|
+
else if (p.type === "sqlite") {
|
|
53
|
+
const providerOpts = (p.options ?? {});
|
|
54
|
+
let dbPath = providerOpts.dbPath ?? "./data/agent-memory.db";
|
|
55
|
+
if (configFileDir && !(0, node_path_1.isAbsolute)(dbPath) && dbPath !== ":memory:") {
|
|
56
|
+
dbPath = (0, node_path_1.join)(configFileDir, dbPath);
|
|
57
|
+
}
|
|
58
|
+
if (dbPath !== ":memory:") {
|
|
59
|
+
await (0, promises_1.mkdir)((0, node_path_1.dirname)(dbPath), { recursive: true });
|
|
60
|
+
}
|
|
61
|
+
providerMap.set(p.id, new sqlite_store_js_1.SqliteStoreProvider({ dbPath, embed: providerOpts.embed }));
|
|
62
|
+
}
|
|
63
|
+
else if (p.type === "rag") {
|
|
64
|
+
providerMap.set(p.id, new rag_provider_js_1.RAGProvider());
|
|
65
|
+
}
|
|
66
|
+
else if (p.type === "mem0") {
|
|
67
|
+
let mem0 = opts.overrides?.mem0;
|
|
68
|
+
if (!mem0 && config.mem0) {
|
|
69
|
+
try {
|
|
70
|
+
const { Memory } = (await import("mem0ai/oss"));
|
|
71
|
+
mem0 = new Memory(config.mem0);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
throw new Error(`Provider type 'mem0' with config.mem0 requires the 'mem0ai' package. Install: pnpm add mem0ai. ${e?.message ?? ""}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (!mem0) {
|
|
78
|
+
throw new Error("Provider type 'mem0' requires config.mem0 in YAML or overrides.mem0 (Memory instance from mem0ai/oss). Install: pnpm add mem0ai");
|
|
79
|
+
}
|
|
80
|
+
providerMap.set(p.id, new mem0_provider_js_1.Mem0Provider({ memory: mem0 }));
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
throw new Error(`Unknown provider type: ${p.type}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const router = new router_js_1.MemoryRouter({
|
|
87
|
+
providers: providerMap,
|
|
88
|
+
defaultProviderId: config.router.defaultProvider,
|
|
89
|
+
rules: config.router.rules ?? [],
|
|
90
|
+
});
|
|
91
|
+
const policy = config.policy
|
|
92
|
+
? new policy_js_1.PolicyEngine({
|
|
93
|
+
allowedWriteTypes: config.policy.allowedWriteTypes,
|
|
94
|
+
maxItemsPerType: config.policy.maxItemsPerType,
|
|
95
|
+
budgetPerType: config.policy.budgetPerType,
|
|
96
|
+
})
|
|
97
|
+
: undefined;
|
|
98
|
+
const traceRecorder = config.observability?.trace ? new observability_js_1.InMemoryTraceRecorder() : undefined;
|
|
99
|
+
const privacyGuard = new privacy_js_1.PrivacyGuard({
|
|
100
|
+
forbiddenMetadataKeys: config.privacy?.forbiddenMetadataKeys,
|
|
101
|
+
redactSecrets: config.privacy?.redactSecrets,
|
|
102
|
+
});
|
|
103
|
+
const core = new agent_memory_js_1.AgentMemory({
|
|
104
|
+
router,
|
|
105
|
+
policy,
|
|
106
|
+
traceRecorder,
|
|
107
|
+
privacyGuard,
|
|
108
|
+
classifyMemory: opts.classifyMemory,
|
|
109
|
+
});
|
|
110
|
+
const { captionFn } = opts;
|
|
111
|
+
const memorizeExtended = async (req) => {
|
|
112
|
+
if (req.url != null) {
|
|
113
|
+
const { firstItem } = await (0, url_ingest_js_1.ingestUrlToMemory)(core, {
|
|
114
|
+
url: req.url,
|
|
115
|
+
namespace: req.namespace,
|
|
116
|
+
type: "knowledge",
|
|
117
|
+
chunkSize: 800,
|
|
118
|
+
metadata: req.metadata,
|
|
119
|
+
captionFn,
|
|
120
|
+
});
|
|
121
|
+
if (firstItem)
|
|
122
|
+
return firstItem;
|
|
123
|
+
return {
|
|
124
|
+
id: "ingest-url-0",
|
|
125
|
+
type: req.type ?? "knowledge",
|
|
126
|
+
namespace: req.namespace,
|
|
127
|
+
scope: "global",
|
|
128
|
+
content: "(0 chunks)",
|
|
129
|
+
metadata: { created_at: new Date().toISOString(), updated_at: new Date().toISOString() },
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
if (req.content != null) {
|
|
133
|
+
return core.memorize(req);
|
|
134
|
+
}
|
|
135
|
+
throw new Error("memorize requires url or content");
|
|
136
|
+
};
|
|
137
|
+
const result = {
|
|
138
|
+
memorize: memorizeExtended,
|
|
139
|
+
write: (req) => memorizeExtended(req),
|
|
140
|
+
recall: (req) => core.recall(req),
|
|
141
|
+
retrieveForPrompt: (req) => core.retrieveForPrompt(req),
|
|
142
|
+
deleteByNamespace: (ns) => core.deleteByNamespace(ns),
|
|
143
|
+
getByKey: (ns, key) => core.getByKey(ns, key),
|
|
144
|
+
deleteByKey: (ns, key) => core.deleteByKey(ns, key),
|
|
145
|
+
};
|
|
146
|
+
return result;
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=create-agent-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-agent-memory.js","sourceRoot":"","sources":["../../src/create-agent-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agent-memory: unified memory layer for LangChain / LangGraph / DeepAgents.
|
|
3
|
+
* Single package exporting core, providers, ingest, and integrations.
|
|
4
|
+
*/
|
|
5
|
+
export * from "./core/types.js";
|
|
6
|
+
export * from "./core/policy.js";
|
|
7
|
+
export * from "./core/observability.js";
|
|
8
|
+
export * from "./core/privacy.js";
|
|
9
|
+
export * from "./core/router.js";
|
|
10
|
+
export * from "./core/agent-memory.js";
|
|
11
|
+
export * from "./core/config.js";
|
|
12
|
+
export { InMemoryStoreProvider } from "./providers/in-memory-store.js";
|
|
13
|
+
export { SqliteStoreProvider, type SqliteStoreOptions } from "./providers/sqlite-store.js";
|
|
14
|
+
export { RAGProvider, type RAGProviderOptions } from "./providers/rag-provider.js";
|
|
15
|
+
export { Mem0Provider, type Mem0ProviderOptions, type Mem0MemoryLike, } from "./providers/mem0-provider.js";
|
|
16
|
+
export { createAgentMemory, type CreateAgentMemoryOptions, type CreateAgentMemoryResult, type MemorizeRequestWithIngest, } from "./create-agent-memory.js";
|
|
17
|
+
export { AgentMemoryStoreAdapter, type AgentMemoryStoreAdapterOptions } from "./integrations/deepagents-adapter.js";
|
|
18
|
+
export { retrieveContextForLangChain, writeMemoryForLangChain, type RetrieveForLangChainOptions, type LangChainMemoryLike, } from "./integrations/langchain.js";
|
|
19
|
+
export { injectMemoryIntoState, writeMemoryFromNode, type InjectMemoryIntoStateOptions, } from "./integrations/langgraph.js";
|
|
20
|
+
export { ingestPdfToMemory, type IngestPdfOptions, } from "./ingest/pdf-ingest.js";
|
|
21
|
+
export { ingestUrlToMemory, type IngestUrlOptions, } from "./ingest/url-ingest.js";
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,cAAc,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,GAC/B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,uBAAuB,EAAE,KAAK,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACpH,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,4BAA4B,GAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* agent-memory: unified memory layer for LangChain / LangGraph / DeepAgents.
|
|
4
|
+
* Single package exporting core, providers, ingest, and integrations.
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.ingestUrlToMemory = exports.ingestPdfToMemory = exports.writeMemoryFromNode = exports.injectMemoryIntoState = exports.writeMemoryForLangChain = exports.retrieveContextForLangChain = exports.AgentMemoryStoreAdapter = exports.createAgentMemory = exports.Mem0Provider = exports.RAGProvider = exports.SqliteStoreProvider = exports.InMemoryStoreProvider = void 0;
|
|
22
|
+
__exportStar(require("./core/types.js"), exports);
|
|
23
|
+
__exportStar(require("./core/policy.js"), exports);
|
|
24
|
+
__exportStar(require("./core/observability.js"), exports);
|
|
25
|
+
__exportStar(require("./core/privacy.js"), exports);
|
|
26
|
+
__exportStar(require("./core/router.js"), exports);
|
|
27
|
+
__exportStar(require("./core/agent-memory.js"), exports);
|
|
28
|
+
__exportStar(require("./core/config.js"), exports);
|
|
29
|
+
var in_memory_store_js_1 = require("./providers/in-memory-store.js");
|
|
30
|
+
Object.defineProperty(exports, "InMemoryStoreProvider", { enumerable: true, get: function () { return in_memory_store_js_1.InMemoryStoreProvider; } });
|
|
31
|
+
var sqlite_store_js_1 = require("./providers/sqlite-store.js");
|
|
32
|
+
Object.defineProperty(exports, "SqliteStoreProvider", { enumerable: true, get: function () { return sqlite_store_js_1.SqliteStoreProvider; } });
|
|
33
|
+
var rag_provider_js_1 = require("./providers/rag-provider.js");
|
|
34
|
+
Object.defineProperty(exports, "RAGProvider", { enumerable: true, get: function () { return rag_provider_js_1.RAGProvider; } });
|
|
35
|
+
var mem0_provider_js_1 = require("./providers/mem0-provider.js");
|
|
36
|
+
Object.defineProperty(exports, "Mem0Provider", { enumerable: true, get: function () { return mem0_provider_js_1.Mem0Provider; } });
|
|
37
|
+
var create_agent_memory_js_1 = require("./create-agent-memory.js");
|
|
38
|
+
Object.defineProperty(exports, "createAgentMemory", { enumerable: true, get: function () { return create_agent_memory_js_1.createAgentMemory; } });
|
|
39
|
+
var deepagents_adapter_js_1 = require("./integrations/deepagents-adapter.js");
|
|
40
|
+
Object.defineProperty(exports, "AgentMemoryStoreAdapter", { enumerable: true, get: function () { return deepagents_adapter_js_1.AgentMemoryStoreAdapter; } });
|
|
41
|
+
var langchain_js_1 = require("./integrations/langchain.js");
|
|
42
|
+
Object.defineProperty(exports, "retrieveContextForLangChain", { enumerable: true, get: function () { return langchain_js_1.retrieveContextForLangChain; } });
|
|
43
|
+
Object.defineProperty(exports, "writeMemoryForLangChain", { enumerable: true, get: function () { return langchain_js_1.writeMemoryForLangChain; } });
|
|
44
|
+
var langgraph_js_1 = require("./integrations/langgraph.js");
|
|
45
|
+
Object.defineProperty(exports, "injectMemoryIntoState", { enumerable: true, get: function () { return langgraph_js_1.injectMemoryIntoState; } });
|
|
46
|
+
Object.defineProperty(exports, "writeMemoryFromNode", { enumerable: true, get: function () { return langgraph_js_1.writeMemoryFromNode; } });
|
|
47
|
+
var pdf_ingest_js_1 = require("./ingest/pdf-ingest.js");
|
|
48
|
+
Object.defineProperty(exports, "ingestPdfToMemory", { enumerable: true, get: function () { return pdf_ingest_js_1.ingestPdfToMemory; } });
|
|
49
|
+
var url_ingest_js_1 = require("./ingest/url-ingest.js");
|
|
50
|
+
Object.defineProperty(exports, "ingestUrlToMemory", { enumerable: true, get: function () { return url_ingest_js_1.ingestUrlToMemory; } });
|
|
51
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,kDAAgC;AAChC,mDAAiC;AACjC,0DAAwC;AACxC,oDAAkC;AAClC,mDAAiC;AACjC,yDAAuC;AACvC,mDAAiC;AAEjC,qEAAuE;AAA9D,2HAAA,qBAAqB,OAAA;AAC9B,+DAA2F;AAAlF,sHAAA,mBAAmB,OAAA;AAC5B,+DAAmF;AAA1E,8GAAA,WAAW,OAAA;AACpB,iEAIsC;AAHpC,gHAAA,YAAY,OAAA;AAId,mEAKkC;AAJhC,2HAAA,iBAAiB,OAAA;AAMnB,8EAAoH;AAA3G,gIAAA,uBAAuB,OAAA;AAChC,4DAKqC;AAJnC,2HAAA,2BAA2B,OAAA;AAC3B,uHAAA,uBAAuB,OAAA;AAIzB,4DAIqC;AAHnC,qHAAA,qBAAqB,OAAA;AACrB,mHAAA,mBAAmB,OAAA;AAGrB,wDAGgC;AAF9B,kHAAA,iBAAiB,OAAA;AAGnB,wDAGgC;AAF9B,kHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ingest PDF from file path or URL into agent-memory.
|
|
3
|
+
* Optional: install pdf-parse to use (e.g. pnpm add pdf-parse).
|
|
4
|
+
*/
|
|
5
|
+
import type { AgentMemory } from "../core/agent-memory.js";
|
|
6
|
+
import type { MemoryItem } from "../core/types.js";
|
|
7
|
+
export interface IngestPdfOptions {
|
|
8
|
+
/** PDF file path (e.g. ./doc.pdf) or URL (e.g. https://example.com/doc.pdf). */
|
|
9
|
+
pdf: string;
|
|
10
|
+
/** Namespace for stored memories (e.g. project:docs). */
|
|
11
|
+
namespace: string;
|
|
12
|
+
/** Memory type for text chunks. Default: knowledge. */
|
|
13
|
+
type?: "knowledge";
|
|
14
|
+
/** Approximate chars per chunk. Default: 800. */
|
|
15
|
+
chunkSize?: number;
|
|
16
|
+
/** Optional metadata for all chunks (e.g. doc_id, source). */
|
|
17
|
+
metadata?: Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Load a PDF from path or URL, extract text, chunk it, and store each chunk
|
|
21
|
+
* into agent-memory with the given namespace and type.
|
|
22
|
+
*/
|
|
23
|
+
export declare function ingestPdfToMemory(memory: AgentMemory, options: IngestPdfOptions): Promise<{
|
|
24
|
+
count: number;
|
|
25
|
+
firstItem?: MemoryItem;
|
|
26
|
+
}>;
|
|
27
|
+
//# sourceMappingURL=pdf-ingest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdf-ingest.d.ts","sourceRoot":"","sources":["../../../src/ingest/pdf-ingest.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AA0DD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC,CA0BpD"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Ingest PDF from file path or URL into agent-memory.
|
|
4
|
+
* Optional: install pdf-parse to use (e.g. pnpm add pdf-parse).
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ingestPdfToMemory = ingestPdfToMemory;
|
|
8
|
+
function isUrl(s) {
|
|
9
|
+
return /^https?:\/\//i.test(s);
|
|
10
|
+
}
|
|
11
|
+
async function getPdfBuffer(pdf) {
|
|
12
|
+
if (isUrl(pdf)) {
|
|
13
|
+
const res = await fetch(pdf);
|
|
14
|
+
if (!res.ok)
|
|
15
|
+
throw new Error(`Failed to fetch PDF: ${res.status} ${res.statusText}`);
|
|
16
|
+
const ab = await res.arrayBuffer();
|
|
17
|
+
return Buffer.from(ab);
|
|
18
|
+
}
|
|
19
|
+
const { readFile } = await import("node:fs/promises");
|
|
20
|
+
return readFile(pdf);
|
|
21
|
+
}
|
|
22
|
+
function chunkText(text, chunkSize) {
|
|
23
|
+
const trimmed = text.trim();
|
|
24
|
+
if (!trimmed)
|
|
25
|
+
return [];
|
|
26
|
+
const chunks = [];
|
|
27
|
+
const paragraphs = trimmed.split(/\n\n+/);
|
|
28
|
+
let current = "";
|
|
29
|
+
for (const p of paragraphs) {
|
|
30
|
+
if (current.length + p.length + 2 <= chunkSize) {
|
|
31
|
+
current = current ? `${current}\n\n${p}` : p;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
if (current)
|
|
35
|
+
chunks.push(current);
|
|
36
|
+
if (p.length <= chunkSize) {
|
|
37
|
+
current = p;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
for (let i = 0; i < p.length; i += chunkSize) {
|
|
41
|
+
chunks.push(p.slice(i, i + chunkSize));
|
|
42
|
+
}
|
|
43
|
+
current = "";
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (current)
|
|
48
|
+
chunks.push(current);
|
|
49
|
+
return chunks;
|
|
50
|
+
}
|
|
51
|
+
async function extractTextFromPdf(buffer) {
|
|
52
|
+
try {
|
|
53
|
+
const pdfParse = (await import("pdf-parse")).default;
|
|
54
|
+
const data = await pdfParse(buffer);
|
|
55
|
+
return typeof data?.text === "string" ? data.text : "";
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
const err = e;
|
|
59
|
+
if (err?.code === "ERR_MODULE_NOT_FOUND" || err?.message?.includes("pdf-parse")) {
|
|
60
|
+
throw new Error("PDF ingestion requires pdf-parse. Install it: pnpm add pdf-parse");
|
|
61
|
+
}
|
|
62
|
+
throw e;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Load a PDF from path or URL, extract text, chunk it, and store each chunk
|
|
67
|
+
* into agent-memory with the given namespace and type.
|
|
68
|
+
*/
|
|
69
|
+
async function ingestPdfToMemory(memory, options) {
|
|
70
|
+
const { pdf, namespace, type = "knowledge", chunkSize = 800, metadata = {}, } = options;
|
|
71
|
+
const buffer = await getPdfBuffer(pdf);
|
|
72
|
+
const text = await extractTextFromPdf(buffer);
|
|
73
|
+
const chunks = chunkText(text, chunkSize);
|
|
74
|
+
let firstItem;
|
|
75
|
+
for (const content of chunks) {
|
|
76
|
+
if (!content.trim())
|
|
77
|
+
continue;
|
|
78
|
+
const item = await memory.memorize({
|
|
79
|
+
namespace,
|
|
80
|
+
type,
|
|
81
|
+
content,
|
|
82
|
+
metadata: { ...metadata, source: "doc" },
|
|
83
|
+
});
|
|
84
|
+
if (!firstItem)
|
|
85
|
+
firstItem = item;
|
|
86
|
+
}
|
|
87
|
+
return { count: chunks.length, firstItem };
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=pdf-ingest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdf-ingest.js","sourceRoot":"","sources":["../../../src/ingest/pdf-ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ingest from a single URL: local path (PDF/txt/HTML/image) or remote URL.
|
|
3
|
+
* Format/media detection is for ingest pipeline only—not use-case routing; routing is config-driven.
|
|
4
|
+
* PDF requires pdf-parse; images may use captionFn for caption.
|
|
5
|
+
* Chunking is paragraph-based (semantic); we never store image binaries—only caption + URL.
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentMemory } from "../core/agent-memory.js";
|
|
8
|
+
import type { MemoryItem } from "../core/types.js";
|
|
9
|
+
export interface IngestUrlOptions {
|
|
10
|
+
/** Local path (e.g. ./doc.pdf) or remote URL; format detected by content-type/extension. */
|
|
11
|
+
url: string;
|
|
12
|
+
namespace: string;
|
|
13
|
+
type?: "knowledge";
|
|
14
|
+
/** Approximate chars per chunk; paragraph-based semantic chunking. Default 800. */
|
|
15
|
+
chunkSize?: number;
|
|
16
|
+
metadata?: Record<string, unknown>;
|
|
17
|
+
/** For images: generate caption (VLM); we store caption + URL only, never the image binary. */
|
|
18
|
+
captionFn?: (buffer: Buffer) => Promise<string>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Ingest from local path or remote URL; detect PDF/txt/HTML/image by format, then write as knowledge.
|
|
22
|
+
*/
|
|
23
|
+
export declare function ingestUrlToMemory(memory: AgentMemory, options: IngestUrlOptions): Promise<{
|
|
24
|
+
count: number;
|
|
25
|
+
firstItem?: MemoryItem;
|
|
26
|
+
}>;
|
|
27
|
+
//# sourceMappingURL=url-ingest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-ingest.d.ts","sourceRoot":"","sources":["../../../src/ingest/url-ingest.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,+FAA+F;IAC/F,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAoLD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC,CA2GpD"}
|