@mingxy/cerebro 1.10.6 → 1.10.7

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":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAsB9C,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyZ3F"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAsBjD,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyZ9F"}
package/dist/tools.js CHANGED
@@ -69,7 +69,7 @@ export function buildTools(client, containerTags, context) {
69
69
  const allTags = [...containerTags, ...(args.tags ?? [])];
70
70
  const result = await client.createMemory(args.content, allTags, args.source, args.scope ?? "project", context.agentId, context.getSessionId(), args.visibility, args.category);
71
71
  if (!result)
72
- return JSON.stringify({ ok: false, error: "The omem server may be unavailable." });
72
+ return JSON.stringify({ ok: false, error: "The Cerebro server may be unavailable." });
73
73
  return JSON.stringify({ ok: true, id: result.id, tags: result.tags });
74
74
  },
75
75
  }),
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,47 +1,47 @@
1
- {
2
- "name": "@mingxy/cerebro",
3
- "version": "1.10.6",
4
- "description": "Cerebro persistent memory plugin for OpenCode — auto-recall, auto-capture, 9 memory tools with clustering",
5
- "type": "module",
6
- "main": "src/index.ts",
7
- "exports": {
8
- ".": {
9
- "types": "./src/index.ts",
10
- "default": "./src/index.ts"
11
- },
12
- "./tui": {
13
- "types": "./src/tui.tsx",
14
- "default": "./src/tui.tsx"
15
- }
16
- },
17
- "oc-plugin": [
18
- "server",
19
- "tui"
20
- ],
21
- "keywords": [
22
- "opencode",
23
- "memory",
24
- "ai-agent",
25
- "persistent-memory",
26
- "cerebro",
27
- "clustering"
28
- ],
29
- "author": "mingxy-cerebro",
30
- "license": "Apache-2.0",
31
- "homepage": "https://github.com/mingxy-cerebro/cerebro-server",
32
- "repository": {
33
- "type": "git",
34
- "url": "https://github.com/mingxy-cerebro/cerebro-server.git",
35
- "directory": "plugins/opencode"
36
- },
37
- "dependencies": {
38
- "@opencode-ai/plugin": "^1.0.162",
39
- "@opentui/core": "^0.1.92",
40
- "@opentui/solid": "^0.1.92",
41
- "solid-js": "^1.9.10"
42
- },
43
- "devDependencies": {
44
- "@types/node": "^25.5.0",
45
- "typescript": "^5.7.0"
46
- }
47
- }
1
+ {
2
+ "name": "@mingxy/cerebro",
3
+ "version": "1.10.7",
4
+ "description": "Cerebro persistent memory plugin for OpenCode — auto-recall, auto-capture, 9 memory tools with clustering",
5
+ "type": "module",
6
+ "main": "src/index.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./src/index.ts",
10
+ "default": "./src/index.ts"
11
+ },
12
+ "./tui": {
13
+ "types": "./src/tui.tsx",
14
+ "default": "./src/tui.tsx"
15
+ }
16
+ },
17
+ "oc-plugin": [
18
+ "server",
19
+ "tui"
20
+ ],
21
+ "keywords": [
22
+ "opencode",
23
+ "memory",
24
+ "ai-agent",
25
+ "persistent-memory",
26
+ "cerebro",
27
+ "clustering"
28
+ ],
29
+ "author": "mingxy-cerebro",
30
+ "license": "Apache-2.0",
31
+ "homepage": "https://github.com/mingxy-cerebro/cerebro-server",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "https://github.com/mingxy-cerebro/cerebro-server.git",
35
+ "directory": "plugins/opencode"
36
+ },
37
+ "dependencies": {
38
+ "@opencode-ai/plugin": "^1.0.162",
39
+ "@opentui/core": "^0.1.92",
40
+ "@opentui/solid": "^0.1.92",
41
+ "solid-js": "^1.9.10"
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "^25.5.0",
45
+ "typescript": "^5.7.0"
46
+ }
47
+ }
package/src/client.ts CHANGED
@@ -18,7 +18,6 @@ export interface IngestOptions {
18
18
  mode?: "smart" | "raw";
19
19
  agentId?: string;
20
20
  sessionId?: string;
21
- parentSessionId?: string;
22
21
  entityContext?: string;
23
22
  tags?: string[];
24
23
  projectName?: string;
@@ -91,7 +90,7 @@ export interface MemoryDto {
91
90
  updated_at: string;
92
91
  }
93
92
 
94
- export class OmemClient {
93
+ export class CerebroClient {
95
94
  constructor(
96
95
  private baseUrl: string,
97
96
  private apiKey: string,
@@ -100,8 +99,11 @@ export class OmemClient {
100
99
  this.baseUrl = baseUrl.replace(/\/+$/, "");
101
100
  }
102
101
 
103
- private getCfg<K extends keyof OmemPluginConfig>(key: K, fallback: OmemPluginConfig[K]): OmemPluginConfig[K] {
104
- return this.config?.[key] ?? fallback;
102
+ private getCfg<S extends keyof OmemPluginConfig, K extends string & keyof OmemPluginConfig[S]>(
103
+ section: S, key: K, fallback: OmemPluginConfig[S][K],
104
+ ): OmemPluginConfig[S][K] {
105
+ const sec = this.config?.[section] as Record<string, unknown> | undefined;
106
+ return (sec?.[key] ?? fallback) as OmemPluginConfig[S][K];
105
107
  }
106
108
 
107
109
  private async request<T>(
@@ -113,7 +115,7 @@ export class OmemClient {
113
115
  const controller = new AbortController();
114
116
  const timeout = setTimeout(
115
117
  () => controller.abort(),
116
- timeoutMs ?? this.getCfg("requestTimeoutMs", 15000),
118
+ timeoutMs ?? this.getCfg("connection", "requestTimeoutMs", 15000),
117
119
  );
118
120
 
119
121
  try {
@@ -130,7 +132,7 @@ export class OmemClient {
130
132
  if (!res.ok) {
131
133
  const errorBody = await res.text().catch(() => "");
132
134
  logWarn("HTTP error", { method: init.method ?? "GET", path, status: res.status, statusText: res.statusText, errorBody });
133
- throw new Error(`[omem] ${res.status} ${res.statusText}${errorBody ? ": " + errorBody : ""}`);
135
+ throw new Error(`[cerebro] ${res.status} ${res.statusText}${errorBody ? ": " + errorBody : ""}`);
134
136
  }
135
137
 
136
138
  if (res.status === 204) return null;
@@ -138,8 +140,8 @@ export class OmemClient {
138
140
  return (await res.json()) as T;
139
141
  } catch (err) {
140
142
  if ((err as Error).name === "AbortError") {
141
- logWarn("Request timed out", { method: init.method ?? "GET", path, timeoutMs: timeoutMs ?? this.getCfg("requestTimeoutMs", 15000) });
142
- throw new Error(`[omem] Request timed out (${timeoutMs ?? this.getCfg("requestTimeoutMs", 15000)}ms)`);
143
+ logWarn("Request timed out", { method: init.method ?? "GET", path, timeoutMs: timeoutMs ?? this.getCfg("connection", "requestTimeoutMs", 15000) });
144
+ throw new Error(`[cerebro] Request timed out (${timeoutMs ?? this.getCfg("connection", "requestTimeoutMs", 15000)}ms)`);
143
145
  } else {
144
146
  logError("Request failed", { method: init.method ?? "GET", path, error: String(err) });
145
147
  throw err;
@@ -177,7 +179,7 @@ export class OmemClient {
177
179
  visibility?: string,
178
180
  category?: string,
179
181
  ): Promise<MemoryDto | null> {
180
- const safeContent = sanitizeContent(content, this.getCfg("maxContentChars", 30000));
182
+ const safeContent = sanitizeContent(content, this.getCfg("content", "maxContentChars", 30000));
181
183
  return this.post<MemoryDto>("/v1/memories", {
182
184
  content: safeContent,
183
185
  tags,
@@ -196,7 +198,7 @@ export class OmemClient {
196
198
  scope?: string,
197
199
  tags?: string[],
198
200
  ): Promise<SearchResult[]> {
199
- const safeQ = truncateQuery(query, this.getCfg("maxQueryLength", 200));
201
+ const safeQ = truncateQuery(query, this.getCfg("content", "maxQueryLength", 200));
200
202
  const params = new URLSearchParams({ q: safeQ, limit: String(limit) });
201
203
  if (scope) params.set("scope", scope);
202
204
  if (tags && tags.length > 0) params.set("tags", tags.join(","));
@@ -233,14 +235,13 @@ export class OmemClient {
233
235
  ): Promise<unknown> {
234
236
  const safeMessages = messages.map(m => ({
235
237
  role: m.role,
236
- content: sanitizeContent(m.content, this.getCfg("maxContentChars", 30000)),
238
+ content: sanitizeContent(m.content, this.getCfg("content", "maxContentChars", 30000)),
237
239
  }));
238
240
  return this.post("/v1/memories", {
239
241
  messages: safeMessages,
240
242
  mode: opts.mode ?? "smart",
241
243
  agent_id: opts.agentId,
242
244
  session_id: opts.sessionId,
243
- parent_session_id: opts.parentSessionId,
244
245
  entity_context: opts.entityContext,
245
246
  tags: opts.tags,
246
247
  project_name: opts.projectName,
@@ -372,7 +373,6 @@ export class OmemClient {
372
373
  agentId?: string,
373
374
  sessionTitle?: string,
374
375
  projectName?: string,
375
- parentSessionId?: string,
376
376
  ): Promise<unknown> {
377
377
  return this.post("/v1/memories/session-ingest", {
378
378
  messages,
@@ -380,7 +380,6 @@ export class OmemClient {
380
380
  agent_id: agentId,
381
381
  session_title: sessionTitle,
382
382
  project_name: projectName,
383
- parent_session_id: parentSessionId,
384
383
  }, 60000);
385
384
  }
386
385
  }
package/src/config.ts CHANGED
@@ -1,104 +1,207 @@
1
- import { readFileSync } from "node:fs";
2
- import { homedir } from "node:os";
3
- import { join } from "node:path";
4
-
5
- export interface OmemPluginConfig {
6
- // Connection
7
- apiUrl: string;
8
- apiKey: string;
9
- // Timeouts (milliseconds)
10
- requestTimeoutMs: number;
11
- // Content limits
12
- maxQueryLength: number;
13
- maxContentChars: number;
14
- maxContentLength: number;
15
- // Auto capture
16
- autoCaptureThreshold: number;
17
- ingestMode: "smart" | "raw";
18
- // Recall settings
19
- similarityThreshold: number;
20
- maxRecallResults: number;
21
- // UI settings
22
- toastDelayMs: number;
23
- // Logging
24
- logEnabled: boolean;
25
- logLevel: "DEBUG" | "INFO" | "WARN" | "ERROR";
26
- logDir: string;
27
- }
28
-
29
- const DEFAULTS: OmemPluginConfig = {
30
- apiUrl: "https://www.mengxy.cc",
31
- apiKey: "",
32
- requestTimeoutMs: 15000,
33
- maxQueryLength: 200,
34
- maxContentChars: 30000,
35
- maxContentLength: 500,
36
- autoCaptureThreshold: 5,
37
- ingestMode: "smart",
38
- similarityThreshold: 0.4,
39
- maxRecallResults: 10,
40
- toastDelayMs: 7000,
41
- logEnabled: true,
42
- logLevel: "INFO",
43
- logDir: join(homedir(), ".config", "cerebro"),
44
- };
45
-
46
- export function loadPluginConfig(overrides?: Partial<OmemPluginConfig>): OmemPluginConfig {
47
- const config: Partial<OmemPluginConfig> = { ...DEFAULTS };
48
-
49
- // Try loading from config file
50
- try {
51
- const cfgPath = join(homedir(), ".config", "cerebro", "config.json");
52
- const cfg = JSON.parse(readFileSync(cfgPath, "utf-8"));
53
-
54
- if (cfg.apiUrl) config.apiUrl = cfg.apiUrl;
55
- if (cfg.apiKey) config.apiKey = cfg.apiKey;
56
- if (typeof cfg.requestTimeoutMs === "number") config.requestTimeoutMs = cfg.requestTimeoutMs;
57
- if (typeof cfg.maxQueryLength === "number") config.maxQueryLength = cfg.maxQueryLength;
58
- if (typeof cfg.maxContentChars === "number") config.maxContentChars = cfg.maxContentChars;
59
- if (typeof cfg.maxContentLength === "number") config.maxContentLength = cfg.maxContentLength;
60
- if (typeof cfg.autoCaptureThreshold === "number") config.autoCaptureThreshold = cfg.autoCaptureThreshold;
61
- if (cfg.ingestMode === "raw" || cfg.ingestMode === "smart") config.ingestMode = cfg.ingestMode;
62
- if (typeof cfg.similarityThreshold === "number") config.similarityThreshold = cfg.similarityThreshold;
63
- if (typeof cfg.maxRecallResults === "number") config.maxRecallResults = cfg.maxRecallResults;
64
- if (typeof cfg.toastDelayMs === "number") config.toastDelayMs = cfg.toastDelayMs;
65
- if (typeof cfg.logEnabled === "boolean") config.logEnabled = cfg.logEnabled;
66
- if (cfg.logLevel === "DEBUG" || cfg.logLevel === "INFO" || cfg.logLevel === "WARN" || cfg.logLevel === "ERROR") config.logLevel = cfg.logLevel;
67
- if (typeof cfg.logDir === "string" && cfg.logDir) config.logDir = cfg.logDir;
68
- } catch {
69
- // Config file doesn't exist or is invalid, use defaults
70
- }
71
-
72
- // Apply environment variable overrides
73
- if (process.env.OMEM_API_URL) config.apiUrl = process.env.OMEM_API_URL;
74
- if (process.env.OMEM_API_KEY) config.apiKey = process.env.OMEM_API_KEY;
75
- if (process.env.OMEM_REQUEST_TIMEOUT_MS) {
76
- config.requestTimeoutMs = parseInt(process.env.OMEM_REQUEST_TIMEOUT_MS, 10) || DEFAULTS.requestTimeoutMs;
77
- }
78
- if (process.env.OMEM_AUTO_CAPTURE_THRESHOLD) {
79
- config.autoCaptureThreshold = parseInt(process.env.OMEM_AUTO_CAPTURE_THRESHOLD, 10) || DEFAULTS.autoCaptureThreshold;
80
- }
81
- if (process.env.OMEM_INGEST_MODE === "raw" || process.env.OMEM_INGEST_MODE === "smart") {
82
- config.ingestMode = process.env.OMEM_INGEST_MODE;
83
- }
84
- if (process.env.OMEM_SIMILARITY_THRESHOLD) {
85
- config.similarityThreshold = parseFloat(process.env.OMEM_SIMILARITY_THRESHOLD) || DEFAULTS.similarityThreshold;
86
- }
87
- if (process.env.OMEM_MAX_RECALL_RESULTS) {
88
- config.maxRecallResults = parseInt(process.env.OMEM_MAX_RECALL_RESULTS, 10) || DEFAULTS.maxRecallResults;
89
- }
90
-
91
- // Apply explicit overrides (from opencode.json)
92
- if (overrides) {
93
- Object.assign(config, overrides);
94
- }
95
-
96
- // Expand ~ to home directory in logDir
97
- if (config.logDir?.startsWith("~")) {
98
- config.logDir = config.logDir.replace(/^~/, homedir());
99
- }
100
-
101
- return config as OmemPluginConfig;
102
- }
103
-
104
- export { DEFAULTS };
1
+ import { readFileSync } from "node:fs";
2
+ import { homedir } from "node:os";
3
+ import { join } from "node:path";
4
+
5
+ // ── Nested config interface ──────────────────────────────────────────
6
+
7
+ export interface OmemPluginConfig {
8
+ connection: {
9
+ apiUrl: string;
10
+ apiKey: string;
11
+ requestTimeoutMs: number;
12
+ };
13
+ content: {
14
+ maxQueryLength: number;
15
+ maxContentChars: number;
16
+ maxContentLength: number;
17
+ };
18
+ ingest: {
19
+ autoCaptureThreshold: number;
20
+ ingestMode: "smart" | "raw";
21
+ };
22
+ recall: {
23
+ similarityThreshold: number;
24
+ maxRecallResults: number;
25
+ };
26
+ logging: {
27
+ logEnabled: boolean;
28
+ logLevel: "DEBUG" | "INFO" | "WARN" | "ERROR";
29
+ logDir: string;
30
+ };
31
+ ui: {
32
+ toastDelayMs: number;
33
+ };
34
+ agentMemoryPolicy?: Record<string, "none" | "readonly" | "readwrite">;
35
+ defaultPolicy?: "none" | "readonly" | "readwrite";
36
+ }
37
+
38
+ // ── Defaults ─────────────────────────────────────────────────────────
39
+
40
+ const DEFAULTS: OmemPluginConfig = {
41
+ connection: {
42
+ apiUrl: "https://www.mengxy.cc",
43
+ apiKey: "",
44
+ requestTimeoutMs: 15000,
45
+ },
46
+ content: {
47
+ maxQueryLength: 200,
48
+ maxContentChars: 30000,
49
+ maxContentLength: 500,
50
+ },
51
+ ingest: {
52
+ autoCaptureThreshold: 5,
53
+ ingestMode: "smart",
54
+ },
55
+ recall: {
56
+ similarityThreshold: 0.4,
57
+ maxRecallResults: 10,
58
+ },
59
+ logging: {
60
+ logEnabled: true,
61
+ logLevel: "INFO",
62
+ logDir: join(homedir(), ".config", "cerebro"),
63
+ },
64
+ ui: {
65
+ toastDelayMs: 7000,
66
+ },
67
+ };
68
+
69
+ // ── Flat-to-nested migration ─────────────────────────────────────────
70
+
71
+ /** Shape of legacy flat config (pre-nesting). */
72
+ interface FlatConfig {
73
+ apiUrl?: string;
74
+ apiKey?: string;
75
+ requestTimeoutMs?: number;
76
+ maxQueryLength?: number;
77
+ maxContentChars?: number;
78
+ maxContentLength?: number;
79
+ autoCaptureThreshold?: number;
80
+ ingestMode?: "smart" | "raw";
81
+ similarityThreshold?: number;
82
+ maxRecallResults?: number;
83
+ toastDelayMs?: number;
84
+ logEnabled?: boolean;
85
+ logLevel?: "DEBUG" | "INFO" | "WARN" | "ERROR";
86
+ logDir?: string;
87
+ // Nested fields that would indicate new format
88
+ connection?: unknown;
89
+ }
90
+
91
+ function isFlatConfig(cfg: Record<string, unknown>): boolean {
92
+ return "apiUrl" in cfg && !("connection" in cfg);
93
+ }
94
+
95
+ function migrateFlatToNested(flat: FlatConfig): OmemPluginConfig {
96
+ return {
97
+ connection: {
98
+ apiUrl: flat.apiUrl ?? DEFAULTS.connection.apiUrl,
99
+ apiKey: flat.apiKey ?? DEFAULTS.connection.apiKey,
100
+ requestTimeoutMs: flat.requestTimeoutMs ?? DEFAULTS.connection.requestTimeoutMs,
101
+ },
102
+ content: {
103
+ maxQueryLength: flat.maxQueryLength ?? DEFAULTS.content.maxQueryLength,
104
+ maxContentChars: flat.maxContentChars ?? DEFAULTS.content.maxContentChars,
105
+ maxContentLength: flat.maxContentLength ?? DEFAULTS.content.maxContentLength,
106
+ },
107
+ ingest: {
108
+ autoCaptureThreshold: flat.autoCaptureThreshold ?? DEFAULTS.ingest.autoCaptureThreshold,
109
+ ingestMode: flat.ingestMode ?? DEFAULTS.ingest.ingestMode,
110
+ },
111
+ recall: {
112
+ similarityThreshold: flat.similarityThreshold ?? DEFAULTS.recall.similarityThreshold,
113
+ maxRecallResults: flat.maxRecallResults ?? DEFAULTS.recall.maxRecallResults,
114
+ },
115
+ logging: {
116
+ logEnabled: flat.logEnabled ?? DEFAULTS.logging.logEnabled,
117
+ logLevel: flat.logLevel ?? DEFAULTS.logging.logLevel,
118
+ logDir: flat.logDir ?? DEFAULTS.logging.logDir,
119
+ },
120
+ ui: {
121
+ toastDelayMs: flat.toastDelayMs ?? DEFAULTS.ui.toastDelayMs,
122
+ },
123
+ };
124
+ }
125
+
126
+ // ── Helpers ──────────────────────────────────────────────────────────
127
+
128
+ type IngestMode = "smart" | "raw";
129
+ const INGEST_MODES: ReadonlySet<string> = new Set<IngestMode>(["smart", "raw"]);
130
+
131
+ function deepMerge(base: OmemPluginConfig, overrides: Partial<OmemPluginConfig>): OmemPluginConfig {
132
+ const result: OmemPluginConfig = {
133
+ connection: { ...base.connection, ...overrides.connection },
134
+ content: { ...base.content, ...overrides.content },
135
+ ingest: { ...base.ingest, ...overrides.ingest },
136
+ recall: { ...base.recall, ...overrides.recall },
137
+ logging: { ...base.logging, ...overrides.logging },
138
+ ui: { ...base.ui, ...overrides.ui },
139
+ };
140
+ if (overrides.agentMemoryPolicy) result.agentMemoryPolicy = overrides.agentMemoryPolicy;
141
+ if (overrides.defaultPolicy) result.defaultPolicy = overrides.defaultPolicy;
142
+ return result;
143
+ }
144
+
145
+ // ── Load config ──────────────────────────────────────────────────────
146
+
147
+ export function loadPluginConfig(overrides?: Partial<OmemPluginConfig>): OmemPluginConfig {
148
+ let config: OmemPluginConfig = structuredClone(DEFAULTS);
149
+
150
+ // Try loading from config file
151
+ try {
152
+ const cfgPath = join(homedir(), ".config", "cerebro", "config.json");
153
+ const raw = JSON.parse(readFileSync(cfgPath, "utf-8")) as Record<string, unknown>;
154
+
155
+ // Auto-migrate flat format
156
+ const parsed: OmemPluginConfig = isFlatConfig(raw) ? migrateFlatToNested(raw as FlatConfig) : raw as unknown as OmemPluginConfig;
157
+
158
+ // Merge nested groups with defaults for safety
159
+ config = deepMerge(config, parsed);
160
+ } catch {
161
+ // Config file doesn't exist or is invalid, use defaults
162
+ }
163
+
164
+ // Apply environment variable overrides (flat OMEM_* → nested paths)
165
+ if (process.env.OMEM_API_URL) config.connection.apiUrl = process.env.OMEM_API_URL;
166
+ if (process.env.OMEM_API_KEY) config.connection.apiKey = process.env.OMEM_API_KEY;
167
+ if (process.env.OMEM_REQUEST_TIMEOUT_MS) {
168
+ config.connection.requestTimeoutMs = parseInt(process.env.OMEM_REQUEST_TIMEOUT_MS, 10) || DEFAULTS.connection.requestTimeoutMs;
169
+ }
170
+ if (process.env.OMEM_AUTO_CAPTURE_THRESHOLD) {
171
+ config.ingest.autoCaptureThreshold = parseInt(process.env.OMEM_AUTO_CAPTURE_THRESHOLD, 10) || DEFAULTS.ingest.autoCaptureThreshold;
172
+ }
173
+ if (INGEST_MODES.has(process.env.OMEM_INGEST_MODE ?? "")) {
174
+ config.ingest.ingestMode = process.env.OMEM_INGEST_MODE as IngestMode;
175
+ }
176
+ if (process.env.OMEM_SIMILARITY_THRESHOLD) {
177
+ config.recall.similarityThreshold = parseFloat(process.env.OMEM_SIMILARITY_THRESHOLD) || DEFAULTS.recall.similarityThreshold;
178
+ }
179
+ if (process.env.OMEM_MAX_RECALL_RESULTS) {
180
+ config.recall.maxRecallResults = parseInt(process.env.OMEM_MAX_RECALL_RESULTS, 10) || DEFAULTS.recall.maxRecallResults;
181
+ }
182
+
183
+ // Apply explicit overrides (from opencode.json)
184
+ if (overrides) {
185
+ config = deepMerge(config, overrides);
186
+ }
187
+
188
+ // Expand ~ to home directory in logDir
189
+ if (config.logging.logDir?.startsWith("~")) {
190
+ config.logging.logDir = config.logging.logDir.replace(/^~/, homedir());
191
+ }
192
+
193
+ return config;
194
+ }
195
+
196
+ // ── Agent policy resolver ────────────────────────────────────────────
197
+
198
+ export type AgentPolicy = "none" | "readonly" | "readwrite";
199
+
200
+ export function resolveAgentPolicy(
201
+ agentName: string,
202
+ config: OmemPluginConfig,
203
+ ): AgentPolicy {
204
+ return config.agentMemoryPolicy?.[agentName] ?? config.defaultPolicy ?? "readonly";
205
+ }
206
+
207
+ export { DEFAULTS };