@easynet/agent-memory 1.0.56 → 1.0.58

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 (84) hide show
  1. package/dist/test/integration/real-memory-features.test.js +144 -146
  2. package/dist/test/integration/real-memory-features.test.js.map +1 -1
  3. package/dist/test/integration/vlm-llm-live.test.js +88 -90
  4. package/dist/test/integration/vlm-llm-live.test.js.map +1 -1
  5. package/dist/test/unit/core/agent-memory.test.d.ts.map +1 -0
  6. package/dist/test/unit/core/agent-memory.test.js +175 -0
  7. package/dist/test/unit/core/agent-memory.test.js.map +1 -0
  8. package/dist/test/unit/core/config.test.d.ts.map +1 -0
  9. package/dist/test/unit/core/config.test.js +292 -0
  10. package/dist/test/unit/core/config.test.js.map +1 -0
  11. package/dist/test/unit/core/observability.test.d.ts.map +1 -0
  12. package/dist/test/{core → unit/core}/observability.test.js +1 -1
  13. package/dist/test/unit/core/observability.test.js.map +1 -0
  14. package/dist/test/unit/core/policy.test.d.ts.map +1 -0
  15. package/dist/test/{core → unit/core}/policy.test.js +1 -1
  16. package/dist/test/unit/core/policy.test.js.map +1 -0
  17. package/dist/test/unit/core/privacy.test.d.ts.map +1 -0
  18. package/dist/test/{core → unit/core}/privacy.test.js +1 -1
  19. package/dist/test/unit/core/privacy.test.js.map +1 -0
  20. package/dist/test/unit/core/router.test.d.ts.map +1 -0
  21. package/dist/test/unit/core/router.test.js +138 -0
  22. package/dist/test/unit/core/router.test.js.map +1 -0
  23. package/dist/test/unit/create-agent-memory.test.d.ts.map +1 -0
  24. package/dist/test/unit/create-agent-memory.test.js +369 -0
  25. package/dist/test/unit/create-agent-memory.test.js.map +1 -0
  26. package/dist/test/unit/ingest/url-ingest.test.d.ts.map +1 -0
  27. package/dist/test/unit/ingest/url-ingest.test.js +135 -0
  28. package/dist/test/unit/ingest/url-ingest.test.js.map +1 -0
  29. package/dist/test/unit/providers/in-memory-store.test.d.ts.map +1 -0
  30. package/dist/test/{providers → unit/providers}/in-memory-store.test.js +1 -1
  31. package/dist/test/unit/providers/in-memory-store.test.js.map +1 -0
  32. package/dist/test/unit/providers/mem0-provider.test.d.ts.map +1 -0
  33. package/dist/test/{providers → unit/providers}/mem0-provider.test.js +1 -1
  34. package/dist/test/unit/providers/mem0-provider.test.js.map +1 -0
  35. package/dist/test/unit/providers/rag-provider.test.d.ts.map +1 -0
  36. package/dist/test/unit/providers/rag-provider.test.js +106 -0
  37. package/dist/test/unit/providers/rag-provider.test.js.map +1 -0
  38. package/dist/test/unit/providers/sqlite-store.test.d.ts.map +1 -0
  39. package/dist/test/unit/providers/sqlite-store.test.js +113 -0
  40. package/dist/test/unit/providers/sqlite-store.test.js.map +1 -0
  41. package/package.json +8 -8
  42. package/dist/test/core/agent-memory.test.d.ts.map +0 -1
  43. package/dist/test/core/agent-memory.test.js +0 -177
  44. package/dist/test/core/agent-memory.test.js.map +0 -1
  45. package/dist/test/core/config.test.d.ts.map +0 -1
  46. package/dist/test/core/config.test.js +0 -294
  47. package/dist/test/core/config.test.js.map +0 -1
  48. package/dist/test/core/observability.test.d.ts.map +0 -1
  49. package/dist/test/core/observability.test.js.map +0 -1
  50. package/dist/test/core/policy.test.d.ts.map +0 -1
  51. package/dist/test/core/policy.test.js.map +0 -1
  52. package/dist/test/core/privacy.test.d.ts.map +0 -1
  53. package/dist/test/core/privacy.test.js.map +0 -1
  54. package/dist/test/core/router.test.d.ts.map +0 -1
  55. package/dist/test/core/router.test.js +0 -140
  56. package/dist/test/core/router.test.js.map +0 -1
  57. package/dist/test/create-agent-memory.test.d.ts.map +0 -1
  58. package/dist/test/create-agent-memory.test.js +0 -371
  59. package/dist/test/create-agent-memory.test.js.map +0 -1
  60. package/dist/test/ingest/url-ingest.test.d.ts.map +0 -1
  61. package/dist/test/ingest/url-ingest.test.js +0 -137
  62. package/dist/test/ingest/url-ingest.test.js.map +0 -1
  63. package/dist/test/providers/in-memory-store.test.d.ts.map +0 -1
  64. package/dist/test/providers/in-memory-store.test.js.map +0 -1
  65. package/dist/test/providers/mem0-provider.test.d.ts.map +0 -1
  66. package/dist/test/providers/mem0-provider.test.js.map +0 -1
  67. package/dist/test/providers/rag-provider.test.d.ts.map +0 -1
  68. package/dist/test/providers/rag-provider.test.js +0 -108
  69. package/dist/test/providers/rag-provider.test.js.map +0 -1
  70. package/dist/test/providers/sqlite-store.test.d.ts.map +0 -1
  71. package/dist/test/providers/sqlite-store.test.js +0 -115
  72. package/dist/test/providers/sqlite-store.test.js.map +0 -1
  73. /package/dist/test/{core → unit/core}/agent-memory.test.d.ts +0 -0
  74. /package/dist/test/{core → unit/core}/config.test.d.ts +0 -0
  75. /package/dist/test/{core → unit/core}/observability.test.d.ts +0 -0
  76. /package/dist/test/{core → unit/core}/policy.test.d.ts +0 -0
  77. /package/dist/test/{core → unit/core}/privacy.test.d.ts +0 -0
  78. /package/dist/test/{core → unit/core}/router.test.d.ts +0 -0
  79. /package/dist/test/{create-agent-memory.test.d.ts → unit/create-agent-memory.test.d.ts} +0 -0
  80. /package/dist/test/{ingest → unit/ingest}/url-ingest.test.d.ts +0 -0
  81. /package/dist/test/{providers → unit/providers}/in-memory-store.test.d.ts +0 -0
  82. /package/dist/test/{providers → unit/providers}/mem0-provider.test.d.ts +0 -0
  83. /package/dist/test/{providers → unit/providers}/rag-provider.test.d.ts +0 -0
  84. /package/dist/test/{providers → unit/providers}/sqlite-store.test.d.ts +0 -0
