@ubundi/openclaw-cortex 0.3.6 → 0.3.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.
- package/README.md +10 -11
- package/dist/core/config/schema.js +1 -1
- package/dist/core/config/schema.js.map +1 -1
- package/dist/cortex/client.d.ts +34 -5
- package/dist/cortex/client.d.ts.map +1 -1
- package/dist/cortex/client.js +12 -2
- package/dist/cortex/client.js.map +1 -1
- package/dist/features/recall/handler.d.ts.map +1 -1
- package/dist/features/recall/handler.js +1 -1
- package/dist/features/recall/handler.js.map +1 -1
- package/dist/features/reflect/service.js +1 -1
- package/dist/features/reflect/service.js.map +1 -1
- package/openclaw.plugin.json +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -81,7 +81,7 @@ Add to your `openclaw.json`:
|
|
|
81
81
|
autoRecall: true,
|
|
82
82
|
autoCapture: true,
|
|
83
83
|
recallTopK: 5,
|
|
84
|
-
recallTimeoutMs:
|
|
84
|
+
recallTimeoutMs: 2000,
|
|
85
85
|
recallMode: "fast",
|
|
86
86
|
fileSync: true,
|
|
87
87
|
transcriptSync: true,
|
|
@@ -115,11 +115,11 @@ All other options are pre-configured with sensible defaults and can be tuned via
|
|
|
115
115
|
|
|
116
116
|
### Recall Modes
|
|
117
117
|
|
|
118
|
-
| Mode | What it does |
|
|
119
|
-
| ---------- | ------------------------------------ |
|
|
120
|
-
| `fast` | BM25 + semantic search only | ~
|
|
121
|
-
| `balanced` | Adds light reranking | ~
|
|
122
|
-
| `full` | Adds graph traversal + full reranker | ~
|
|
118
|
+
| Mode | What it does | Typical round-trip |
|
|
119
|
+
| ---------- | ------------------------------------ | ------------------ |
|
|
120
|
+
| `fast` | BM25 + semantic search only | ~600-1200ms |
|
|
121
|
+
| `balanced` | Adds light reranking | ~900-1600ms |
|
|
122
|
+
| `full` | Adds graph traversal + full reranker | ~1100-1900ms |
|
|
123
123
|
|
|
124
124
|
Use `fast` (default) for auto-recall where latency matters. Use `full` for explicit recall via SKILL.md where depth matters more than speed.
|
|
125
125
|
|
|
@@ -158,10 +158,9 @@ Failed file sync operations are queued for retry, so transient network failures
|
|
|
158
158
|
|
|
159
159
|
Every `reflectIntervalMs` (default: 1 hour), the plugin calls Cortex's `/v1/reflect` endpoint to consolidate memories:
|
|
160
160
|
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
-
|
|
164
|
-
- Tracks belief drift over time
|
|
161
|
+
- Scans entity-scoped fact clusters across sessions
|
|
162
|
+
- Synthesizes high-level observation nodes that compress multi-session evidence
|
|
163
|
+
- Observation nodes are stored as regular FACT nodes, retrievable through all recall channels
|
|
165
164
|
|
|
166
165
|
Set `reflectIntervalMs: 0` to disable.
|
|
167
166
|
|
|
@@ -191,7 +190,7 @@ If both this plugin and the Cortex SKILL.md are active, the `<cortex_memories>`
|
|
|
191
190
|
```bash
|
|
192
191
|
npm install
|
|
193
192
|
npm run build # TypeScript → dist/
|
|
194
|
-
npm test # Run vitest (
|
|
193
|
+
npm test # Run vitest (153 tests)
|
|
195
194
|
npm run test:watch # Watch mode
|
|
196
195
|
npm run test:integration # Live Cortex API tests (requires CORTEX_API_KEY)
|
|
197
196
|
```
|
|
@@ -24,7 +24,7 @@ export const CortexConfigSchema = z.object({
|
|
|
24
24
|
autoRecall: z.boolean().default(true),
|
|
25
25
|
autoCapture: z.boolean().default(true),
|
|
26
26
|
recallTopK: z.number().int().min(1).max(20).default(5),
|
|
27
|
-
recallTimeoutMs: z.number().int().min(100).max(10000).default(
|
|
27
|
+
recallTimeoutMs: z.number().int().min(100).max(10000).default(2000),
|
|
28
28
|
recallMode: RecallMode.default("fast"),
|
|
29
29
|
recallQueryType: RecallQueryType.default("combined"),
|
|
30
30
|
fileSync: z.boolean().default(true),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAG/D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAG5E;;GAEG;AACH,MAAM,QAAQ,GAAG,CAAC;KACf,MAAM,EAAE;KACR,GAAG,CAAC,6BAA6B,CAAC;KAClC,MAAM,CACL,CAAC,GAAG,EAAE,EAAE;IACN,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9C,wDAAwD;IACxD,IACE,MAAM,CAAC,QAAQ,KAAK,OAAO;QAC3B,CAAC,MAAM,CAAC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,EACpE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,EACD,EAAE,OAAO,EAAE,0DAA0D,EAAE,CACxE,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;IAC/C,OAAO,EAAE,QAAQ,CAAC,OAAO,CACvB,6DAA6D,CAC9D;IACD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAG/D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAG5E;;GAEG;AACH,MAAM,QAAQ,GAAG,CAAC;KACf,MAAM,EAAE;KACR,GAAG,CAAC,6BAA6B,CAAC;KAClC,MAAM,CACL,CAAC,GAAG,EAAE,EAAE;IACN,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9C,wDAAwD;IACxD,IACE,MAAM,CAAC,QAAQ,KAAK,OAAO;QAC3B,CAAC,MAAM,CAAC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,EACpE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,EACD,EAAE,OAAO,EAAE,0DAA0D,EAAE,CACxE,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;IAC/C,OAAO,EAAE,QAAQ,CAAC,OAAO,CACvB,6DAA6D,CAC9D;IACD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACnE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;IACtC,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC7D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;CACjD,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,CAAC,KAAc;QACtB,OAAO,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
|
package/dist/cortex/client.d.ts
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
|
+
export type NodeType = "FACT" | "ENTITY" | "EMOTION" | "INSIGHT" | "VALUE" | "BELIEF" | "LIFECONTEXT" | "SESSION" | "COMMUNITY";
|
|
2
|
+
export interface RetrieveResultMetadata {
|
|
3
|
+
speaker?: string;
|
|
4
|
+
fact_type?: string;
|
|
5
|
+
entity_refs?: string[];
|
|
6
|
+
occurred_at?: string | null;
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
}
|
|
1
9
|
export interface RetrieveResult {
|
|
2
10
|
node_id: string;
|
|
3
|
-
type:
|
|
11
|
+
type: NodeType;
|
|
4
12
|
content: string;
|
|
5
13
|
score: number;
|
|
6
14
|
source?: string;
|
|
7
15
|
confidence?: number;
|
|
8
|
-
metadata?:
|
|
16
|
+
metadata?: RetrieveResultMetadata;
|
|
9
17
|
}
|
|
10
18
|
export interface RetrieveResponse {
|
|
11
19
|
results: RetrieveResult[];
|
|
@@ -29,8 +37,10 @@ export interface IngestResponse {
|
|
|
29
37
|
entities: IngestEntity[];
|
|
30
38
|
}
|
|
31
39
|
export interface ReflectResponse {
|
|
32
|
-
|
|
33
|
-
|
|
40
|
+
nodes_created: number;
|
|
41
|
+
edges_created: number;
|
|
42
|
+
entities_processed: number;
|
|
43
|
+
entities_skipped: number;
|
|
34
44
|
}
|
|
35
45
|
export interface WarmupResponse {
|
|
36
46
|
tenant_id: string;
|
|
@@ -41,6 +51,21 @@ export interface ConversationMessage {
|
|
|
41
51
|
content: string;
|
|
42
52
|
}
|
|
43
53
|
export type QueryType = "factual" | "emotional" | "combined";
|
|
54
|
+
export interface BatchIngestItem {
|
|
55
|
+
text: string;
|
|
56
|
+
session_id?: string;
|
|
57
|
+
reference_date?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface BatchIngestResponse {
|
|
60
|
+
results: IngestResponse[];
|
|
61
|
+
total_nodes_created: number;
|
|
62
|
+
total_edges_created: number;
|
|
63
|
+
failed_count: number;
|
|
64
|
+
errors: string[];
|
|
65
|
+
}
|
|
66
|
+
export interface HealthCheckResponse {
|
|
67
|
+
status: string;
|
|
68
|
+
}
|
|
44
69
|
export interface JobSubmitResponse {
|
|
45
70
|
job_id: string;
|
|
46
71
|
status: string;
|
|
@@ -52,7 +77,10 @@ export declare class CortexClient {
|
|
|
52
77
|
private fetchJsonWithTimeout;
|
|
53
78
|
healthCheck(timeoutMs?: number): Promise<boolean>;
|
|
54
79
|
warmup(timeoutMs?: number): Promise<WarmupResponse>;
|
|
55
|
-
retrieve(query: string, topK: number, mode: "fast" | "full", timeoutMs: number, queryType?: QueryType
|
|
80
|
+
retrieve(query: string, topK: number, mode: "fast" | "full", timeoutMs: number, queryType?: QueryType, options?: {
|
|
81
|
+
referenceDate?: string;
|
|
82
|
+
debug?: boolean;
|
|
83
|
+
}): Promise<RetrieveResponse>;
|
|
56
84
|
ingest(text: string, sessionId?: string, timeoutMs?: number, referenceDate?: string): Promise<IngestResponse>;
|
|
57
85
|
ingestConversation(messages: ConversationMessage[], sessionId?: string, timeoutMs?: number, referenceDate?: string): Promise<IngestResponse>;
|
|
58
86
|
getJob(jobId: string): Promise<JobSubmitResponse & {
|
|
@@ -61,6 +89,7 @@ export declare class CortexClient {
|
|
|
61
89
|
}>;
|
|
62
90
|
submitIngest(text: string, sessionId?: string, referenceDate?: string): Promise<JobSubmitResponse>;
|
|
63
91
|
submitIngestConversation(messages: ConversationMessage[], sessionId?: string, referenceDate?: string): Promise<JobSubmitResponse>;
|
|
92
|
+
batchIngest(items: BatchIngestItem[], timeoutMs?: number): Promise<BatchIngestResponse>;
|
|
64
93
|
reflect(sessionId?: string, timeoutMs?: number): Promise<ReflectResponse>;
|
|
65
94
|
}
|
|
66
95
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cortex/client.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cortex/client.ts"],"names":[],"mappings":"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"}
|
package/dist/cortex/client.js
CHANGED
|
@@ -53,8 +53,15 @@ export class CortexClient {
|
|
|
53
53
|
async warmup(timeoutMs = DEFAULT_WARMUP_TIMEOUT_MS) {
|
|
54
54
|
return this.fetchJsonWithTimeout(`${this.baseUrl}/v1/warmup`, {}, timeoutMs, "warmup");
|
|
55
55
|
}
|
|
56
|
-
async retrieve(query, topK, mode, timeoutMs, queryType) {
|
|
57
|
-
return this.fetchJsonWithTimeout(`${this.baseUrl}/v1/retrieve`, {
|
|
56
|
+
async retrieve(query, topK, mode, timeoutMs, queryType, options) {
|
|
57
|
+
return this.fetchJsonWithTimeout(`${this.baseUrl}/v1/retrieve`, {
|
|
58
|
+
query,
|
|
59
|
+
top_k: topK,
|
|
60
|
+
mode,
|
|
61
|
+
query_type: queryType,
|
|
62
|
+
reference_date: options?.referenceDate ?? undefined,
|
|
63
|
+
debug: options?.debug ?? undefined,
|
|
64
|
+
}, timeoutMs, "retrieve");
|
|
58
65
|
}
|
|
59
66
|
async ingest(text, sessionId, timeoutMs = DEFAULT_INGEST_TIMEOUT_MS, referenceDate) {
|
|
60
67
|
return this.fetchJsonWithTimeout(`${this.baseUrl}/v1/ingest`, { text, session_id: sessionId, reference_date: referenceDate ?? null }, timeoutMs, "ingest");
|
|
@@ -86,6 +93,9 @@ export class CortexClient {
|
|
|
86
93
|
async submitIngestConversation(messages, sessionId, referenceDate) {
|
|
87
94
|
return this.fetchJsonWithTimeout(`${this.baseUrl}/v1/jobs/ingest/conversation`, { messages, session_id: sessionId, reference_date: referenceDate ?? null }, DEFAULT_SUBMIT_TIMEOUT_MS, "jobs/ingest/conversation");
|
|
88
95
|
}
|
|
96
|
+
async batchIngest(items, timeoutMs = DEFAULT_INGEST_TIMEOUT_MS) {
|
|
97
|
+
return this.fetchJsonWithTimeout(`${this.baseUrl}/v1/ingest/batch`, { items }, timeoutMs, "ingest/batch");
|
|
98
|
+
}
|
|
89
99
|
async reflect(sessionId, timeoutMs = DEFAULT_REFLECT_TIMEOUT_MS) {
|
|
90
100
|
return this.fetchJsonWithTimeout(`${this.baseUrl}/v1/reflect`, { session_id: sessionId }, timeoutMs, "reflect");
|
|
91
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cortex/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cortex/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/features/recall/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,sBAAsB;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,MAAM,GAAG;IACZ,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACjC,CAAC;AAUF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc;YAOf,qBAAqB,QACtB,YAAY,GACjB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/features/recall/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,sBAAsB;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,MAAM,GAAG;IACZ,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACjC,CAAC;AAUF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc;YAOf,qBAAqB,QACtB,YAAY,GACjB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;;EAqE1C"}
|
|
@@ -29,7 +29,7 @@ export function createRecallHandler(client, config, logger, metrics) {
|
|
|
29
29
|
// "balanced" = adds light reranking (~150-300ms)
|
|
30
30
|
// "full" = adds graph traversal + full reranker (~300-600ms)
|
|
31
31
|
const apiMode = config.recallMode === "balanced" ? "fast" : config.recallMode;
|
|
32
|
-
const response = await client.retrieve(prompt, config.recallTopK, apiMode, config.recallTimeoutMs, config.recallQueryType);
|
|
32
|
+
const response = await client.retrieve(prompt, config.recallTopK, apiMode, config.recallTimeoutMs, config.recallQueryType, { referenceDate: new Date().toISOString() });
|
|
33
33
|
const elapsed = Date.now() - start;
|
|
34
34
|
recallMetrics.record(elapsed);
|
|
35
35
|
consecutiveFailures = 0; // reset on success
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/features/recall/handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAyBzE;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,6CAA6C;AAC1E,MAAM,sBAAsB,GAAG,MAAM,CAAC,CAAC,2BAA2B;AAElE,MAAM,UAAU,mBAAmB,CACjC,MAAoB,EACpB,MAAoB,EACpB,MAAc,EACd,OAAwB;IAExB,MAAM,aAAa,GAAG,OAAO,IAAI,IAAI,cAAc,EAAE,CAAC;IACtD,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,MAAM,OAAO,GAAG,KAAK,EACnB,KAA4B,EAC5B,IAAkB,EACsB,EAAE;QAC1C,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO;QAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAEzC,wDAAwD;QACxD,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,EAAE,CAAC,8CAA8C,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC;YACH,gDAAgD;YAChD,wDAAwD;YACxD,iDAAiD;YACjD,6DAA6D;YAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;YAC9E,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CACpC,MAAM,EACN,MAAM,CAAC,UAAU,EACjB,OAA0B,EAC1B,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,eAA4B,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/features/recall/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export class PeriodicReflect {
|
|
|
22
22
|
async run() {
|
|
23
23
|
try {
|
|
24
24
|
const result = await this.client.reflect();
|
|
25
|
-
this.logger.info(`Reflect: synthesized ${result.
|
|
25
|
+
this.logger.info(`Reflect: synthesized ${result.nodes_created} nodes, ${result.edges_created} edges (${result.entities_processed} entities processed, ${result.entities_skipped} skipped)`);
|
|
26
26
|
}
|
|
27
27
|
catch (err) {
|
|
28
28
|
this.logger.warn(`Reflect failed: ${String(err)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/features/reflect/service.ts"],"names":[],"mappings":"AASA,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAErD,MAAM,OAAO,eAAe;IAIhB;IACA;IACA;IALF,KAAK,GAA0C,IAAI,CAAC;IAE5D,YACU,MAAoB,EACpB,MAAc,EACd,aAAa,mBAAmB;QAFhC,WAAM,GAAN,MAAM,CAAc;QACpB,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAsB;IACvC,CAAC;IAEJ,KAAK;QACH,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QAEvB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,qCAAqC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wBAAwB,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/features/reflect/service.ts"],"names":[],"mappings":"AASA,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAErD,MAAM,OAAO,eAAe;IAIhB;IACA;IACA;IALF,KAAK,GAA0C,IAAI,CAAC;IAE5D,YACU,MAAoB,EACpB,MAAc,EACd,aAAa,mBAAmB;QAFhC,WAAM,GAAN,MAAM,CAAc;QACpB,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAsB;IACvC,CAAC;IAEJ,KAAK;QACH,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QAEvB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,qCAAqC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wBAAwB,MAAM,CAAC,aAAa,WAAW,MAAM,CAAC,aAAa,WAAW,MAAM,CAAC,kBAAkB,wBAAwB,MAAM,CAAC,gBAAgB,WAAW,CAC1K,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;CACF"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "cortex-memory",
|
|
3
3
|
"name": "Cortex Memory",
|
|
4
4
|
"description": "Long-term memory powered by Cortex — Auto-Recall, Auto-Capture, transcript ingestion, periodic consolidation, and background file sync",
|
|
5
|
-
"version": "0.3.
|
|
5
|
+
"version": "0.3.7",
|
|
6
6
|
"kind": "memory",
|
|
7
7
|
"configSchema": {
|
|
8
8
|
"type": "object",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"recallTimeoutMs": {
|
|
38
38
|
"type": "number",
|
|
39
39
|
"description": "Maximum time to wait for memory recall (ms)",
|
|
40
|
-
"default":
|
|
40
|
+
"default": 2000
|
|
41
41
|
},
|
|
42
42
|
"recallMode": {
|
|
43
43
|
"type": "string",
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"reflectIntervalMs": {
|
|
111
111
|
"label": "Reflect Interval (ms)",
|
|
112
112
|
"advanced": true,
|
|
113
|
-
"helpText": "How often to
|
|
113
|
+
"helpText": "How often to run cross-session memory consolidation via /v1/reflect. Set to 0 to disable."
|
|
114
114
|
},
|
|
115
115
|
"recallQueryType": {
|
|
116
116
|
"label": "Recall Query Type",
|