@xfabric/memory 0.2.1 → 0.2.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAsClD,eAAO,MAAM,YAAY,EAAE,MAyG1B,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA2ClD,eAAO,MAAM,YAAY,EAAE,MAyG1B,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -13,34 +13,38 @@ let manager = null;
13
13
  */
14
14
  function getDataDir() {
15
15
  const xdgDataHome = process.env.XDG_DATA_HOME || join(homedir(), ".local", "share");
16
- return join(xdgDataHome, "opencode", "memory");
16
+ return join(xdgDataHome, "memory");
17
17
  }
18
- async function getManager(workspaceDir) {
18
+ async function getManager() {
19
19
  if (!manager) {
20
- const dataDir = getDataDir();
20
+ const memoryDir = getDataDir();
21
+ // Ensure memory directory exists
22
+ const { mkdir } = await import("node:fs/promises");
23
+ await mkdir(memoryDir, { recursive: true });
21
24
  manager = await MemoryManager.create({
22
25
  agentId: "opencode-agent",
23
- workspaceDir,
26
+ workspaceDir: memoryDir, // Index markdown files from memory directory
24
27
  provider: "auto",
25
28
  remote: {
26
29
  apiKey: process.env.OPENROUTER_API_KEY || process.env.OPENAI_API_KEY,
27
30
  },
28
31
  store: {
29
- path: join(dataDir, "index.sqlite"),
32
+ path: join(memoryDir, "index.sqlite"),
30
33
  },
31
34
  sync: {
32
35
  enabled: true,
36
+ onSearch: true, // Re-sync before search if files changed
33
37
  },
34
38
  });
35
39
  }
36
40
  return manager;
37
41
  }
38
- export const MemoryPlugin = async (ctx) => {
39
- const workspaceDir = ctx.directory || process.cwd();
42
+ export const MemoryPlugin = async () => {
43
+ const memoryDir = getDataDir();
40
44
  return {
41
45
  tool: {
42
46
  memory_search: tool({
43
- description: "Search semantic memory for relevant information from indexed markdown files in the memory/ folder. " +
47
+ description: "Search semantic memory for relevant information from indexed markdown files. " +
44
48
  "Use this to find past context, preferences, notes, or any stored knowledge.",
45
49
  args: {
46
50
  query: tool.schema.string().describe("Natural language search query"),
@@ -51,7 +55,7 @@ export const MemoryPlugin = async (ctx) => {
51
55
  },
52
56
  async execute(args) {
53
57
  try {
54
- const mgr = await getManager(workspaceDir);
58
+ const mgr = await getManager();
55
59
  const results = await mgr.search(args.query, {
56
60
  maxResults: args.maxResults ?? 10,
57
61
  });
@@ -86,7 +90,7 @@ export const MemoryPlugin = async (ctx) => {
86
90
  args: {
87
91
  path: tool.schema
88
92
  .string()
89
- .describe("Relative path to the file (from workspace root)"),
93
+ .describe("Relative path to the file (from memory directory)"),
90
94
  from: tool.schema
91
95
  .number()
92
96
  .optional()
@@ -99,7 +103,7 @@ export const MemoryPlugin = async (ctx) => {
99
103
  async execute(args) {
100
104
  try {
101
105
  const { readFile } = await import("node:fs/promises");
102
- const absPath = join(workspaceDir, args.path);
106
+ const absPath = join(memoryDir, args.path);
103
107
  const content = await readFile(absPath, "utf-8");
104
108
  const allLines = content.split("\n");
105
109
  const startLine = Math.max(1, args.from ?? 1);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xfabric/memory",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Semantic memory search for AI agents",
5
5
  "type": "module",
6
6
  "exports": {