@@ -1,137 +0,0 @@
1
- import { describe, it } from "node:test";
2
- import assert from "node:assert";
3
- import { join } from "node:path";
4
- import { writeFile, mkdir, rm } from "node:fs/promises";
5
- import { tmpdir } from "node:os";
6
- import { randomUUID } from "node:crypto";
7
- import { AgentMemory } from "../../src/core/agent-memory.js";
8
- import { MemoryRouter } from "../../src/core/router.js";
9
- import { InMemoryStoreProvider } from "../../src/providers/in-memory-store.js";
10
- import { ingestUrlToMemory } from "../../src/ingest/url-ingest.js";
11
- function makeTestMemory() {
12
- const provider = new InMemoryStoreProvider();
13
- const router = new MemoryRouter({
14
- providers: new Map([["default", provider]]),
15
- defaultProviderId: "default",
16
- });
17
- return new AgentMemory({ router });
18
- }
19
- describe("ingestUrlToMemory", () => {
20
- it("ingests local txt file and memorizes chunks", async () => {
21
- const dir = join(tmpdir(), `agent-memory-ingest-${randomUUID()}`);
22
- await mkdir(dir, { recursive: true });
23
- const filePath = join(dir, "doc.txt");
24
- const content = "First paragraph.\n\nSecond paragraph.\n\nThird.";
25
- await writeFile(filePath, content, "utf-8");
26
- const memory = makeTestMemory();
27
- try {
28
- const { count, firstItem } = await ingestUrlToMemory(memory, {
29
- url: filePath,
30
- namespace: "test",
31
- chunkSize: 50,
32
- });
33
- assert.ok(count >= 1);
34
- assert.ok(firstItem?.id);
35
- assert.strictEqual(firstItem?.type, "knowledge");
36
- const result = await memory.recall({
37
- namespace: "test",
38
- query: "paragraph",
39
- topK: 10,
40
- });
41
- assert.ok(result.items.length >= 1);
42
- }
43
- finally {
44
- await rm(dir, { recursive: true, force: true }).catch(() => { });
45
- }
46
- });
47
- it("ingests HTML and strips tags", async () => {
48
- const dir = join(tmpdir(), `agent-memory-html-${randomUUID()}`);
49
- await mkdir(dir, { recursive: true });
50
- const filePath = join(dir, "page.html");
51
- await writeFile(filePath, "<html><body><script>ignore</script><p>Visible text</p></body></html>", "utf-8");
52
- const memory = makeTestMemory();
53
- try {
54
- const { count, firstItem } = await ingestUrlToMemory(memory, {
55
- url: filePath,
56
- namespace: "test",
57
- chunkSize: 500,
58
- });
59
- assert.ok(count >= 1);
60
- assert.ok(firstItem);
61
- const result = await memory.recall({
62
- namespace: "test",
63
- query: "Visible",
64
- topK: 5,
65
- });
66
- assert.strictEqual(result.items.length, 1);
67
- assert.ok(result.items[0].content.includes("Visible text"));
68
- assert.ok(!result.items[0].content.includes("<script>"));
69
- }
70
- finally {
71
- await rm(dir, { recursive: true, force: true }).catch(() => { });
72
- }
73
- });
74
- it("uses captionFn for image when provided", async () => {
75
- const dir = join(tmpdir(), `agent-memory-img-${randomUUID()}`);
76
- await mkdir(dir, { recursive: true });
77
- const filePath = join(dir, "fake.png");
78
- await writeFile(filePath, "not a real png", "utf-8");
79
- const memory = makeTestMemory();
80
- const captionFn = async (_buffer) => "Caption for image";
81
- try {
82
- const { count, firstItem } = await ingestUrlToMemory(memory, {
83
- url: filePath,
84
- namespace: "test",
85
- captionFn,
86
- chunkSize: 500,
87
- });
88
- assert.ok(count >= 1);
89
- assert.strictEqual(firstItem?.content, "Caption for image");
90
- }
91
- finally {
92
- await rm(dir, { recursive: true, force: true }).catch(() => { });
93
- }
94
- });
95
- it("uses placeholder when image and no captionFn", async () => {
96
- const dir = join(tmpdir(), `agent-memory-img2-${randomUUID()}`);
97
- await mkdir(dir, { recursive: true });
98
- const filePath = join(dir, "x.png");
99
- await writeFile(filePath, "x", "utf-8");
100
- const memory = makeTestMemory();
101
- try {
102
- const { count, firstItem } = await ingestUrlToMemory(memory, {
103
- url: filePath,
104
- namespace: "test",
105
- chunkSize: 500,
106
- });
107
- assert.ok(count >= 1);
108
- assert.ok(firstItem?.content.startsWith("(image:"));
109
- }
110
- finally {
111
- await rm(dir, { recursive: true, force: true }).catch(() => { });
112
- }
113
- });
114
- it("detects image by magic bytes when path has no extension (e.g. upload temp file)", async () => {
115
- const dir = join(tmpdir(), `agent-memory-img3-${randomUUID()}`);
116
- await mkdir(dir, { recursive: true });
117
- const minimalPng = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==", "base64");
118
- const filePath = join(dir, "upload-temp-no-ext");
119
- await writeFile(filePath, minimalPng);
120
- const captionFn = async (_buffer) => "Caption for image";
121
- const memory = makeTestMemory();
122
- try {
123
- const { count, firstItem } = await ingestUrlToMemory(memory, {
124
- url: filePath,
125
- namespace: "test",
126
- chunkSize: 500,
127
- captionFn,
128
- });
129
- assert.strictEqual(count, 1, "image should produce exactly one caption, not many chunks");
130
- assert.strictEqual(firstItem?.content, "Caption for image");
131
- }
132
- finally {
133
- await rm(dir, { recursive: true, force: true }).catch(() => { });
134
- }
135
- });
136
- });
137
- //# sourceMappingURL=url-ingest.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-ingest.test.js","sourceRoot":"","sources":["../../../test/ingest/url-ingest.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory-store.test.d.ts","sourceRoot":"","sources":["../../../test/providers/in-memory-store.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory-store.test.js","sourceRoot":"","sources":["../../../test/providers/in-memory-store.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;YAChC,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,mBAAmB;SAC7B,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAEtD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;YACjC,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC7C,MAAM,QAAQ,CAAC,KAAK,CAAC;YACnB,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE;SACvC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAS,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QACzE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAElD,MAAM,QAAQ,CAAC,WAAY,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAS,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QACzE,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mem0-provider.test.d.ts","sourceRoot":"","sources":["../../../test/providers/mem0-provider.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mem0-provider.test.js","sourceRoot":"","sources":["../../../test/providers/mem0-provider.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rag-provider.test.d.ts","sourceRoot":"","sources":["../../../test/providers/rag-provider.test.ts"],"names":[],"mappings":""}
@@ -1,108 +0,0 @@
1
- import { describe, it } from "node:test";
2
- import assert from "node:assert";
3
- import { RAGProvider } from "../../src/providers/rag-provider.js";
4
- describe("RAGProvider", () => {
5
- it("write and query without embed or search", async () => {
6
- const provider = new RAGProvider();
7
- const item = await provider.write({
8
- namespace: "user:1",
9
- type: "knowledge",
10
- content: "Doc about API.",
11
- });
12
- assert.ok(item.id);
13
- assert.strictEqual(item.type, "knowledge");
14
- assert.strictEqual(item.content, "Doc about API.");
15
- const items = await provider.query({
16
- namespace: "user:1",
17
- query: "API",
18
- topK: 5,
19
- });
20
- assert.strictEqual(items.length, 1);
21
- assert.strictEqual(items[0].content, "Doc about API.");
22
- });
23
- it("write with embed stores embedding", async () => {
24
- const embed = async (text) => text.split("").map((_, i) => (i % 2) * 0.5);
25
- const provider = new RAGProvider({ embed });
26
- const item = await provider.write({
27
- namespace: "ns",
28
- type: "knowledge",
29
- content: "hello",
30
- });
31
- assert.ok(item.embedding);
32
- assert.ok(Array.isArray(item.embedding));
33
- });
34
- it("query with custom search uses search results", async () => {
35
- const provider = new RAGProvider({
36
- search: async (namespace, _query, topK) => {
37
- return [
38
- {
39
- item: {
40
- id: "s1",
41
- type: "knowledge",
42
- namespace,
43
- scope: "global",
44
- content: "search result",
45
- metadata: { created_at: "", updated_at: "" },
46
- },
47
- score: 0.9,
48
- },
49
- ].slice(0, topK);
50
- },
51
- });
52
- await provider.write({
53
- namespace: "ns",
54
- type: "knowledge",
55
- content: "stored",
56
- });
57
- const items = await provider.query({
58
- namespace: "ns",
59
- query: "q",
60
- topK: 3,
61
- });
62
- assert.strictEqual(items.length, 1);
63
- assert.strictEqual(items[0].content, "search result");
64
- });
65
- it("delete removes item", async () => {
66
- const provider = new RAGProvider();
67
- const item = await provider.write({
68
- namespace: "ns",
69
- type: "knowledge",
70
- content: "to delete",
71
- });
72
- const before = await provider.query({
73
- namespace: "ns",
74
- query: "x",
75
- topK: 10,
76
- });
77
- assert.strictEqual(before.length, 1);
78
- await provider.delete(item.id, "ns");
79
- const after = await provider.query({
80
- namespace: "ns",
81
- query: "x",
82
- topK: 10,
83
- });
84
- assert.strictEqual(after.length, 0);
85
- });
86
- it("query filters by types", async () => {
87
- const provider = new RAGProvider();
88
- await provider.write({
89
- namespace: "ns",
90
- type: "knowledge",
91
- content: "doc",
92
- });
93
- await provider.write({
94
- namespace: "ns",
95
- type: "cross_thread",
96
- content: "pref",
97
- });
98
- const items = await provider.query({
99
- namespace: "ns",
100
- query: "x",
101
- topK: 5,
102
- types: ["knowledge"],
103
- });
104
- assert.strictEqual(items.length, 1);
105
- assert.strictEqual(items[0].type, "knowledge");
106
- });
107
- });
108
- //# sourceMappingURL=rag-provider.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rag-provider.test.js","sourceRoot":"","sources":["../../../test/providers/rag-provider.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite-store.test.d.ts","sourceRoot":"","sources":["../../../test/providers/sqlite-store.test.ts"],"names":[],"mappings":""}
@@ -1,115 +0,0 @@
1
- import { describe, it } from "node:test";
2
- import assert from "node:assert";
3
- import { SqliteStoreProvider } from "../../src/providers/sqlite-store.js";
4
- const hasSqlite = (() => {
5
- try {
6
- const probe = new SqliteStoreProvider({ dbPath: ":memory:" });
7
- void probe;
8
- return true;
9
- }
10
- catch {
11
- return false;
12
- }
13
- })();
14
- describe("SqliteStoreProvider", { skip: !hasSqlite }, () => {
15
- it("write and query without embed", async () => {
16
- const provider = new SqliteStoreProvider({ dbPath: ":memory:" });
17
- const item = await provider.write({
18
- namespace: "user:1",
19
- type: "cross_thread",
20
- content: "Prefer dark mode.",
21
- });
22
- assert.ok(item.id);
23
- assert.strictEqual(item.type, "cross_thread");
24
- assert.strictEqual(item.content, "Prefer dark mode.");
25
- const items = await provider.query({
26
- namespace: "user:1",
27
- query: "user preferences",
28
- topK: 5,
29
- });
30
- assert.strictEqual(items.length, 1);
31
- assert.strictEqual(items[0].content, "Prefer dark mode.");
32
- });
33
- it("write and query with embed", async () => {
34
- const embed = async (text) => text.split("").map((_, i) => (i % 3) * 0.1);
35
- const provider = new SqliteStoreProvider({
36
- dbPath: ":memory:",
37
- embed,
38
- });
39
- await provider.write({
40
- namespace: "ns",
41
- type: "knowledge",
42
- content: "alpha",
43
- });
44
- await provider.write({
45
- namespace: "ns",
46
- type: "knowledge",
47
- content: "beta",
48
- });
49
- const items = await provider.query({
50
- namespace: "ns",
51
- query: "alpha",
52
- topK: 2,
53
- });
54
- assert.strictEqual(items.length, 2);
55
- assert.strictEqual(items[0].content, "alpha");
56
- });
57
- it("getByKey and deleteByKey", async () => {
58
- const provider = new SqliteStoreProvider({ dbPath: ":memory:" });
59
- await provider.write({
60
- namespace: "memory:fs",
61
- type: "cross_thread",
62
- content: "file content",
63
- metadata: { key: "/memories/foo.txt" },
64
- });
65
- const found = await provider.getByKey("memory:fs", "/memories/foo.txt");
66
- assert.ok(found);
67
- assert.strictEqual(found.content, "file content");
68
- await provider.deleteByKey("memory:fs", "/memories/foo.txt");
69
- const after = await provider.getByKey("memory:fs", "/memories/foo.txt");
70
- assert.strictEqual(after, null);
71
- });
72
- it("delete by id", async () => {
73
- const provider = new SqliteStoreProvider({ dbPath: ":memory:" });
74
- const item = await provider.write({
75
- namespace: "user:1",
76
- type: "thread",
77
- content: "to delete",
78
- });
79
- const before = await provider.query({
80
- namespace: "user:1",
81
- query: "any",
82
- topK: 10,
83
- });
84
- assert.strictEqual(before.length, 1);
85
- await provider.delete(item.id, "user:1");
86
- const after = await provider.query({
87
- namespace: "user:1",
88
- query: "any",
89
- topK: 10,
90
- });
91
- assert.strictEqual(after.length, 0);
92
- });
93
- it("query with types filter", async () => {
94
- const provider = new SqliteStoreProvider({ dbPath: ":memory:" });
95
- await provider.write({
96
- namespace: "ns",
97
- type: "knowledge",
98
- content: "doc",
99
- });
100
- await provider.write({
101
- namespace: "ns",
102
- type: "cross_thread",
103
- content: "pref",
104
- });
105
- const items = await provider.query({
106
- namespace: "ns",
107
- query: "x",
108
- topK: 5,
109
- types: ["knowledge"],
110
- });
111
- assert.strictEqual(items.length, 1);
112
- assert.strictEqual(items[0].type, "knowledge");
113
- });
114
- });
115
- //# sourceMappingURL=sqlite-store.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite-store.test.js","sourceRoot":"","sources":["../../../test/providers/sqlite-store.test.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes