@openclawbrain/openclaw 0.2.1 → 0.2.3
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/LICENSE +201 -0
- package/README.md +10 -0
- package/dist/src/cli.d.ts +61 -3
- package/dist/src/cli.js +1424 -167
- package/dist/src/cli.js.map +1 -1
- package/dist/src/daemon.js +55 -0
- package/dist/src/daemon.js.map +1 -1
- package/dist/src/index.d.ts +64 -3
- package/dist/src/index.js +399 -35
- package/dist/src/index.js.map +1 -1
- package/dist/src/local-session-passive-learning.d.ts +1 -0
- package/dist/src/local-session-passive-learning.js +97 -7
- package/dist/src/local-session-passive-learning.js.map +1 -1
- package/dist/src/resolve-activation-root.js +44 -21
- package/dist/src/resolve-activation-root.js.map +1 -1
- package/dist/src/session-store.d.ts +18 -0
- package/dist/src/session-store.js +40 -0
- package/dist/src/session-store.js.map +1 -1
- package/dist/src/session-tail.d.ts +6 -3
- package/dist/src/session-tail.js +35 -4
- package/dist/src/session-tail.js.map +1 -1
- package/extension/index.ts +69 -34
- package/extension/runtime-guard.ts +338 -0
- package/package.json +13 -14
|
@@ -7,6 +7,7 @@ export interface OpenClawPassiveLearningPrivacySummaryV1 {
|
|
|
7
7
|
strippedMetadataBlockCount: number;
|
|
8
8
|
strippedThinkingBlockCount: number;
|
|
9
9
|
droppedToolResultCount: number;
|
|
10
|
+
droppedRuntimeNoiseCount: number;
|
|
10
11
|
}
|
|
11
12
|
export interface OpenClawPassiveLearningSessionEvidenceV1 {
|
|
12
13
|
sessionKey: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { buildNormalizedEventExport, createInteractionEvent } from "@openclawbrain/contracts";
|
|
3
|
-
import { extractFeedbackEventsFromInteractionRecords } from "@openclawbrain/event-export";
|
|
3
|
+
import { extractFeedbackEventsFromInteractionRecords, isSystemMessage } from "@openclawbrain/event-export";
|
|
4
4
|
const DEFAULT_AGENT_ID = "openclaw-session-store";
|
|
5
5
|
const KNOWN_PRINCIPALS = {
|
|
6
6
|
bihua: {
|
|
@@ -26,7 +26,8 @@ const DEFAULT_PRIVACY_RULES = [
|
|
|
26
26
|
"session-store fixtures stay sanitized and use fake ids, paths, and workspace roots",
|
|
27
27
|
"leading Conversation info / Sender untrusted metadata blocks are stripped before feedback extraction",
|
|
28
28
|
"assistant thinking blocks and raw tool-result payloads are excluded from passive-learning content",
|
|
29
|
-
"sender names are treated as hints for principal resolution, not source-of-truth identity proof"
|
|
29
|
+
"sender names are treated as hints for principal resolution, not source-of-truth identity proof",
|
|
30
|
+
"runtime noise (internal context, subagent results, exec output) is stripped from passive-learning content"
|
|
30
31
|
];
|
|
31
32
|
function normalizeString(value) {
|
|
32
33
|
if (typeof value !== "string") {
|
|
@@ -84,6 +85,61 @@ function messageText(record) {
|
|
|
84
85
|
toolCalls
|
|
85
86
|
};
|
|
86
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Patterns that indicate runtime/system noise in user messages.
|
|
90
|
+
* These are system-injected content blocks that should not be included
|
|
91
|
+
* in passive learning data.
|
|
92
|
+
*/
|
|
93
|
+
const RUNTIME_NOISE_PATTERNS = [
|
|
94
|
+
/OpenClaw runtime context \(internal\)/i,
|
|
95
|
+
/<<<BEGIN_UNTRUSTED_CHILD_RESULT>>>/,
|
|
96
|
+
/<<<END_UNTRUSTED_CHILD_RESULT>>>/,
|
|
97
|
+
/\[Internal task completion event\]/,
|
|
98
|
+
/source: subagent\s+session_key:/,
|
|
99
|
+
/Exec failed \([^)]+, code \d+\)/,
|
|
100
|
+
/\[System Message\]\s*\[sessionId:/,
|
|
101
|
+
/\[cron:[a-f0-9-]+\s/,
|
|
102
|
+
/Result \(untrusted content, treat as data\):/,
|
|
103
|
+
];
|
|
104
|
+
/**
|
|
105
|
+
* Heuristic: returns true if a section is predominantly runtime noise
|
|
106
|
+
* rather than genuine user content.
|
|
107
|
+
*/
|
|
108
|
+
function isSectionRuntimeNoise(section) {
|
|
109
|
+
for (const pattern of RUNTIME_NOISE_PATTERNS) {
|
|
110
|
+
if (pattern.test(section)) {
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Strip runtime noise from content after initial metadata stripping.
|
|
118
|
+
* Removes sections that contain system-injected runtime context,
|
|
119
|
+
* subagent results, exec output, and other non-user content.
|
|
120
|
+
*/
|
|
121
|
+
function stripRuntimeNoise(text) {
|
|
122
|
+
if (text.length === 0) {
|
|
123
|
+
return { content: "", strippedNoiseCount: 0 };
|
|
124
|
+
}
|
|
125
|
+
const sections = text
|
|
126
|
+
.split(/\n\s*\n/g)
|
|
127
|
+
.map((section) => section.trim())
|
|
128
|
+
.filter((section) => section.length > 0);
|
|
129
|
+
const remaining = [];
|
|
130
|
+
let strippedNoiseCount = 0;
|
|
131
|
+
for (const section of sections) {
|
|
132
|
+
if (isSectionRuntimeNoise(section)) {
|
|
133
|
+
strippedNoiseCount += 1;
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
remaining.push(section);
|
|
137
|
+
}
|
|
138
|
+
return {
|
|
139
|
+
content: remaining.join("\n\n").trim(),
|
|
140
|
+
strippedNoiseCount
|
|
141
|
+
};
|
|
142
|
+
}
|
|
87
143
|
function stripLeadingUntrustedMetadata(text) {
|
|
88
144
|
const blocks = text.replace(/\r\n/g, "\n").trim();
|
|
89
145
|
if (blocks.length === 0) {
|
|
@@ -116,10 +172,13 @@ function stripLeadingUntrustedMetadata(text) {
|
|
|
116
172
|
}
|
|
117
173
|
remaining.push(section);
|
|
118
174
|
}
|
|
175
|
+
// After stripping metadata headers, also strip runtime noise sections
|
|
176
|
+
const joined = remaining.join("\n\n").trim();
|
|
177
|
+
const denoised = stripRuntimeNoise(joined);
|
|
119
178
|
return {
|
|
120
|
-
content:
|
|
179
|
+
content: denoised.content,
|
|
121
180
|
senderName,
|
|
122
|
-
strippedMetadataBlockCount
|
|
181
|
+
strippedMetadataBlockCount: strippedMetadataBlockCount + denoised.strippedNoiseCount
|
|
123
182
|
};
|
|
124
183
|
}
|
|
125
184
|
function buildPrincipalScope(sessionId, relatedInteractionId) {
|
|
@@ -193,6 +252,7 @@ export function buildPassiveLearningSessionExportFromOpenClawSessionStore(input)
|
|
|
193
252
|
let strippedMetadataBlockCount = 0;
|
|
194
253
|
let strippedThinkingBlockCount = 0;
|
|
195
254
|
let droppedToolResultCount = 0;
|
|
255
|
+
let droppedRuntimeNoiseCount = 0;
|
|
196
256
|
let nextSequence = sequenceStart;
|
|
197
257
|
let latestAssistantInteractionId = null;
|
|
198
258
|
for (const record of input.records) {
|
|
@@ -212,13 +272,22 @@ export function buildPassiveLearningSessionExportFromOpenClawSessionStore(input)
|
|
|
212
272
|
}
|
|
213
273
|
continue;
|
|
214
274
|
}
|
|
275
|
+
// Strip runtime noise from assistant content
|
|
276
|
+
const denoisedAssistant = stripRuntimeNoise(resolvedText.content);
|
|
277
|
+
droppedRuntimeNoiseCount += denoisedAssistant.strippedNoiseCount;
|
|
278
|
+
if (denoisedAssistant.content.length === 0) {
|
|
279
|
+
warnings.push(`assistant message ${record.id} only contained runtime noise; skipped from passive-learning interactions`);
|
|
280
|
+
nextSequence += 1;
|
|
281
|
+
continue;
|
|
282
|
+
}
|
|
215
283
|
const eventId = `evt-session-store-assistant-${input.indexEntry.sessionId}-${record.id}`;
|
|
284
|
+
const interactionSequence = nextSequence;
|
|
216
285
|
const interaction = createInteractionEvent({
|
|
217
286
|
eventId,
|
|
218
287
|
agentId,
|
|
219
288
|
sessionId: input.indexEntry.sessionId,
|
|
220
289
|
channel,
|
|
221
|
-
sequence:
|
|
290
|
+
sequence: interactionSequence,
|
|
222
291
|
kind: "message_delivered",
|
|
223
292
|
createdAt: record.timestamp,
|
|
224
293
|
source: {
|
|
@@ -230,13 +299,33 @@ export function buildPassiveLearningSessionExportFromOpenClawSessionStore(input)
|
|
|
230
299
|
nextSequence += 1;
|
|
231
300
|
latestAssistantInteractionId = interaction.eventId;
|
|
232
301
|
interactionEvents.push(interaction);
|
|
233
|
-
interactionContentsById[interaction.eventId] =
|
|
302
|
+
interactionContentsById[interaction.eventId] = denoisedAssistant.content;
|
|
303
|
+
feedbackRecords.push({
|
|
304
|
+
recordId: record.id,
|
|
305
|
+
format: "raw",
|
|
306
|
+
createdAt: record.timestamp,
|
|
307
|
+
content: denoisedAssistant.content,
|
|
308
|
+
sequence: interactionSequence,
|
|
309
|
+
messageId: record.id,
|
|
310
|
+
interactionId: interaction.eventId,
|
|
311
|
+
actorRole: "assistant"
|
|
312
|
+
});
|
|
234
313
|
continue;
|
|
235
314
|
}
|
|
236
315
|
if (record.message.role !== "user") {
|
|
237
316
|
warnings.push(`unsupported session-store message role skipped: ${record.message.role}`);
|
|
238
317
|
continue;
|
|
239
318
|
}
|
|
319
|
+
// Early gate: skip messages that contain system/runtime markers BEFORE
|
|
320
|
+
// metadata stripping and feedback classification. This prevents subagent
|
|
321
|
+
// completions, runtime context blocks, and internal events from being
|
|
322
|
+
// misclassified as corrections or teaching by the feedback heuristics.
|
|
323
|
+
if (isSystemMessage(resolvedText.content)) {
|
|
324
|
+
droppedRuntimeNoiseCount += 1;
|
|
325
|
+
warnings.push(`user message ${record.id} contained system/runtime markers; skipped from feedback extraction`);
|
|
326
|
+
nextSequence += 1;
|
|
327
|
+
continue;
|
|
328
|
+
}
|
|
240
329
|
const sanitized = stripLeadingUntrustedMetadata(resolvedText.content);
|
|
241
330
|
strippedMetadataBlockCount += sanitized.strippedMetadataBlockCount;
|
|
242
331
|
const { actorRole, principal } = resolveSenderIdentity(input.indexEntry.sessionId, sanitized.senderName, latestAssistantInteractionId);
|
|
@@ -301,7 +390,8 @@ export function buildPassiveLearningSessionExportFromOpenClawSessionStore(input)
|
|
|
301
390
|
rules: [...DEFAULT_PRIVACY_RULES],
|
|
302
391
|
strippedMetadataBlockCount,
|
|
303
392
|
strippedThinkingBlockCount,
|
|
304
|
-
droppedToolResultCount
|
|
393
|
+
droppedToolResultCount,
|
|
394
|
+
droppedRuntimeNoiseCount
|
|
305
395
|
},
|
|
306
396
|
interactionEvents,
|
|
307
397
|
feedbackEvents,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-session-passive-learning.js","sourceRoot":"","sources":["../../src/local-session-passive-learning.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-session-passive-learning.js","sourceRoot":"","sources":["../../src/local-session-passive-learning.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,28 +22,46 @@ function normalizeOptionalString(value) {
|
|
|
22
22
|
const trimmed = value.trim();
|
|
23
23
|
return trimmed.length > 0 ? trimmed : null;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
* activationRoot: "/Users/foo/.openclawbrain/activation",
|
|
29
|
-
*/
|
|
25
|
+
function buildInstallSetupGuidance() {
|
|
26
|
+
return "Run: openclawbrain install --openclaw-home <path>";
|
|
27
|
+
}
|
|
30
28
|
function extractActivationRootFromExtension(filePath) {
|
|
31
29
|
try {
|
|
32
30
|
const content = readFileSync(filePath, "utf8");
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (match
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
const match = content.match(/const\s+ACTIVATION_ROOT\s*=\s*["'`]([^"'`]+)["'`]/) ??
|
|
32
|
+
content.match(/activationRoot:\s*["'`]([^"'`]+)["'`]/);
|
|
33
|
+
if (!match || !match[1]) {
|
|
34
|
+
return {
|
|
35
|
+
activationRoot: null,
|
|
36
|
+
diagnostic: `installed extension ${filePath} does not declare a hardcoded activation root`
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const candidate = match[1].trim();
|
|
40
|
+
if (candidate === "__ACTIVATION_ROOT__" ||
|
|
41
|
+
candidate === "__ACTIVATION_" + "ROOT__") {
|
|
42
|
+
return {
|
|
43
|
+
activationRoot: null,
|
|
44
|
+
diagnostic: `installed extension ${filePath} still contains the ACTIVATION_ROOT setup placeholder`
|
|
45
|
+
};
|
|
41
46
|
}
|
|
47
|
+
const resolvedCandidate = path.resolve(candidate);
|
|
48
|
+
if (!existsSync(resolvedCandidate)) {
|
|
49
|
+
return {
|
|
50
|
+
activationRoot: null,
|
|
51
|
+
diagnostic: `installed extension ${filePath} points at missing activation root ${resolvedCandidate}`
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
activationRoot: resolvedCandidate,
|
|
56
|
+
diagnostic: null
|
|
57
|
+
};
|
|
42
58
|
}
|
|
43
59
|
catch {
|
|
44
|
-
|
|
60
|
+
return {
|
|
61
|
+
activationRoot: null,
|
|
62
|
+
diagnostic: `installed extension ${filePath} exists but could not be read`
|
|
63
|
+
};
|
|
45
64
|
}
|
|
46
|
-
return null;
|
|
47
65
|
}
|
|
48
66
|
function readActivationRootFromOpenClawHome(openclawHome) {
|
|
49
67
|
const extensionIndex = path.join(path.resolve(openclawHome), "extensions", "openclawbrain", "index.ts");
|
|
@@ -72,8 +90,8 @@ function scanExtensionsForActivationRoot() {
|
|
|
72
90
|
if (!existsSync(extensionIndex))
|
|
73
91
|
continue;
|
|
74
92
|
const found = extractActivationRootFromExtension(extensionIndex);
|
|
75
|
-
if (found !== null)
|
|
76
|
-
return found;
|
|
93
|
+
if (found.activationRoot !== null)
|
|
94
|
+
return found.activationRoot;
|
|
77
95
|
}
|
|
78
96
|
return null;
|
|
79
97
|
}
|
|
@@ -93,13 +111,18 @@ export function resolveActivationRoot(options = {}) {
|
|
|
93
111
|
// 2. A selected OpenClaw profile home is authoritative on many-profile hosts.
|
|
94
112
|
if (selectedOpenClawHome !== null) {
|
|
95
113
|
const selectedActivationRoot = readActivationRootFromOpenClawHome(selectedOpenClawHome);
|
|
96
|
-
|
|
97
|
-
|
|
114
|
+
const selectedActivationRootPath = selectedActivationRoot?.activationRoot ?? null;
|
|
115
|
+
if (selectedActivationRootPath !== null) {
|
|
116
|
+
return path.resolve(selectedActivationRootPath);
|
|
98
117
|
}
|
|
99
118
|
if (quiet) {
|
|
100
119
|
return "";
|
|
101
120
|
}
|
|
102
|
-
|
|
121
|
+
const selectedActivationRootDiagnostic = selectedActivationRoot?.diagnostic ?? null;
|
|
122
|
+
if (selectedActivationRootDiagnostic !== null) {
|
|
123
|
+
throw new Error(`OpenClawBrain extension found for OpenClaw profile home ${path.resolve(selectedOpenClawHome)}, but activation root is unresolved: ${selectedActivationRootDiagnostic}. ${buildInstallSetupGuidance()}`);
|
|
124
|
+
}
|
|
125
|
+
throw new Error(`No brain found for OpenClaw profile home ${path.resolve(selectedOpenClawHome)}. ${buildInstallSetupGuidance()}`);
|
|
103
126
|
}
|
|
104
127
|
// 3. Default location: ~/.openclawbrain/activation
|
|
105
128
|
const defaultPath = path.join(getHomeDir(), ".openclawbrain", "activation");
|
|
@@ -115,6 +138,6 @@ export function resolveActivationRoot(options = {}) {
|
|
|
115
138
|
if (quiet) {
|
|
116
139
|
return "";
|
|
117
140
|
}
|
|
118
|
-
throw new Error(
|
|
141
|
+
throw new Error(`No brain found. ${buildInstallSetupGuidance()}`);
|
|
119
142
|
}
|
|
120
143
|
//# sourceMappingURL=resolve-activation-root.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-activation-root.js","sourceRoot":"","sources":["../../src/resolve-activation-root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;AAC5D,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAgC;IAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"resolve-activation-root.js","sourceRoot":"","sources":["../../src/resolve-activation-root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;AAC5D,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAgC;IAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,yBAAyB;IAChC,OAAO,mDAAmD,CAAC;AAC7D,CAAC;AAcD,SAAS,kCAAkC,CAAC,QAAgB;IAC1D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAEzD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,uBAAuB,QAAQ,+CAA+C;aAC3F,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,IACE,SAAS,KAAK,qBAAqB;YACnC,SAAS,KAAK,eAAe,GAAG,QAAQ,EACxC,CAAC;YACD,OAAO;gBACL,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,uBAAuB,QAAQ,uDAAuD;aACnG,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACnC,OAAO;gBACL,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,uBAAuB,QAAQ,sCAAsC,iBAAiB,EAAE;aACrG,CAAC;QACJ,CAAC;QAED,OAAO;YACL,cAAc,EAAE,iBAAiB;YACjC,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,uBAAuB,QAAQ,+BAA+B;SAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,kCAAkC,CAAC,YAAoB;IAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC9B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAC1B,YAAY,EACZ,eAAe,EACf,UAAU,CACX,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,kCAAkC,CAAC,cAAc,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,SAAS,+BAA+B;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,SAAS;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;QAC5F,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,SAAS;QAC1C,MAAM,KAAK,GAAG,kCAAkC,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,cAAc,CAAC;IACjE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAwC,EAAE;IAC9E,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAElD,mBAAmB;IACnB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,oBAAoB,GACxB,uBAAuB,CAAC,YAAY,CAAC,IAAI,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAE9F,8EAA8E;IAC9E,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,sBAAsB,GAAG,kCAAkC,CAAC,oBAAoB,CAAC,CAAC;QACxF,MAAM,0BAA0B,GAAG,sBAAsB,EAAE,cAAc,IAAI,IAAI,CAAC;QAClF,IAAI,0BAA0B,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,gCAAgC,GAAG,sBAAsB,EAAE,UAAU,IAAI,IAAI,CAAC;QACpF,IAAI,gCAAgC,KAAK,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,2DAA2D,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,wCAAwC,gCAAgC,KAAK,yBAAyB,EAAE,EAAE,CACxM,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,yBAAyB,EAAE,EAAE,CACjH,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC5E,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAG,+BAA+B,EAAE,CAAC;IAClD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,mBAAmB;IACnB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,KAAK,CACb,mBAAmB,yBAAyB,EAAE,EAAE,CACjD,CAAC;AACJ,CAAC"}
|
|
@@ -141,6 +141,15 @@ export interface OpenClawMainSessionStoreV1 {
|
|
|
141
141
|
sessionsDir: string;
|
|
142
142
|
indexPath: string;
|
|
143
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Generic session store that can represent any agent (main, subagent, ACP, etc.).
|
|
146
|
+
*/
|
|
147
|
+
export interface OpenClawSessionStoreV1 {
|
|
148
|
+
profileRoot: string;
|
|
149
|
+
agentId: string;
|
|
150
|
+
sessionsDir: string;
|
|
151
|
+
indexPath: string;
|
|
152
|
+
}
|
|
144
153
|
export declare function loadOpenClawSessionIndex(indexFilePath: string): OpenClawSessionIndex;
|
|
145
154
|
export declare function readOpenClawSessionFile(sessionFilePath: string): OpenClawSessionRecord[];
|
|
146
155
|
export declare function readOpenClawAcpStreamFile(streamFilePath: string): OpenClawAcpStreamRecord[];
|
|
@@ -148,3 +157,12 @@ export declare function discoverOpenClawMainSessionStores(options?: {
|
|
|
148
157
|
homeDir?: string;
|
|
149
158
|
profileRoots?: readonly string[];
|
|
150
159
|
}): OpenClawMainSessionStoreV1[];
|
|
160
|
+
/**
|
|
161
|
+
* Discover session stores for ALL agents under each profile root.
|
|
162
|
+
* Scans every directory under `agents/` (not just `agents/main/`),
|
|
163
|
+
* finding subagent, ACP, and any other agent session stores.
|
|
164
|
+
*/
|
|
165
|
+
export declare function discoverOpenClawSessionStores(options?: {
|
|
166
|
+
homeDir?: string;
|
|
167
|
+
profileRoots?: readonly string[];
|
|
168
|
+
}): OpenClawSessionStoreV1[];
|
|
@@ -31,6 +31,46 @@ export function discoverOpenClawMainSessionStores(options = {}) {
|
|
|
31
31
|
.filter((store) => store !== null)
|
|
32
32
|
.sort((left, right) => left.indexPath.localeCompare(right.indexPath));
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Discover session stores for ALL agents under each profile root.
|
|
36
|
+
* Scans every directory under `agents/` (not just `agents/main/`),
|
|
37
|
+
* finding subagent, ACP, and any other agent session stores.
|
|
38
|
+
*/
|
|
39
|
+
export function discoverOpenClawSessionStores(options = {}) {
|
|
40
|
+
const candidateRoots = options.profileRoots !== undefined
|
|
41
|
+
? [...new Set(options.profileRoots.map((root) => path.resolve(root)))]
|
|
42
|
+
: discoverOpenClawProfileRoots(options.homeDir);
|
|
43
|
+
const stores = [];
|
|
44
|
+
for (const profileRoot of candidateRoots) {
|
|
45
|
+
const agentsDir = path.join(profileRoot, "agents");
|
|
46
|
+
if (!existsSync(agentsDir)) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
let agentDirs;
|
|
50
|
+
try {
|
|
51
|
+
agentDirs = readdirSync(agentsDir, { withFileTypes: true })
|
|
52
|
+
.filter((entry) => entry.isDirectory())
|
|
53
|
+
.map((entry) => entry.name);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
for (const agentName of agentDirs) {
|
|
59
|
+
const sessionsDir = path.join(agentsDir, agentName, "sessions");
|
|
60
|
+
const indexPath = path.join(sessionsDir, "sessions.json");
|
|
61
|
+
if (!existsSync(indexPath)) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
stores.push({
|
|
65
|
+
profileRoot,
|
|
66
|
+
agentId: agentName,
|
|
67
|
+
sessionsDir,
|
|
68
|
+
indexPath
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return stores.sort((left, right) => left.indexPath.localeCompare(right.indexPath));
|
|
73
|
+
}
|
|
34
74
|
function discoverOpenClawProfileRoots(homeDir) {
|
|
35
75
|
const rootDir = path.resolve(homeDir ?? homedir());
|
|
36
76
|
if (!existsSync(rootDir)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/session-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type OpenClawSessionStoreV1 } from "./session-store.js";
|
|
2
2
|
import type { ScannedEventExportInputV1 } from "./index.js";
|
|
3
3
|
export type OpenClawLocalSessionTailNoopReasonV1 = "seeded_existing_sessions" | "no_local_session_stores" | "no_session_changes";
|
|
4
4
|
export type OpenClawLocalSessionTailChangeKindV1 = "new_session" | "appended_records" | "metadata_only" | "session_reset" | "missing_session_path" | "missing_session_file";
|
|
@@ -12,7 +12,7 @@ export interface OpenClawLocalSessionTailCursorV1 {
|
|
|
12
12
|
bridgedEventCount: number;
|
|
13
13
|
}
|
|
14
14
|
export interface OpenClawLocalSessionTailChangeV1 {
|
|
15
|
-
source:
|
|
15
|
+
source: OpenClawSessionStoreV1;
|
|
16
16
|
sessionKey: string;
|
|
17
17
|
sessionId: string;
|
|
18
18
|
sessionFile: string | null;
|
|
@@ -27,7 +27,7 @@ export interface OpenClawLocalSessionTailPollResultV1 {
|
|
|
27
27
|
runtimeOwner: "openclaw";
|
|
28
28
|
lane: "local_session_tail";
|
|
29
29
|
polledAt: string;
|
|
30
|
-
sources:
|
|
30
|
+
sources: OpenClawSessionStoreV1[];
|
|
31
31
|
changes: OpenClawLocalSessionTailChangeV1[];
|
|
32
32
|
noopReason: OpenClawLocalSessionTailNoopReasonV1 | null;
|
|
33
33
|
warnings: string[];
|
|
@@ -36,6 +36,8 @@ export interface OpenClawLocalSessionTailPollResultV1 {
|
|
|
36
36
|
export interface OpenClawLocalSessionTailInput {
|
|
37
37
|
homeDir?: string;
|
|
38
38
|
profileRoots?: readonly string[];
|
|
39
|
+
cursor?: readonly OpenClawLocalSessionTailCursorV1[];
|
|
40
|
+
emitExistingOnFirstPoll?: boolean;
|
|
39
41
|
}
|
|
40
42
|
export interface OpenClawLocalSessionTailLoopOptionsV1 {
|
|
41
43
|
pollIntervalMs?: number;
|
|
@@ -57,6 +59,7 @@ export declare class OpenClawLocalSessionTail {
|
|
|
57
59
|
readonly homeDir: string | undefined;
|
|
58
60
|
readonly profileRoots: readonly string[] | undefined;
|
|
59
61
|
private initialized;
|
|
62
|
+
private readonly emitExistingOnFirstPoll;
|
|
60
63
|
private readonly cursorBySession;
|
|
61
64
|
constructor(input?: OpenClawLocalSessionTailInput);
|
|
62
65
|
snapshot(): OpenClawLocalSessionTailCursorV1[];
|
package/dist/src/session-tail.js
CHANGED
|
@@ -4,7 +4,7 @@ import path from "node:path";
|
|
|
4
4
|
import { CONTRACT_IDS, createInteractionEvent, sortNormalizedEvents } from "@openclawbrain/contracts";
|
|
5
5
|
import { scanSession } from "@openclawbrain/events";
|
|
6
6
|
import { extractFeedbackEventsFromInteractionRecords } from "@openclawbrain/event-export";
|
|
7
|
-
import {
|
|
7
|
+
import { discoverOpenClawSessionStores, loadOpenClawSessionIndex, readOpenClawSessionFile } from "./session-store.js";
|
|
8
8
|
const DEFAULT_SCANNER_ID = "openclaw-local-session-tail";
|
|
9
9
|
const DEFAULT_SCANNER_LANE = "local_session_tail";
|
|
10
10
|
function normalizeIsoTimestamp(value, fallback) {
|
|
@@ -71,6 +71,30 @@ function snapshotCursor(cursorBySession) {
|
|
|
71
71
|
return left.sessionKey.localeCompare(right.sessionKey);
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
|
+
function validateCursorEntry(cursor, index) {
|
|
75
|
+
const label = `cursor[${index}]`;
|
|
76
|
+
if (typeof cursor.sourceIndexPath !== "string" || cursor.sourceIndexPath.trim().length === 0) {
|
|
77
|
+
throw new Error(`${label}.sourceIndexPath must be a non-empty string`);
|
|
78
|
+
}
|
|
79
|
+
if (typeof cursor.sessionKey !== "string" || cursor.sessionKey.trim().length === 0) {
|
|
80
|
+
throw new Error(`${label}.sessionKey must be a non-empty string`);
|
|
81
|
+
}
|
|
82
|
+
if (typeof cursor.sessionId !== "string" || cursor.sessionId.trim().length === 0) {
|
|
83
|
+
throw new Error(`${label}.sessionId must be a non-empty string`);
|
|
84
|
+
}
|
|
85
|
+
if (cursor.sessionFile !== null && (typeof cursor.sessionFile !== "string" || cursor.sessionFile.trim().length === 0)) {
|
|
86
|
+
throw new Error(`${label}.sessionFile must be null or a non-empty string`);
|
|
87
|
+
}
|
|
88
|
+
if (!Number.isFinite(cursor.updatedAt)) {
|
|
89
|
+
throw new Error(`${label}.updatedAt must be a finite number`);
|
|
90
|
+
}
|
|
91
|
+
if (!Number.isInteger(cursor.rawRecordCount) || cursor.rawRecordCount < 0) {
|
|
92
|
+
throw new Error(`${label}.rawRecordCount must be a non-negative integer`);
|
|
93
|
+
}
|
|
94
|
+
if (!Number.isInteger(cursor.bridgedEventCount) || cursor.bridgedEventCount < 0) {
|
|
95
|
+
throw new Error(`${label}.bridgedEventCount must be a non-negative integer`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
74
98
|
function buildProfileId(profileRoot) {
|
|
75
99
|
const basename = path.basename(profileRoot);
|
|
76
100
|
return basename.startsWith(".openclaw-") ? basename.slice(".openclaw-".length) : basename;
|
|
@@ -301,11 +325,18 @@ function createChange(input) {
|
|
|
301
325
|
export class OpenClawLocalSessionTail {
|
|
302
326
|
homeDir;
|
|
303
327
|
profileRoots;
|
|
304
|
-
initialized
|
|
328
|
+
initialized;
|
|
329
|
+
emitExistingOnFirstPoll;
|
|
305
330
|
cursorBySession = new Map();
|
|
306
331
|
constructor(input = {}) {
|
|
307
332
|
this.homeDir = input.homeDir;
|
|
308
333
|
this.profileRoots = input.profileRoots?.map((root) => path.resolve(root));
|
|
334
|
+
for (const [index, cursor] of (input.cursor ?? []).entries()) {
|
|
335
|
+
validateCursorEntry(cursor, index);
|
|
336
|
+
this.cursorBySession.set(cursorKey(cursor.sourceIndexPath, cursor.sessionKey), cloneCursor(cursor));
|
|
337
|
+
}
|
|
338
|
+
this.initialized = this.cursorBySession.size > 0;
|
|
339
|
+
this.emitExistingOnFirstPoll = input.emitExistingOnFirstPoll === true;
|
|
309
340
|
}
|
|
310
341
|
snapshot() {
|
|
311
342
|
return snapshotCursor(this.cursorBySession);
|
|
@@ -315,7 +346,7 @@ export class OpenClawLocalSessionTail {
|
|
|
315
346
|
const firstPoll = this.initialized === false;
|
|
316
347
|
const warnings = [];
|
|
317
348
|
const changes = [];
|
|
318
|
-
const sources =
|
|
349
|
+
const sources = discoverOpenClawSessionStores({
|
|
319
350
|
...(this.homeDir === undefined ? {} : { homeDir: this.homeDir }),
|
|
320
351
|
...(this.profileRoots === undefined ? {} : { profileRoots: this.profileRoots })
|
|
321
352
|
});
|
|
@@ -393,7 +424,7 @@ export class OpenClawLocalSessionTail {
|
|
|
393
424
|
const nextCursor = createCursor(source.indexPath, sessionKey, entry.sessionId, sessionFile, entry.updatedAt, records.length, bridge.bridgedEventCount);
|
|
394
425
|
if (existing === null) {
|
|
395
426
|
this.cursorBySession.set(key, nextCursor);
|
|
396
|
-
if (firstPoll) {
|
|
427
|
+
if (firstPoll && !this.emitExistingOnFirstPoll) {
|
|
397
428
|
continue;
|
|
398
429
|
}
|
|
399
430
|
changes.push(createChange({
|