@mingxy/cerebro 1.6.8 → 1.6.9
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/dist/client.d.ts +106 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +190 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +17 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +76 -0
- package/dist/config.js.map +1 -0
- package/dist/hooks.d.ts +29 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +390 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +142 -0
- package/dist/index.js.map +1 -0
- package/dist/keywords.d.ts +3 -0
- package/dist/keywords.d.ts.map +1 -0
- package/dist/keywords.js +21 -0
- package/dist/keywords.js.map +1 -0
- package/dist/logger.d.ts +5 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +42 -0
- package/dist/logger.js.map +1 -0
- package/dist/privacy.d.ts +3 -0
- package/dist/privacy.d.ts.map +1 -0
- package/dist/privacy.js +10 -0
- package/dist/privacy.js.map +1 -0
- package/dist/tags.d.ts +3 -0
- package/dist/tags.d.ts.map +1 -0
- package/dist/tags.js +13 -0
- package/dist/tags.js.map +1 -0
- package/dist/tools.d.ts +202 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +337 -0
- package/dist/tools.js.map +1 -0
- package/dist/tui.d.ts +7 -0
- package/dist/tui.d.ts.map +1 -0
- package/dist/tui.js +47 -0
- package/dist/tui.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +1 -1
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { OmemPluginConfig } from "./config.js";
|
|
2
|
+
export interface IngestOptions {
|
|
3
|
+
mode?: "smart" | "raw";
|
|
4
|
+
agentId?: string;
|
|
5
|
+
sessionId?: string;
|
|
6
|
+
entityContext?: string;
|
|
7
|
+
tags?: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface SearchResult {
|
|
10
|
+
memory: MemoryDto;
|
|
11
|
+
score: number;
|
|
12
|
+
}
|
|
13
|
+
export interface SearchResponse {
|
|
14
|
+
results: SearchResult[];
|
|
15
|
+
trace?: unknown;
|
|
16
|
+
}
|
|
17
|
+
export interface ListResponse {
|
|
18
|
+
memories: MemoryDto[];
|
|
19
|
+
limit: number;
|
|
20
|
+
offset: number;
|
|
21
|
+
}
|
|
22
|
+
export interface ClusterSummary {
|
|
23
|
+
cluster_id: string;
|
|
24
|
+
title: string;
|
|
25
|
+
summary: string;
|
|
26
|
+
member_count: number;
|
|
27
|
+
relevance_score: number;
|
|
28
|
+
key_memories: MemoryDto[];
|
|
29
|
+
}
|
|
30
|
+
export interface ClusteredRecallResult {
|
|
31
|
+
cluster_summaries: ClusterSummary[];
|
|
32
|
+
standalone_memories: MemoryDto[];
|
|
33
|
+
}
|
|
34
|
+
export interface ShouldRecallResponse {
|
|
35
|
+
should_recall: boolean;
|
|
36
|
+
query?: string;
|
|
37
|
+
reason?: string;
|
|
38
|
+
similarity_score?: number;
|
|
39
|
+
confidence?: number;
|
|
40
|
+
memories?: SearchResult[];
|
|
41
|
+
clustered?: ClusteredRecallResult;
|
|
42
|
+
}
|
|
43
|
+
export interface SessionRecallRecord {
|
|
44
|
+
session_id: string;
|
|
45
|
+
memory_ids: string[];
|
|
46
|
+
recall_type: string;
|
|
47
|
+
created_at: string;
|
|
48
|
+
}
|
|
49
|
+
export interface SessionRecallListResponse {
|
|
50
|
+
recalls: SessionRecallRecord[];
|
|
51
|
+
}
|
|
52
|
+
export interface MemoryDto {
|
|
53
|
+
id: string;
|
|
54
|
+
content: string;
|
|
55
|
+
l2_content?: string;
|
|
56
|
+
category: string;
|
|
57
|
+
memory_type: string;
|
|
58
|
+
state: string;
|
|
59
|
+
tags: string[];
|
|
60
|
+
source?: string;
|
|
61
|
+
tenant_id: string;
|
|
62
|
+
agent_id?: string;
|
|
63
|
+
importance: number;
|
|
64
|
+
created_at: string;
|
|
65
|
+
updated_at: string;
|
|
66
|
+
}
|
|
67
|
+
export declare class OmemClient {
|
|
68
|
+
private baseUrl;
|
|
69
|
+
private apiKey;
|
|
70
|
+
private config?;
|
|
71
|
+
constructor(baseUrl: string, apiKey: string, config?: Partial<OmemPluginConfig> | undefined);
|
|
72
|
+
private getCfg;
|
|
73
|
+
private request;
|
|
74
|
+
private post;
|
|
75
|
+
private put;
|
|
76
|
+
private del;
|
|
77
|
+
createMemory(content: string, tags?: string[], source?: string, scope?: string, agentId?: string, sessionId?: string, visibility?: string): Promise<MemoryDto | null>;
|
|
78
|
+
searchMemories(query: string, limit?: number, scope?: string, tags?: string[]): Promise<SearchResult[]>;
|
|
79
|
+
getMemory(id: string): Promise<MemoryDto | null>;
|
|
80
|
+
updateMemory(id: string, content: string, tags?: string[]): Promise<MemoryDto | null>;
|
|
81
|
+
deleteMemory(id: string): Promise<void>;
|
|
82
|
+
ingestMessages(messages: Array<{
|
|
83
|
+
role: string;
|
|
84
|
+
content: string;
|
|
85
|
+
}>, opts?: IngestOptions): Promise<unknown>;
|
|
86
|
+
getProfile(_query?: string): Promise<unknown>;
|
|
87
|
+
getStats(): Promise<unknown>;
|
|
88
|
+
listRecent(limit?: number): Promise<MemoryDto[]>;
|
|
89
|
+
createSpace(name: string, spaceType: string, members?: Array<{
|
|
90
|
+
user_id: string;
|
|
91
|
+
role: string;
|
|
92
|
+
}>): Promise<unknown>;
|
|
93
|
+
listSpaces(): Promise<unknown[]>;
|
|
94
|
+
addSpaceMember(spaceId: string, userId: string, role: string): Promise<unknown>;
|
|
95
|
+
shareMemory(memoryId: string, targetSpace: string): Promise<unknown>;
|
|
96
|
+
pullMemory(memoryId: string, sourceSpace: string, visibility?: string): Promise<unknown>;
|
|
97
|
+
reshareMemory(memoryId: string, targetSpace?: string): Promise<unknown>;
|
|
98
|
+
shouldRecall(query_text: string, last_query_text: string | undefined, session_id: string, similarity_threshold?: number, max_results?: number, project_tags?: string[]): Promise<ShouldRecallResponse | null>;
|
|
99
|
+
recordSessionRecall(session_id: string, memory_ids: string[], recall_type: string, query_text?: string, similarity_score?: number, llm_confidence?: number): Promise<unknown | null>;
|
|
100
|
+
listSessionRecalls(session_id: string): Promise<SessionRecallRecord[]>;
|
|
101
|
+
sessionIngest(messages: Array<{
|
|
102
|
+
role: string;
|
|
103
|
+
content: string;
|
|
104
|
+
}>, sessionId?: string, agentId?: string): Promise<unknown>;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { logWarn, logError } from "./logger.js";
|
|
2
|
+
function sanitizeContent(text, maxLen) {
|
|
3
|
+
let clean = text.replace(/<[\w-]+[^>]*>[\s\S]*?<\/[\w-]+>/g, "");
|
|
4
|
+
clean = clean.replace(/<[\w-]+[^>]*\/>/g, "");
|
|
5
|
+
clean = clean.replace(/\s+/g, " ").trim();
|
|
6
|
+
if (clean.length <= maxLen)
|
|
7
|
+
return clean;
|
|
8
|
+
return clean.slice(0, maxLen) + "…[truncated]";
|
|
9
|
+
}
|
|
10
|
+
function truncateQuery(query, maxLen) {
|
|
11
|
+
if (query.length <= maxLen)
|
|
12
|
+
return query;
|
|
13
|
+
return query.slice(0, maxLen);
|
|
14
|
+
}
|
|
15
|
+
export class OmemClient {
|
|
16
|
+
baseUrl;
|
|
17
|
+
apiKey;
|
|
18
|
+
config;
|
|
19
|
+
constructor(baseUrl, apiKey, config) {
|
|
20
|
+
this.baseUrl = baseUrl;
|
|
21
|
+
this.apiKey = apiKey;
|
|
22
|
+
this.config = config;
|
|
23
|
+
this.baseUrl = baseUrl.replace(/\/+$/, "");
|
|
24
|
+
}
|
|
25
|
+
getCfg(key, fallback) {
|
|
26
|
+
return this.config?.[key] ?? fallback;
|
|
27
|
+
}
|
|
28
|
+
async request(path, init = {}, timeoutMs) {
|
|
29
|
+
const url = `${this.baseUrl}${path}`;
|
|
30
|
+
const controller = new AbortController();
|
|
31
|
+
const timeout = setTimeout(() => controller.abort(), timeoutMs ?? this.getCfg("requestTimeoutMs", 15000));
|
|
32
|
+
try {
|
|
33
|
+
const res = await fetch(url, {
|
|
34
|
+
...init,
|
|
35
|
+
signal: controller.signal,
|
|
36
|
+
headers: {
|
|
37
|
+
"Content-Type": "application/json",
|
|
38
|
+
"X-API-Key": this.apiKey,
|
|
39
|
+
...init.headers,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
if (!res.ok) {
|
|
43
|
+
const errorBody = await res.text().catch(() => "");
|
|
44
|
+
logWarn(`${init.method ?? "GET"} ${path} → ${res.status} ${res.statusText}: ${errorBody}`);
|
|
45
|
+
throw new Error(`[omem] ${res.status} ${res.statusText}${errorBody ? ": " + errorBody : ""}`);
|
|
46
|
+
}
|
|
47
|
+
if (res.status === 204)
|
|
48
|
+
return null;
|
|
49
|
+
return (await res.json());
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
if (err.name === "AbortError") {
|
|
53
|
+
logWarn(`${init.method ?? "GET"} ${path} timed out`);
|
|
54
|
+
throw new Error(`[omem] Request timed out (${timeoutMs ?? this.getCfg("requestTimeoutMs", 15000)}ms)`);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
logError(`${init.method ?? "GET"} ${path} failed:`, err);
|
|
58
|
+
throw err;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
clearTimeout(timeout);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
post(path, body, timeoutMs) {
|
|
66
|
+
return this.request(path, {
|
|
67
|
+
method: "POST",
|
|
68
|
+
body: JSON.stringify(body),
|
|
69
|
+
}, timeoutMs);
|
|
70
|
+
}
|
|
71
|
+
put(path, body) {
|
|
72
|
+
return this.request(path, {
|
|
73
|
+
method: "PUT",
|
|
74
|
+
body: JSON.stringify(body),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
del(path) {
|
|
78
|
+
return this.request(path, { method: "DELETE" });
|
|
79
|
+
}
|
|
80
|
+
async createMemory(content, tags, source, scope, agentId, sessionId, visibility) {
|
|
81
|
+
const safeContent = sanitizeContent(content, this.getCfg("maxContentChars", 30000));
|
|
82
|
+
return this.post("/v1/memories", {
|
|
83
|
+
content: safeContent,
|
|
84
|
+
tags,
|
|
85
|
+
source,
|
|
86
|
+
scope,
|
|
87
|
+
agent_id: agentId,
|
|
88
|
+
session_id: sessionId,
|
|
89
|
+
visibility,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
async searchMemories(query, limit = 10, scope, tags) {
|
|
93
|
+
const safeQ = truncateQuery(query, this.getCfg("maxQueryLength", 200));
|
|
94
|
+
const params = new URLSearchParams({ q: safeQ, limit: String(limit) });
|
|
95
|
+
if (scope)
|
|
96
|
+
params.set("scope", scope);
|
|
97
|
+
if (tags && tags.length > 0)
|
|
98
|
+
params.set("tags", tags.join(","));
|
|
99
|
+
const res = await this.request(`/v1/memories/search?${params}`, {}, 20_000);
|
|
100
|
+
return res?.results ?? [];
|
|
101
|
+
}
|
|
102
|
+
async getMemory(id) {
|
|
103
|
+
return this.request(`/v1/memories/${encodeURIComponent(id)}`);
|
|
104
|
+
}
|
|
105
|
+
async updateMemory(id, content, tags) {
|
|
106
|
+
return this.put(`/v1/memories/${encodeURIComponent(id)}`, { content, tags });
|
|
107
|
+
}
|
|
108
|
+
async deleteMemory(id) {
|
|
109
|
+
await this.del(`/v1/memories/${encodeURIComponent(id)}`);
|
|
110
|
+
}
|
|
111
|
+
async ingestMessages(messages, opts = {}) {
|
|
112
|
+
const safeMessages = messages.map(m => ({
|
|
113
|
+
role: m.role,
|
|
114
|
+
content: sanitizeContent(m.content, this.getCfg("maxContentChars", 30000)),
|
|
115
|
+
}));
|
|
116
|
+
return this.post("/v1/memories", {
|
|
117
|
+
messages: safeMessages,
|
|
118
|
+
mode: opts.mode ?? "smart",
|
|
119
|
+
agent_id: opts.agentId,
|
|
120
|
+
session_id: opts.sessionId,
|
|
121
|
+
entity_context: opts.entityContext,
|
|
122
|
+
tags: opts.tags,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
async getProfile(_query) {
|
|
126
|
+
return this.request("/v1/profile");
|
|
127
|
+
}
|
|
128
|
+
async getStats() {
|
|
129
|
+
return this.request("/v1/stats");
|
|
130
|
+
}
|
|
131
|
+
async listRecent(limit = 20) {
|
|
132
|
+
const res = await this.request(`/v1/memories?limit=${limit}&offset=0`);
|
|
133
|
+
return res?.memories ?? [];
|
|
134
|
+
}
|
|
135
|
+
async createSpace(name, spaceType, members) {
|
|
136
|
+
return this.post("/v1/spaces", { name, space_type: spaceType, members });
|
|
137
|
+
}
|
|
138
|
+
async listSpaces() {
|
|
139
|
+
const res = await this.request("/v1/spaces");
|
|
140
|
+
return res?.spaces ?? [];
|
|
141
|
+
}
|
|
142
|
+
async addSpaceMember(spaceId, userId, role) {
|
|
143
|
+
return this.post(`/v1/spaces/${encodeURIComponent(spaceId)}/members`, { user_id: userId, role });
|
|
144
|
+
}
|
|
145
|
+
async shareMemory(memoryId, targetSpace) {
|
|
146
|
+
return this.post(`/v1/memories/${encodeURIComponent(memoryId)}/share`, { target_space: targetSpace });
|
|
147
|
+
}
|
|
148
|
+
async pullMemory(memoryId, sourceSpace, visibility) {
|
|
149
|
+
return this.post(`/v1/memories/${encodeURIComponent(memoryId)}/pull`, { source_space: sourceSpace, visibility });
|
|
150
|
+
}
|
|
151
|
+
async reshareMemory(memoryId, targetSpace) {
|
|
152
|
+
return this.post(`/v1/memories/${encodeURIComponent(memoryId)}/reshare`, { target_space: targetSpace });
|
|
153
|
+
}
|
|
154
|
+
async shouldRecall(query_text, last_query_text, session_id, similarity_threshold, max_results, project_tags) {
|
|
155
|
+
const res = await this.post("/v1/should-recall", {
|
|
156
|
+
query_text,
|
|
157
|
+
last_query_text,
|
|
158
|
+
session_id,
|
|
159
|
+
similarity_threshold,
|
|
160
|
+
max_results,
|
|
161
|
+
project_tags,
|
|
162
|
+
}, 20_000);
|
|
163
|
+
return res;
|
|
164
|
+
}
|
|
165
|
+
async recordSessionRecall(session_id, memory_ids, recall_type, query_text, similarity_score, llm_confidence) {
|
|
166
|
+
const body = {
|
|
167
|
+
session_id,
|
|
168
|
+
memory_ids,
|
|
169
|
+
recall_type,
|
|
170
|
+
query_text: query_text ?? "",
|
|
171
|
+
similarity_score: similarity_score ?? 0,
|
|
172
|
+
llm_confidence: llm_confidence ?? 0,
|
|
173
|
+
};
|
|
174
|
+
const res = await this.post("/v1/session-recalls", body, 20_000);
|
|
175
|
+
return res;
|
|
176
|
+
}
|
|
177
|
+
async listSessionRecalls(session_id) {
|
|
178
|
+
const params = new URLSearchParams({ session_id });
|
|
179
|
+
const res = await this.request(`/v1/session-recalls?${params}`);
|
|
180
|
+
return res?.recalls ?? [];
|
|
181
|
+
}
|
|
182
|
+
async sessionIngest(messages, sessionId, agentId) {
|
|
183
|
+
return this.post("/v1/memories/session-ingest", {
|
|
184
|
+
messages,
|
|
185
|
+
session_id: sessionId,
|
|
186
|
+
agent_id: agentId,
|
|
187
|
+
}, 60000);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface OmemPluginConfig {
|
|
2
|
+
apiUrl: string;
|
|
3
|
+
apiKey: string;
|
|
4
|
+
requestTimeoutMs: number;
|
|
5
|
+
maxQueryLength: number;
|
|
6
|
+
maxContentChars: number;
|
|
7
|
+
maxContentLength: number;
|
|
8
|
+
autoCaptureThreshold: number;
|
|
9
|
+
ingestMode: "smart" | "raw";
|
|
10
|
+
similarityThreshold: number;
|
|
11
|
+
maxRecallResults: number;
|
|
12
|
+
toastDelayMs: number;
|
|
13
|
+
}
|
|
14
|
+
declare const DEFAULTS: OmemPluginConfig;
|
|
15
|
+
export declare function loadPluginConfig(overrides?: Partial<OmemPluginConfig>): OmemPluginConfig;
|
|
16
|
+
export { DEFAULTS };
|
|
17
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAE/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IAEf,gBAAgB,EAAE,MAAM,CAAC;IAEzB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,OAAO,GAAG,KAAK,CAAC;IAE5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IAEzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,QAAQ,EAAE,gBAYf,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAgDxF;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
const DEFAULTS = {
|
|
5
|
+
apiUrl: "https://www.mengxy.cc",
|
|
6
|
+
apiKey: "",
|
|
7
|
+
requestTimeoutMs: 15000,
|
|
8
|
+
maxQueryLength: 200,
|
|
9
|
+
maxContentChars: 30000,
|
|
10
|
+
maxContentLength: 500,
|
|
11
|
+
autoCaptureThreshold: 5,
|
|
12
|
+
ingestMode: "smart",
|
|
13
|
+
similarityThreshold: 0.4,
|
|
14
|
+
maxRecallResults: 10,
|
|
15
|
+
toastDelayMs: 7000,
|
|
16
|
+
};
|
|
17
|
+
export function loadPluginConfig(overrides) {
|
|
18
|
+
const config = { ...DEFAULTS };
|
|
19
|
+
// Try loading from config file
|
|
20
|
+
try {
|
|
21
|
+
const cfgPath = join(homedir(), ".config", "ourmem", "config.json");
|
|
22
|
+
const cfg = JSON.parse(readFileSync(cfgPath, "utf-8"));
|
|
23
|
+
if (cfg.apiUrl)
|
|
24
|
+
config.apiUrl = cfg.apiUrl;
|
|
25
|
+
if (cfg.apiKey)
|
|
26
|
+
config.apiKey = cfg.apiKey;
|
|
27
|
+
if (typeof cfg.requestTimeoutMs === "number")
|
|
28
|
+
config.requestTimeoutMs = cfg.requestTimeoutMs;
|
|
29
|
+
if (typeof cfg.maxQueryLength === "number")
|
|
30
|
+
config.maxQueryLength = cfg.maxQueryLength;
|
|
31
|
+
if (typeof cfg.maxContentChars === "number")
|
|
32
|
+
config.maxContentChars = cfg.maxContentChars;
|
|
33
|
+
if (typeof cfg.maxContentLength === "number")
|
|
34
|
+
config.maxContentLength = cfg.maxContentLength;
|
|
35
|
+
if (typeof cfg.autoCaptureThreshold === "number")
|
|
36
|
+
config.autoCaptureThreshold = cfg.autoCaptureThreshold;
|
|
37
|
+
if (cfg.ingestMode === "raw" || cfg.ingestMode === "smart")
|
|
38
|
+
config.ingestMode = cfg.ingestMode;
|
|
39
|
+
if (typeof cfg.similarityThreshold === "number")
|
|
40
|
+
config.similarityThreshold = cfg.similarityThreshold;
|
|
41
|
+
if (typeof cfg.maxRecallResults === "number")
|
|
42
|
+
config.maxRecallResults = cfg.maxRecallResults;
|
|
43
|
+
if (typeof cfg.toastDelayMs === "number")
|
|
44
|
+
config.toastDelayMs = cfg.toastDelayMs;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Config file doesn't exist or is invalid, use defaults
|
|
48
|
+
}
|
|
49
|
+
// Apply environment variable overrides
|
|
50
|
+
if (process.env.OMEM_API_URL)
|
|
51
|
+
config.apiUrl = process.env.OMEM_API_URL;
|
|
52
|
+
if (process.env.OMEM_API_KEY)
|
|
53
|
+
config.apiKey = process.env.OMEM_API_KEY;
|
|
54
|
+
if (process.env.OMEM_REQUEST_TIMEOUT_MS) {
|
|
55
|
+
config.requestTimeoutMs = parseInt(process.env.OMEM_REQUEST_TIMEOUT_MS, 10) || DEFAULTS.requestTimeoutMs;
|
|
56
|
+
}
|
|
57
|
+
if (process.env.OMEM_AUTO_CAPTURE_THRESHOLD) {
|
|
58
|
+
config.autoCaptureThreshold = parseInt(process.env.OMEM_AUTO_CAPTURE_THRESHOLD, 10) || DEFAULTS.autoCaptureThreshold;
|
|
59
|
+
}
|
|
60
|
+
if (process.env.OMEM_INGEST_MODE === "raw" || process.env.OMEM_INGEST_MODE === "smart") {
|
|
61
|
+
config.ingestMode = process.env.OMEM_INGEST_MODE;
|
|
62
|
+
}
|
|
63
|
+
if (process.env.OMEM_SIMILARITY_THRESHOLD) {
|
|
64
|
+
config.similarityThreshold = parseFloat(process.env.OMEM_SIMILARITY_THRESHOLD) || DEFAULTS.similarityThreshold;
|
|
65
|
+
}
|
|
66
|
+
if (process.env.OMEM_MAX_RECALL_RESULTS) {
|
|
67
|
+
config.maxRecallResults = parseInt(process.env.OMEM_MAX_RECALL_RESULTS, 10) || DEFAULTS.maxRecallResults;
|
|
68
|
+
}
|
|
69
|
+
// Apply explicit overrides (from opencode.json)
|
|
70
|
+
if (overrides) {
|
|
71
|
+
Object.assign(config, overrides);
|
|
72
|
+
}
|
|
73
|
+
return config;
|
|
74
|
+
}
|
|
75
|
+
export { DEFAULTS };
|
|
76
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Model, UserMessage, Part } from "@opencode-ai/sdk";
|
|
2
|
+
import type { OmemClient } from "./client.js";
|
|
3
|
+
import type { OmemPluginConfig } from "./config.js";
|
|
4
|
+
export declare function autoRecallHook(client: OmemClient, containerTags: string[], tui: any, config?: Partial<OmemPluginConfig>): (input: {
|
|
5
|
+
sessionID?: string;
|
|
6
|
+
model: Model;
|
|
7
|
+
}, output: {
|
|
8
|
+
system: string[];
|
|
9
|
+
}) => Promise<void>;
|
|
10
|
+
export declare function keywordDetectionHook(_client: OmemClient, _containerTags: string[], threshold: number, _tui: any, _ingestMode?: "smart" | "raw"): (input: {
|
|
11
|
+
sessionID: string;
|
|
12
|
+
messageID?: string;
|
|
13
|
+
}, output: {
|
|
14
|
+
message: UserMessage;
|
|
15
|
+
parts: Part[];
|
|
16
|
+
}) => Promise<void>;
|
|
17
|
+
export declare function compactingHook(client: OmemClient, containerTags: string[], tui: any, ingestMode?: "smart" | "raw", isAutoStoreEnabled?: (sessionId: string | undefined) => boolean): (input: {
|
|
18
|
+
sessionID?: string;
|
|
19
|
+
}, output: {
|
|
20
|
+
context: string[];
|
|
21
|
+
prompt?: string;
|
|
22
|
+
}) => Promise<void>;
|
|
23
|
+
export declare function sessionIdleHook(omemClient: OmemClient, _containerTags: string[], tui: any, sdkClient: any, _ingestMode?: "smart" | "raw", threshold?: number, getMainSessionId?: () => string | undefined, isAutoStoreEnabled?: (sessionId: string | undefined) => boolean): (input: {
|
|
24
|
+
event: {
|
|
25
|
+
type: string;
|
|
26
|
+
properties?: any;
|
|
27
|
+
};
|
|
28
|
+
}) => Promise<void>;
|
|
29
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA0HpD,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAE,OAAO,CAAC,gBAAgB,CAAM,IAOxH,OAAO;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,EAC3C,QAAQ;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,mBAuI/B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,GAAE,OAAO,GAAG,KAAe,IAEpJ,OAAO;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,QAAQ;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,mBAgClD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAE,OAAO,GAAG,KAAe,EAAE,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,IAExL,OAAO;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7B,QAAQ;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,mBAoCjD;AAKD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EAAE,EACxB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,GAAG,EACd,WAAW,GAAE,OAAO,GAAG,KAAe,EACtC,SAAS,GAAE,MAAU,EACrB,gBAAgB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,EAC3C,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,IAKjD,OAAO;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,GAAG,CAAA;KAAE,CAAA;CAAE,mBA4EnE"}
|