@mingxy/cerebro 1.12.8 → 1.14.0
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 +5 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +10 -4
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/hooks.d.ts +12 -5
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +114 -14
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/tools.d.ts +1 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +14 -5
- package/dist/tools.js.map +1 -1
- package/package.json +4 -3
- package/schema.json +31 -0
- package/src/client.ts +10 -0
- package/src/config.ts +13 -0
- package/src/hooks.ts +73 -57
- package/src/index.ts +23 -11
- package/src/tools.ts +15 -3
package/dist/client.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export interface IngestOptions {
|
|
|
6
6
|
entityContext?: string;
|
|
7
7
|
tags?: string[];
|
|
8
8
|
projectName?: string;
|
|
9
|
+
projectPath?: string;
|
|
9
10
|
}
|
|
10
11
|
export interface SearchResult {
|
|
11
12
|
memory: MemoryDto;
|
|
@@ -83,8 +84,8 @@ export declare class CerebroClient {
|
|
|
83
84
|
private put;
|
|
84
85
|
private patch;
|
|
85
86
|
private del;
|
|
86
|
-
createMemory(content: string, tags?: string[], source?: string, scope?: string, agentId?: string, sessionId?: string, visibility?: string, category?: string): Promise<MemoryDto | null>;
|
|
87
|
-
searchMemories(query: string, limit?: number, scope?: string, tags?: string[]): Promise<SearchResult[]>;
|
|
87
|
+
createMemory(content: string, tags?: string[], source?: string, scope?: string, agentId?: string, sessionId?: string, visibility?: string, category?: string, projectPath?: string): Promise<MemoryDto | null>;
|
|
88
|
+
searchMemories(query: string, limit?: number, scope?: string, tags?: string[], projectPath?: string): Promise<SearchResult[]>;
|
|
88
89
|
getMemory(id: string): Promise<MemoryDto | null>;
|
|
89
90
|
updateMemory(id: string, content: string, tags?: string[]): Promise<MemoryDto | null>;
|
|
90
91
|
deleteMemory(id: string): Promise<void>;
|
|
@@ -113,7 +114,7 @@ export declare class CerebroClient {
|
|
|
113
114
|
llm_max_eval?: number;
|
|
114
115
|
refine_strategy?: string;
|
|
115
116
|
refine_medium_chars?: number;
|
|
116
|
-
}): Promise<ShouldRecallResponse | null>;
|
|
117
|
+
}, projectPath?: string): Promise<ShouldRecallResponse | null>;
|
|
117
118
|
updateProfileInjected(event_id: string, profile_injected: boolean, profile_content?: string): Promise<unknown | null>;
|
|
118
119
|
createRecallEvent(params: {
|
|
119
120
|
session_id: string;
|
|
@@ -141,6 +142,6 @@ export declare class CerebroClient {
|
|
|
141
142
|
sessionIngest(messages: Array<{
|
|
142
143
|
role: string;
|
|
143
144
|
content: string;
|
|
144
|
-
}>, sessionId?: string, agentId?: string, sessionTitle?: string, projectName?: string): Promise<unknown>;
|
|
145
|
+
}>, sessionId?: string, agentId?: string, sessionTitle?: string, projectName?: string, projectPath?: string): Promise<unknown>;
|
|
145
146
|
}
|
|
146
147
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -84,7 +84,7 @@ export class CerebroClient {
|
|
|
84
84
|
del(path) {
|
|
85
85
|
return this.request(path, { method: "DELETE" });
|
|
86
86
|
}
|
|
87
|
-
async createMemory(content, tags, source, scope, agentId, sessionId, visibility, category) {
|
|
87
|
+
async createMemory(content, tags, source, scope, agentId, sessionId, visibility, category, projectPath) {
|
|
88
88
|
const safeContent = sanitizeContent(content, this.getCfg("content", "maxContentChars", 30000));
|
|
89
89
|
return this.post("/v1/memories", {
|
|
90
90
|
content: safeContent,
|
|
@@ -95,15 +95,18 @@ export class CerebroClient {
|
|
|
95
95
|
session_id: sessionId,
|
|
96
96
|
visibility,
|
|
97
97
|
category,
|
|
98
|
+
project_path: projectPath,
|
|
98
99
|
});
|
|
99
100
|
}
|
|
100
|
-
async searchMemories(query, limit = 10, scope, tags) {
|
|
101
|
+
async searchMemories(query, limit = 10, scope, tags, projectPath) {
|
|
101
102
|
const safeQ = truncateQuery(query, this.getCfg("content", "maxQueryLength", 200));
|
|
102
103
|
const params = new URLSearchParams({ q: safeQ, limit: String(limit) });
|
|
103
104
|
if (scope)
|
|
104
105
|
params.set("scope", scope);
|
|
105
106
|
if (tags && tags.length > 0)
|
|
106
107
|
params.set("tags", tags.join(","));
|
|
108
|
+
if (projectPath)
|
|
109
|
+
params.set("project_path", projectPath);
|
|
107
110
|
const res = await this.request(`/v1/memories/search?${params}`, {}, 20_000);
|
|
108
111
|
return res?.results ?? [];
|
|
109
112
|
}
|
|
@@ -129,6 +132,7 @@ export class CerebroClient {
|
|
|
129
132
|
entity_context: opts.entityContext,
|
|
130
133
|
tags: opts.tags,
|
|
131
134
|
project_name: opts.projectName,
|
|
135
|
+
project_path: opts.projectPath,
|
|
132
136
|
});
|
|
133
137
|
}
|
|
134
138
|
async getProfile(_query) {
|
|
@@ -160,7 +164,7 @@ export class CerebroClient {
|
|
|
160
164
|
async reshareMemory(memoryId, targetSpace) {
|
|
161
165
|
return this.post(`/v1/memories/${encodeURIComponent(memoryId)}/reshare`, { target_space: targetSpace });
|
|
162
166
|
}
|
|
163
|
-
async shouldRecall(query_text, last_query_text, session_id, similarity_threshold, max_results, project_tags, conversation_context, recall_overrides) {
|
|
167
|
+
async shouldRecall(query_text, last_query_text, session_id, similarity_threshold, max_results, project_tags, conversation_context, recall_overrides, projectPath) {
|
|
164
168
|
const res = await this.post("/v1/should-recall", {
|
|
165
169
|
query_text,
|
|
166
170
|
last_query_text,
|
|
@@ -170,6 +174,7 @@ export class CerebroClient {
|
|
|
170
174
|
project_tags,
|
|
171
175
|
conversation_context,
|
|
172
176
|
...recall_overrides,
|
|
177
|
+
project_path: projectPath,
|
|
173
178
|
}, 20_000);
|
|
174
179
|
return res;
|
|
175
180
|
}
|
|
@@ -184,13 +189,14 @@ export class CerebroClient {
|
|
|
184
189
|
async createRecallEvent(params) {
|
|
185
190
|
return this.post("/v1/recall-events", params, 10_000);
|
|
186
191
|
}
|
|
187
|
-
async sessionIngest(messages, sessionId, agentId, sessionTitle, projectName) {
|
|
192
|
+
async sessionIngest(messages, sessionId, agentId, sessionTitle, projectName, projectPath) {
|
|
188
193
|
return this.post("/v1/memories/session-ingest", {
|
|
189
194
|
messages,
|
|
190
195
|
session_id: sessionId,
|
|
191
196
|
agent_id: agentId,
|
|
192
197
|
session_title: sessionTitle,
|
|
193
198
|
project_name: projectName,
|
|
199
|
+
project_path: projectPath,
|
|
194
200
|
}, 60000);
|
|
195
201
|
}
|
|
196
202
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGhD,SAAS,eAAe,CAAC,IAAY,EAAE,MAAc;IACnD,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC;IACjE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC9C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,MAAc;IAClD,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -33,6 +33,12 @@ export interface OmemPluginConfig {
|
|
|
33
33
|
ui: {
|
|
34
34
|
toastDelayMs: number;
|
|
35
35
|
};
|
|
36
|
+
soulWhisper?: {
|
|
37
|
+
enabled: boolean;
|
|
38
|
+
tools: string[];
|
|
39
|
+
excludeTools: string[];
|
|
40
|
+
maxToolNames: number;
|
|
41
|
+
};
|
|
36
42
|
agentMemoryPolicy?: Record<string, "none" | "readonly" | "readwrite">;
|
|
37
43
|
defaultPolicy?: "none" | "readonly" | "readwrite";
|
|
38
44
|
}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACN,oBAAoB,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,OAAO,GAAG,KAAK,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE;QACN,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;QAChD,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAC9C,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,EAAE,EAAE;QACF,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;IACtE,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;CACnD;AAID,QAAA,MAAM,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACN,oBAAoB,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,OAAO,GAAG,KAAK,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE;QACN,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;QAChD,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAC9C,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,EAAE,EAAE;QACF,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;IACtE,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;CACnD;AAID,QAAA,MAAM,QAAQ,EAAE,gBAyCf,CAAC;AA+HF,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CA+CxF;AAID,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAE5D,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAChC,WAAW,CAeb;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -37,6 +37,12 @@ const DEFAULTS = {
|
|
|
37
37
|
ui: {
|
|
38
38
|
toastDelayMs: 7000,
|
|
39
39
|
},
|
|
40
|
+
soulWhisper: {
|
|
41
|
+
enabled: true,
|
|
42
|
+
tools: ["*"],
|
|
43
|
+
excludeTools: ["memory_store", "memory_search", "memory_get", "memory_toggle", "memory_ingest"],
|
|
44
|
+
maxToolNames: 3,
|
|
45
|
+
},
|
|
40
46
|
};
|
|
41
47
|
function isFlatConfig(cfg) {
|
|
42
48
|
return "apiUrl" in cfg && !("connection" in cfg);
|
|
@@ -89,6 +95,7 @@ function deepMerge(base, overrides) {
|
|
|
89
95
|
logging: { ...base.logging, ...overrides.logging },
|
|
90
96
|
ui: { ...base.ui, ...overrides.ui },
|
|
91
97
|
};
|
|
98
|
+
result.soulWhisper = { ...base.soulWhisper, ...overrides.soulWhisper };
|
|
92
99
|
if (overrides.agentMemoryPolicy)
|
|
93
100
|
result.agentMemoryPolicy = overrides.agentMemoryPolicy;
|
|
94
101
|
if (overrides.defaultPolicy)
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Model, UserMessage, Part } from "@opencode-ai/sdk";
|
|
2
2
|
import type { CerebroClient } from "./client.js";
|
|
3
3
|
import { type OmemPluginConfig } from "./config.js";
|
|
4
|
-
export declare function autoRecallHook(client: CerebroClient, containerTags: string[], tui: any, config?: Partial<OmemPluginConfig>, getAgentName?: () => string): (input: {
|
|
4
|
+
export declare function autoRecallHook(client: CerebroClient, containerTags: string[], tui: any, config?: Partial<OmemPluginConfig>, getAgentName?: () => string, directory?: string): (input: {
|
|
5
5
|
sessionID?: string;
|
|
6
6
|
model: Model;
|
|
7
7
|
}, output: {
|
|
@@ -14,13 +14,13 @@ export declare function keywordDetectionHook(_client: CerebroClient, _containerT
|
|
|
14
14
|
message: UserMessage;
|
|
15
15
|
parts: Part[];
|
|
16
16
|
}) => Promise<void>;
|
|
17
|
-
export declare function compactingHook(client: CerebroClient, containerTags: string[], tui: any, ingestMode?: "smart" | "raw", isAutoStoreEnabled?: (sessionId: string | undefined) => boolean, getMainSessionId?: () => string | undefined, sdkClient?: any, config?: Partial<OmemPluginConfig>, agentId?: string): (input: {
|
|
17
|
+
export declare function compactingHook(client: CerebroClient, containerTags: string[], tui: any, ingestMode?: "smart" | "raw", isAutoStoreEnabled?: (sessionId: string | undefined) => boolean, getMainSessionId?: () => string | undefined, sdkClient?: any, config?: Partial<OmemPluginConfig>, agentId?: string, directory?: string): (input: {
|
|
18
18
|
sessionID?: string;
|
|
19
19
|
}, output: {
|
|
20
20
|
context: string[];
|
|
21
21
|
prompt?: string;
|
|
22
22
|
}) => Promise<void>;
|
|
23
|
-
export declare function autocontinueHook(client: CerebroClient, containerTags: string[], tui: any, ingestMode?: "smart" | "raw", isAutoStoreEnabled?: (sessionId: string | undefined) => boolean, getMainSessionId?: () => string | undefined, sdkClient?: any, config?: Partial<OmemPluginConfig>, agentId?: string): (input: {
|
|
23
|
+
export declare function autocontinueHook(client: CerebroClient, containerTags: string[], tui: any, ingestMode?: "smart" | "raw", isAutoStoreEnabled?: (sessionId: string | undefined) => boolean, getMainSessionId?: () => string | undefined, sdkClient?: any, config?: Partial<OmemPluginConfig>, agentId?: string, directory?: string): (input: {
|
|
24
24
|
sessionID: string;
|
|
25
25
|
agent: string;
|
|
26
26
|
model: Model;
|
|
@@ -29,10 +29,17 @@ export declare function autocontinueHook(client: CerebroClient, containerTags: s
|
|
|
29
29
|
}, _output: {
|
|
30
30
|
enabled: boolean;
|
|
31
31
|
}) => Promise<void>;
|
|
32
|
-
export declare function
|
|
32
|
+
export declare function soulWhisperToolTracker(config: OmemPluginConfig): (input: {
|
|
33
|
+
tool: string;
|
|
34
|
+
sessionID: string;
|
|
35
|
+
callID: string;
|
|
36
|
+
}, _output: {
|
|
37
|
+
args: any;
|
|
38
|
+
}) => Promise<void>;
|
|
39
|
+
export declare function fetchPolicyNudgeHook(getContextInjectedFlag: () => boolean, config?: OmemPluginConfig): (_input: Record<string, unknown>, output: {
|
|
33
40
|
messages: any[];
|
|
34
41
|
}) => Promise<void>;
|
|
35
|
-
export declare function sessionIdleHook(cerebroClient: CerebroClient, _containerTags: string[], tui: any, sdkClient: any, _ingestMode?: "smart" | "raw", threshold?: number, getMainSessionId?: () => string | undefined, isAutoStoreEnabled?: (sessionId: string | undefined) => boolean, agentId?: string, config?: Partial<OmemPluginConfig>, onAgentResolved?: (name: string) => void): (input: {
|
|
42
|
+
export declare function sessionIdleHook(cerebroClient: CerebroClient, _containerTags: string[], tui: any, sdkClient: any, _ingestMode?: "smart" | "raw", threshold?: number, getMainSessionId?: () => string | undefined, isAutoStoreEnabled?: (sessionId: string | undefined) => boolean, agentId?: string, config?: Partial<OmemPluginConfig>, onAgentResolved?: (name: string) => void, directory?: string): (input: {
|
|
36
43
|
event: {
|
|
37
44
|
type: string;
|
|
38
45
|
properties?: any;
|
package/dist/hooks.d.ts.map
CHANGED
|
@@ -1 +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,aAAa,EAAgB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,KAAK,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AAySxE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAE,OAAO,CAAC,gBAAgB,CAAM,EAAE,YAAY,CAAC,EAAE,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.js
CHANGED
|
@@ -276,7 +276,7 @@ function buildClusteredContextBlock(clustered, maxContentLength = 500) {
|
|
|
276
276
|
"</cerebro-context>",
|
|
277
277
|
].join("\n");
|
|
278
278
|
}
|
|
279
|
-
export function autoRecallHook(client, containerTags, tui, config = {}, getAgentName) {
|
|
279
|
+
export function autoRecallHook(client, containerTags, tui, config = {}, getAgentName, directory) {
|
|
280
280
|
const similarityThreshold = config.recall?.similarityThreshold ?? 0.4;
|
|
281
281
|
const maxRecallResults = config.recall?.maxRecallResults ?? 10;
|
|
282
282
|
const fetchMultiplier = config.recall?.fetchMultiplier ?? 3;
|
|
@@ -331,7 +331,7 @@ export function autoRecallHook(client, containerTags, tui, config = {}, getAgent
|
|
|
331
331
|
llm_max_eval: llmMaxEval,
|
|
332
332
|
refine_strategy: refineStrategy,
|
|
333
333
|
refine_medium_chars: refineMediumChars,
|
|
334
|
-
});
|
|
334
|
+
}, directory || process.env.OMEM_PROJECT_DIR);
|
|
335
335
|
if (!shouldRecallRes) {
|
|
336
336
|
showToast(tui, "🧠 Cerebro Service Unavailable", "Unable to reach memory API · check connection", "error", toastDelayMs);
|
|
337
337
|
return;
|
|
@@ -570,7 +570,7 @@ export function keywordDetectionHook(_client, _containerTags, threshold, _tui, _
|
|
|
570
570
|
}
|
|
571
571
|
};
|
|
572
572
|
}
|
|
573
|
-
export function compactingHook(client, containerTags, tui, ingestMode = "smart", isAutoStoreEnabled, getMainSessionId, sdkClient, config = {}, agentId) {
|
|
573
|
+
export function compactingHook(client, containerTags, tui, ingestMode = "smart", isAutoStoreEnabled, getMainSessionId, sdkClient, config = {}, agentId, directory) {
|
|
574
574
|
const effectiveAgentId = agentId || process.env.OMEM_AGENT_ID || "opencode";
|
|
575
575
|
return async (input, output) => {
|
|
576
576
|
logInfo("compactingHook triggered", { sessionId: input.sessionID, hasSessionMessages: sessionMessages.has(input.sessionID || "") });
|
|
@@ -614,10 +614,12 @@ export function compactingHook(client, containerTags, tui, ingestMode = "smart",
|
|
|
614
614
|
const effectiveSessionId = (getMainSessionId?.() || input.sessionID);
|
|
615
615
|
// Resolve project name (shared by ingest + poll)
|
|
616
616
|
let projectName;
|
|
617
|
+
let projectPath;
|
|
617
618
|
try {
|
|
618
619
|
if (sdkClient && input.sessionID) {
|
|
619
620
|
const sessionInfo = await sdkClient.session.get({ path: { id: input.sessionID } });
|
|
620
621
|
logDebug("compactingHook project.rootPath", { rootPath: sessionInfo?.data?.directory });
|
|
622
|
+
projectPath = sessionInfo?.data?.directory || directory || process.env.OMEM_PROJECT_DIR;
|
|
621
623
|
projectName = sessionInfo?.data?.directory
|
|
622
624
|
? await detectProjectName(sessionInfo.data.directory)
|
|
623
625
|
: undefined;
|
|
@@ -626,6 +628,9 @@ export function compactingHook(client, containerTags, tui, ingestMode = "smart",
|
|
|
626
628
|
catch (e) {
|
|
627
629
|
logErr("compactingHook detectProjectName failed", { error: String(e) });
|
|
628
630
|
}
|
|
631
|
+
if (!projectPath) {
|
|
632
|
+
projectPath = directory || process.env.OMEM_PROJECT_DIR;
|
|
633
|
+
}
|
|
629
634
|
// --- Phase 1: Ingest tracked messages from sessionMessages (if available) ---
|
|
630
635
|
if (input.sessionID && sessionMessages.has(input.sessionID)) {
|
|
631
636
|
if (isAutoStoreEnabled && !isAutoStoreEnabled(input.sessionID)) {
|
|
@@ -644,6 +649,7 @@ export function compactingHook(client, containerTags, tui, ingestMode = "smart",
|
|
|
644
649
|
sessionId: effectiveSessionId,
|
|
645
650
|
projectName: projectName,
|
|
646
651
|
agentId: effectiveAgentId,
|
|
652
|
+
projectPath,
|
|
647
653
|
});
|
|
648
654
|
logInfo("compactingHook ingestMessages result", { result: result === null ? "null(blocked)" : "ok" });
|
|
649
655
|
if (result === null) {
|
|
@@ -663,6 +669,10 @@ export function compactingHook(client, containerTags, tui, ingestMode = "smart",
|
|
|
663
669
|
sessionMessages.delete(input.sessionID);
|
|
664
670
|
profileInjectedSessions.delete(input.sessionID);
|
|
665
671
|
firstMessages.delete(input.sessionID);
|
|
672
|
+
if (input.sessionID) {
|
|
673
|
+
const deleted = pendingToolCalls.delete(input.sessionID);
|
|
674
|
+
logDebug("compactingHook cleared session pendingToolCalls", { sessionID: input.sessionID, hadPending: deleted });
|
|
675
|
+
}
|
|
666
676
|
// Evict stale injectedMemoryIds if over size cap (200 sessions)
|
|
667
677
|
if (injectedMemoryIds.size > 200) {
|
|
668
678
|
injectedMemoryIds.clear();
|
|
@@ -673,6 +683,7 @@ export function compactingHook(client, containerTags, tui, ingestMode = "smart",
|
|
|
673
683
|
const pollSessionId = input.sessionID;
|
|
674
684
|
const pollEffectiveSessionId = effectiveSessionId;
|
|
675
685
|
const pollProjectName = projectName;
|
|
686
|
+
const pollProjectPath = projectPath;
|
|
676
687
|
const pollAgentId = effectiveAgentId;
|
|
677
688
|
let baselineMsgIds = new Set();
|
|
678
689
|
try {
|
|
@@ -772,6 +783,7 @@ export function compactingHook(client, containerTags, tui, ingestMode = "smart",
|
|
|
772
783
|
sessionId: pollEffectiveSessionId,
|
|
773
784
|
projectName: pollProjectName,
|
|
774
785
|
agentId: pollAgentId,
|
|
786
|
+
projectPath: pollProjectPath,
|
|
775
787
|
});
|
|
776
788
|
logInfo("compactingHook: compact summary store result", {
|
|
777
789
|
result: result === null ? "null(blocked)" : "ok",
|
|
@@ -801,7 +813,7 @@ export function compactingHook(client, containerTags, tui, ingestMode = "smart",
|
|
|
801
813
|
}
|
|
802
814
|
};
|
|
803
815
|
}
|
|
804
|
-
export function autocontinueHook(client, containerTags, tui, ingestMode = "smart", isAutoStoreEnabled, getMainSessionId, sdkClient, config = {}, agentId) {
|
|
816
|
+
export function autocontinueHook(client, containerTags, tui, ingestMode = "smart", isAutoStoreEnabled, getMainSessionId, sdkClient, config = {}, agentId, directory) {
|
|
805
817
|
const effectiveAgentId = agentId || process.env.OMEM_AGENT_ID || "opencode";
|
|
806
818
|
return async (input, _output) => {
|
|
807
819
|
try {
|
|
@@ -840,8 +852,10 @@ export function autocontinueHook(client, containerTags, tui, ingestMode = "smart
|
|
|
840
852
|
return;
|
|
841
853
|
}
|
|
842
854
|
let projectName;
|
|
855
|
+
let projectPath;
|
|
843
856
|
try {
|
|
844
857
|
const sessionInfo = await sdkClient.session.get({ path: { id: input.sessionID } });
|
|
858
|
+
projectPath = sessionInfo?.data?.directory || directory || process.env.OMEM_PROJECT_DIR;
|
|
845
859
|
projectName = sessionInfo?.data?.directory
|
|
846
860
|
? await detectProjectName(sessionInfo.data.directory)
|
|
847
861
|
: undefined;
|
|
@@ -849,6 +863,9 @@ export function autocontinueHook(client, containerTags, tui, ingestMode = "smart
|
|
|
849
863
|
catch (e) {
|
|
850
864
|
logErr("autocontinueHook detectProjectName failed", { error: String(e) });
|
|
851
865
|
}
|
|
866
|
+
if (!projectPath) {
|
|
867
|
+
projectPath = directory || process.env.OMEM_PROJECT_DIR;
|
|
868
|
+
}
|
|
852
869
|
const messages = [{ role: "user", content: summaryText }];
|
|
853
870
|
logInfo("autocontinueHook storing compact summary", {
|
|
854
871
|
summaryLen: summaryText.length,
|
|
@@ -863,6 +880,7 @@ export function autocontinueHook(client, containerTags, tui, ingestMode = "smart
|
|
|
863
880
|
sessionId: effectiveSessionId,
|
|
864
881
|
projectName: projectName,
|
|
865
882
|
agentId: effectiveAgentId,
|
|
883
|
+
projectPath,
|
|
866
884
|
});
|
|
867
885
|
logInfo("autocontinueHook store result", { result: result === null ? "null(blocked)" : "ok" });
|
|
868
886
|
if (result === null) {
|
|
@@ -879,6 +897,60 @@ export function autocontinueHook(client, containerTags, tui, ingestMode = "smart
|
|
|
879
897
|
}
|
|
880
898
|
const processedMessageIds = new Set();
|
|
881
899
|
const pluginStartTime = Date.now();
|
|
900
|
+
// ── Soul Whisper: pending tool call tracking (per-session isolation) ──
|
|
901
|
+
const pendingToolCalls = new Map();
|
|
902
|
+
export function soulWhisperToolTracker(config) {
|
|
903
|
+
return async (input, _output) => {
|
|
904
|
+
if (config.soulWhisper?.enabled === false) {
|
|
905
|
+
logDebug("soulWhisperToolTracker disabled by config", { tool: input.tool });
|
|
906
|
+
return;
|
|
907
|
+
}
|
|
908
|
+
const sw = config.soulWhisper;
|
|
909
|
+
const toolName = input.tool;
|
|
910
|
+
const excludeTools = sw?.excludeTools ?? [];
|
|
911
|
+
if (excludeTools.includes(toolName)) {
|
|
912
|
+
logDebug("soulWhisperToolTracker excluded", { tool: toolName });
|
|
913
|
+
return;
|
|
914
|
+
}
|
|
915
|
+
const includeTools = sw?.tools ?? ["*"];
|
|
916
|
+
const isWildcard = includeTools.includes("*");
|
|
917
|
+
if (!isWildcard && !includeTools.includes(toolName)) {
|
|
918
|
+
logDebug("soulWhisperToolTracker not in whitelist", { tool: toolName, whitelist: includeTools });
|
|
919
|
+
return;
|
|
920
|
+
}
|
|
921
|
+
const sid = input.sessionID || "_default";
|
|
922
|
+
let sessionMap = pendingToolCalls.get(sid);
|
|
923
|
+
if (!sessionMap) {
|
|
924
|
+
sessionMap = new Map();
|
|
925
|
+
pendingToolCalls.set(sid, sessionMap);
|
|
926
|
+
}
|
|
927
|
+
sessionMap.set(input.callID, { toolName, timestamp: Date.now() });
|
|
928
|
+
logDebug("soulWhisperToolTracker recorded", { tool: toolName, callID: input.callID, sessionID: sid, totalSessions: pendingToolCalls.size, sessionCallCount: sessionMap.size });
|
|
929
|
+
};
|
|
930
|
+
}
|
|
931
|
+
function buildWhisperText(toolNames, maxToolNames) {
|
|
932
|
+
if (toolNames.length === 0)
|
|
933
|
+
return null;
|
|
934
|
+
const lines = ["<cerebro-system-reminder>"];
|
|
935
|
+
if (toolNames.length <= maxToolNames) {
|
|
936
|
+
lines.push(`SOUL WHISPER — Detected tool call: ${toolNames.join(", ")}.`);
|
|
937
|
+
lines.push("Your memories (cerebro-context) may contain:");
|
|
938
|
+
lines.push("- Exact commands or flags someone already tested");
|
|
939
|
+
lines.push("- File paths or configurations that worked before");
|
|
940
|
+
lines.push("- Solutions to errors you previously encountered");
|
|
941
|
+
lines.push(`If a memory matches → use it. Then reply: 💜 受到灵魂的召唤——[what you used]`);
|
|
942
|
+
}
|
|
943
|
+
else {
|
|
944
|
+
lines.push("SOUL WHISPER — Memories from past sessions are loaded above (see <cerebro-context>).");
|
|
945
|
+
lines.push("Before you act:");
|
|
946
|
+
lines.push("1. Scan cerebro-context for commands, paths, or patterns matching your current task");
|
|
947
|
+
lines.push("2. If found → use directly, do not re-derive from scratch");
|
|
948
|
+
lines.push(`3. If a memory guided your action → reply: 💜 受到灵魂的召唤——[what you used]`);
|
|
949
|
+
}
|
|
950
|
+
lines.push(`If memory summaries are insufficient → use memory_get("id") to fetch full content, or memory_search("query") to find more.`);
|
|
951
|
+
lines.push("</cerebro-system-reminder>");
|
|
952
|
+
return lines.join("\n");
|
|
953
|
+
}
|
|
882
954
|
const FETCH_POLICY_NUDGE = [
|
|
883
955
|
"<cerebro-system-reminder>",
|
|
884
956
|
"MEMORY REMINDER: You have injected memories above (see <cerebro-context>).",
|
|
@@ -886,19 +958,22 @@ const FETCH_POLICY_NUDGE = [
|
|
|
886
958
|
"Do NOT guess or fabricate based on summaries alone.",
|
|
887
959
|
"</cerebro-system-reminder>",
|
|
888
960
|
].join("\n");
|
|
889
|
-
export function fetchPolicyNudgeHook(getContextInjectedFlag) {
|
|
961
|
+
export function fetchPolicyNudgeHook(getContextInjectedFlag, config) {
|
|
890
962
|
return async (_input, output) => {
|
|
891
963
|
let shouldNudge = getContextInjectedFlag();
|
|
892
964
|
if (!shouldNudge && Array.isArray(output.messages)) {
|
|
893
965
|
shouldNudge = output.messages.some((m) => Array.isArray(m.parts) &&
|
|
894
966
|
m.parts.some((p) => typeof p.text === "string" && p.text.includes("<cerebro-context>")));
|
|
895
967
|
}
|
|
896
|
-
|
|
968
|
+
const swEnabled = config?.soulWhisper?.enabled !== false;
|
|
969
|
+
const hasAnyPending = pendingToolCalls.size > 0;
|
|
970
|
+
if (!shouldNudge && !(swEnabled && hasAnyPending)) {
|
|
971
|
+
logDebug("fetchPolicyNudgeHook skipped", { shouldNudge, swEnabled, hasAnyPending });
|
|
897
972
|
return;
|
|
973
|
+
}
|
|
898
974
|
const messages = output.messages;
|
|
899
975
|
if (!messages || !Array.isArray(messages) || messages.length === 0)
|
|
900
976
|
return;
|
|
901
|
-
// Find the last user message
|
|
902
977
|
let lastUserIdx = -1;
|
|
903
978
|
for (let i = messages.length - 1; i >= 0; i--) {
|
|
904
979
|
if (messages[i]?.info?.role === "user") {
|
|
@@ -911,20 +986,37 @@ export function fetchPolicyNudgeHook(getContextInjectedFlag) {
|
|
|
911
986
|
const userMsg = messages[lastUserIdx];
|
|
912
987
|
if (!Array.isArray(userMsg.parts))
|
|
913
988
|
return;
|
|
914
|
-
|
|
915
|
-
const nudgeId = `cerebro_nudge_${
|
|
989
|
+
const sessionId = userMsg.info.sessionID || "_default";
|
|
990
|
+
const nudgeId = `cerebro_nudge_${sessionId}`;
|
|
916
991
|
for (const part of userMsg.parts) {
|
|
917
992
|
if (part.id === nudgeId)
|
|
918
993
|
return;
|
|
919
994
|
}
|
|
920
|
-
|
|
995
|
+
const parts = [];
|
|
996
|
+
if (shouldNudge)
|
|
997
|
+
parts.push(FETCH_POLICY_NUDGE);
|
|
998
|
+
const sessionCalls = swEnabled ? pendingToolCalls.get(sessionId) : undefined;
|
|
999
|
+
if (sessionCalls && sessionCalls.size > 0) {
|
|
1000
|
+
const toolNames = [...new Set([...sessionCalls.values()].map(v => v.toolName))];
|
|
1001
|
+
const maxToolNames = config?.soulWhisper?.maxToolNames ?? 3;
|
|
1002
|
+
const whisperText = buildWhisperText(toolNames, maxToolNames);
|
|
1003
|
+
if (whisperText)
|
|
1004
|
+
parts.push(whisperText);
|
|
1005
|
+
pendingToolCalls.delete(sessionId);
|
|
1006
|
+
logDebug("soulWhisper consumed session calls", { sessionId, callCount: sessionCalls.size, toolNames });
|
|
1007
|
+
}
|
|
1008
|
+
else if (swEnabled) {
|
|
1009
|
+
logDebug("soulWhisper no pending calls for session", { sessionId, globalSessionCount: pendingToolCalls.size });
|
|
1010
|
+
}
|
|
1011
|
+
if (parts.length === 0)
|
|
1012
|
+
return;
|
|
921
1013
|
const textPartIdx = userMsg.parts.findIndex((p) => p.type === "text" && typeof p.text === "string");
|
|
922
1014
|
const syntheticPart = {
|
|
923
1015
|
id: nudgeId,
|
|
924
1016
|
messageID: userMsg.info.id,
|
|
925
1017
|
sessionID: userMsg.info.sessionID || "",
|
|
926
1018
|
type: "text",
|
|
927
|
-
text:
|
|
1019
|
+
text: parts.join("\n\n"),
|
|
928
1020
|
synthetic: true,
|
|
929
1021
|
};
|
|
930
1022
|
if (textPartIdx >= 0) {
|
|
@@ -933,10 +1025,10 @@ export function fetchPolicyNudgeHook(getContextInjectedFlag) {
|
|
|
933
1025
|
else {
|
|
934
1026
|
userMsg.parts.push(syntheticPart);
|
|
935
1027
|
}
|
|
936
|
-
logDebug("fetchPolicyNudgeHook injected", { sessionId:
|
|
1028
|
+
logDebug("fetchPolicyNudgeHook injected", { sessionId, nudgeId, hasWhisper: sessionCalls != null && sessionCalls.size > 0, partsCount: parts.length });
|
|
937
1029
|
};
|
|
938
1030
|
}
|
|
939
|
-
export function sessionIdleHook(cerebroClient, _containerTags, tui, sdkClient, _ingestMode = "smart", threshold = 0, getMainSessionId, isAutoStoreEnabled, agentId, config = {}, onAgentResolved) {
|
|
1031
|
+
export function sessionIdleHook(cerebroClient, _containerTags, tui, sdkClient, _ingestMode = "smart", threshold = 0, getMainSessionId, isAutoStoreEnabled, agentId, config = {}, onAgentResolved, directory) {
|
|
940
1032
|
let idleTimeout = null;
|
|
941
1033
|
let isCapturing = false;
|
|
942
1034
|
return async (input) => {
|
|
@@ -996,6 +1088,7 @@ export function sessionIdleHook(cerebroClient, _containerTags, tui, sdkClient, _
|
|
|
996
1088
|
}
|
|
997
1089
|
let sessionTitle;
|
|
998
1090
|
let projectName;
|
|
1091
|
+
let projectPath;
|
|
999
1092
|
let effectiveAgentId = agentId || "opencode";
|
|
1000
1093
|
try {
|
|
1001
1094
|
const sessionInfo = await sdkClient.session.get({ path: { id: sessionID } });
|
|
@@ -1004,6 +1097,7 @@ export function sessionIdleHook(cerebroClient, _containerTags, tui, sdkClient, _
|
|
|
1004
1097
|
onAgentResolved?.(effectiveAgentId);
|
|
1005
1098
|
}
|
|
1006
1099
|
sessionTitle = sessionInfo?.data?.title;
|
|
1100
|
+
projectPath = sessionInfo?.data?.directory || directory || process.env.OMEM_PROJECT_DIR;
|
|
1007
1101
|
projectName = sessionInfo?.data?.directory
|
|
1008
1102
|
? await detectProjectName(sessionInfo.data.directory)
|
|
1009
1103
|
: undefined;
|
|
@@ -1011,6 +1105,9 @@ export function sessionIdleHook(cerebroClient, _containerTags, tui, sdkClient, _
|
|
|
1011
1105
|
catch (e) {
|
|
1012
1106
|
logErr("sessionIdleHook detectProjectName failed", { error: String(e) });
|
|
1013
1107
|
}
|
|
1108
|
+
if (!projectPath) {
|
|
1109
|
+
projectPath = directory || process.env.OMEM_PROJECT_DIR;
|
|
1110
|
+
}
|
|
1014
1111
|
logDebug("sessionIdleHook resolved agentId", { effectiveAgentId, fallbackAgentId: agentId });
|
|
1015
1112
|
const policy = resolveAgentPolicy(effectiveAgentId, config);
|
|
1016
1113
|
if (policy !== "readwrite") {
|
|
@@ -1019,7 +1116,7 @@ export function sessionIdleHook(cerebroClient, _containerTags, tui, sdkClient, _
|
|
|
1019
1116
|
}
|
|
1020
1117
|
try {
|
|
1021
1118
|
logInfo("sessionIdleHook sessionIngest called", { msgCount: conversationMessages.length, sessionId: sessionID, agentId: effectiveAgentId, title: String(sessionTitle) });
|
|
1022
|
-
await cerebroClient.sessionIngest(conversationMessages, sessionID, effectiveAgentId, sessionTitle, projectName);
|
|
1119
|
+
await cerebroClient.sessionIngest(conversationMessages, sessionID, effectiveAgentId, sessionTitle, projectName, projectPath);
|
|
1023
1120
|
logInfo("sessionIdleHook sessionIngest ok");
|
|
1024
1121
|
for (const id of newMessageIds) {
|
|
1025
1122
|
processedMessageIds.add(id);
|
|
@@ -1038,6 +1135,9 @@ export function sessionIdleHook(cerebroClient, _containerTags, tui, sdkClient, _
|
|
|
1038
1135
|
finally {
|
|
1039
1136
|
isCapturing = false;
|
|
1040
1137
|
idleTimeout = null;
|
|
1138
|
+
const deleted = pendingToolCalls.delete(sessionID);
|
|
1139
|
+
if (deleted)
|
|
1140
|
+
logDebug("sessionIdleHook cleared session pendingToolCalls", { sessionID, hadPending: deleted });
|
|
1041
1141
|
}
|
|
1042
1142
|
}, 10000);
|
|
1043
1143
|
};
|