@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.
@@ -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":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAepD,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,SAAS,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,cAAc,EAAE,CAAC;IACpC,mBAAmB,EAAE,SAAS,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAU;IAEnB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM,CAAC;gBAFP,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,YAAA;IAK5C,OAAO,CAAC,MAAM;YAIA,OAAO;IA6CrB,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,GAAG;IAOX,OAAO,CAAC,GAAG;IAIL,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAatB,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,KAAK,SAAK,EACV,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,YAAY,EAAE,CAAC;IAapB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIhD,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAOtB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,cAAc,CAClB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAClD,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,OAAO,CAAC;IAeb,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7C,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5B,UAAU,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAO5C,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GACjD,OAAO,CAAC,OAAO,CAAC;IAIb,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAKhC,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IAOb,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;IAOb,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;IAOb,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IAOb,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,UAAU,EAAE,MAAM,EAClB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAYjC,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAapB,kBAAkB,CACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAQ3B,aAAa,CACjB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAClD,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;CAOpB"}
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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"}
@@ -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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"}
@@ -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"}