@openclawbrain/openclaw 0.2.2 → 0.3.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.
Files changed (47) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +10 -0
  3. package/dist/extension/index.d.ts +1 -0
  4. package/dist/extension/index.js +73 -0
  5. package/dist/extension/index.js.map +1 -0
  6. package/dist/extension/runtime-guard.d.ts +61 -0
  7. package/dist/extension/runtime-guard.js +230 -0
  8. package/dist/extension/runtime-guard.js.map +1 -0
  9. package/dist/src/cli.d.ts +66 -4
  10. package/dist/src/cli.js +1845 -241
  11. package/dist/src/cli.js.map +1 -1
  12. package/dist/src/daemon.d.ts +7 -4
  13. package/dist/src/daemon.js +311 -28
  14. package/dist/src/daemon.js.map +1 -1
  15. package/dist/src/index.d.ts +213 -4
  16. package/dist/src/index.js +1151 -157
  17. package/dist/src/index.js.map +1 -1
  18. package/dist/src/learning-spine.d.ts +2 -1
  19. package/dist/src/learning-spine.js +8 -0
  20. package/dist/src/learning-spine.js.map +1 -1
  21. package/dist/src/local-session-passive-learning.d.ts +1 -0
  22. package/dist/src/local-session-passive-learning.js +97 -7
  23. package/dist/src/local-session-passive-learning.js.map +1 -1
  24. package/dist/src/ollama-client.d.ts +46 -0
  25. package/dist/src/ollama-client.js +231 -0
  26. package/dist/src/ollama-client.js.map +1 -0
  27. package/dist/src/provider-config.d.ts +28 -0
  28. package/dist/src/provider-config.js +150 -0
  29. package/dist/src/provider-config.js.map +1 -0
  30. package/dist/src/resolve-activation-root.d.ts +3 -3
  31. package/dist/src/resolve-activation-root.js +105 -35
  32. package/dist/src/resolve-activation-root.js.map +1 -1
  33. package/dist/src/session-store.d.ts +18 -0
  34. package/dist/src/session-store.js +40 -0
  35. package/dist/src/session-store.js.map +1 -1
  36. package/dist/src/session-tail.d.ts +6 -3
  37. package/dist/src/session-tail.js +35 -4
  38. package/dist/src/session-tail.js.map +1 -1
  39. package/dist/src/shadow-extension-proof.d.ts +40 -0
  40. package/dist/src/shadow-extension-proof.js +214 -0
  41. package/dist/src/shadow-extension-proof.js.map +1 -0
  42. package/dist/src/teacher-labeler.d.ts +50 -0
  43. package/dist/src/teacher-labeler.js +424 -0
  44. package/dist/src/teacher-labeler.js.map +1 -0
  45. package/extension/index.ts +74 -35
  46. package/extension/runtime-guard.ts +353 -0
  47. package/package.json +13 -13
@@ -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 { discoverOpenClawMainSessionStores, loadOpenClawSessionIndex, readOpenClawSessionFile } from "./session-store.js";
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 = false;
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 = discoverOpenClawMainSessionStores({
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({
@@ -1 +1 @@
1
- {"version":3,"file":"session-tail.js","sourceRoot":"","sources":["../../src/session-tail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-tail.js","sourceRoot":"","sources":["../../src/session-tail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export interface InstalledExtensionPackageJson {
2
+ name?: unknown;
3
+ version?: unknown;
4
+ private?: unknown;
5
+ type?: unknown;
6
+ openclaw?: {
7
+ extensions?: unknown;
8
+ };
9
+ dependencies?: Record<string, string>;
10
+ }
11
+ export interface InstalledPluginManifest {
12
+ id?: unknown;
13
+ name?: unknown;
14
+ description?: unknown;
15
+ version?: unknown;
16
+ configSchema?: unknown;
17
+ }
18
+ export interface ShadowProfileExtensionInstall {
19
+ openclawHome: string;
20
+ extensionsDir: string;
21
+ extensionDir: string;
22
+ manifestPath: string;
23
+ packageJsonPath: string;
24
+ loaderEntryPath: string;
25
+ runtimeGuardPath: string;
26
+ manifest: InstalledPluginManifest;
27
+ packageJson: InstalledExtensionPackageJson;
28
+ configuredEntries: string[];
29
+ }
30
+ export interface ShadowProfileExtensionLoadProof extends ShadowProfileExtensionInstall {
31
+ runtimeGuardExportNames: string[];
32
+ registeredEventName: string;
33
+ registeredPriority: number | null;
34
+ probeWarning: string;
35
+ probeResult: Record<string, unknown>;
36
+ diagnosticLogPath: string;
37
+ diagnosticLogContents: string;
38
+ }
39
+ export declare function inspectInstalledOpenClawBrainExtension(openclawHome: string, extensionId?: string): ShadowProfileExtensionInstall;
40
+ export declare function proveInstalledOpenClawBrainExtensionLoad(openclawHome: string, extensionId?: string): Promise<ShadowProfileExtensionLoadProof>;
@@ -0,0 +1,214 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { homedir } from "node:os";
3
+ import path from "node:path";
4
+ import { pathToFileURL } from "node:url";
5
+ const REQUIRED_RUNTIME_GUARD_EXPORTS = [
6
+ "createBeforePromptBuildHandler",
7
+ "isActivationRootPlaceholder",
8
+ "normalizePromptBuildEvent",
9
+ "validateExtensionRegistrationApi"
10
+ ];
11
+ export function inspectInstalledOpenClawBrainExtension(openclawHome, extensionId = "openclawbrain") {
12
+ const resolvedOpenclawHome = path.resolve(openclawHome);
13
+ const extensionsDir = path.join(resolvedOpenclawHome, "extensions");
14
+ const extensionDir = path.join(extensionsDir, extensionId);
15
+ if (!existsSync(extensionsDir)) {
16
+ throw new Error(`[shadow-extension-load-proof] OpenClaw extensions dir is missing: ${extensionsDir}`);
17
+ }
18
+ if (!existsSync(extensionDir)) {
19
+ throw new Error(`[shadow-extension-load-proof] Installed extension dir is missing: ${extensionDir}`);
20
+ }
21
+ const manifestPath = path.join(extensionDir, "openclaw.plugin.json");
22
+ const packageJsonPath = path.join(extensionDir, "package.json");
23
+ const runtimeGuardPath = path.join(extensionDir, "runtime-guard.js");
24
+ if (!existsSync(manifestPath)) {
25
+ throw new Error(`[shadow-extension-load-proof] Plugin manifest missing: ${manifestPath}`);
26
+ }
27
+ if (!existsSync(packageJsonPath)) {
28
+ throw new Error(`[shadow-extension-load-proof] Package manifest missing: ${packageJsonPath}`);
29
+ }
30
+ if (!existsSync(runtimeGuardPath)) {
31
+ throw new Error(`[shadow-extension-load-proof] Installed runtime-guard.js is missing: ${runtimeGuardPath}`);
32
+ }
33
+ const manifest = readRequiredJson(manifestPath, "plugin manifest");
34
+ if (manifest.id !== extensionId) {
35
+ throw new Error(`[shadow-extension-load-proof] Plugin manifest id must be ${JSON.stringify(extensionId)} at ${manifestPath} ` +
36
+ `(received=${describeValue(manifest.id)})`);
37
+ }
38
+ if (typeof manifest.version !== "string" || manifest.version.trim().length === 0) {
39
+ throw new Error(`[shadow-extension-load-proof] Plugin manifest version must be a non-empty string at ${manifestPath}`);
40
+ }
41
+ const packageJson = readRequiredJson(packageJsonPath, "package manifest");
42
+ const configuredEntries = readConfiguredEntries(packageJson, packageJsonPath);
43
+ const loaderEntryPath = resolveLoaderEntryPath(extensionDir, configuredEntries);
44
+ if (packageJson.type !== "module") {
45
+ throw new Error(`[shadow-extension-load-proof] Installed package manifest must declare \"type\": \"module\" at ${packageJsonPath} ` +
46
+ `(received=${describeValue(packageJson.type)})`);
47
+ }
48
+ if (typeof packageJson.version === "string" &&
49
+ packageJson.version.trim().length > 0 &&
50
+ packageJson.version !== manifest.version) {
51
+ throw new Error(`[shadow-extension-load-proof] Installed package and plugin manifest versions disagree ` +
52
+ `(package=${packageJson.version}, manifest=${manifest.version})`);
53
+ }
54
+ return {
55
+ openclawHome: resolvedOpenclawHome,
56
+ extensionsDir,
57
+ extensionDir,
58
+ manifestPath,
59
+ packageJsonPath,
60
+ loaderEntryPath,
61
+ runtimeGuardPath,
62
+ manifest,
63
+ packageJson,
64
+ configuredEntries
65
+ };
66
+ }
67
+ export async function proveInstalledOpenClawBrainExtensionLoad(openclawHome, extensionId = "openclawbrain") {
68
+ const inspected = inspectInstalledOpenClawBrainExtension(openclawHome, extensionId);
69
+ const runtimeGuardModule = await importWithHelpfulError(inspected.runtimeGuardPath, "runtime-guard.js");
70
+ const runtimeGuardExportNames = Object.keys(runtimeGuardModule).sort((left, right) => left.localeCompare(right));
71
+ const missingRuntimeGuardExports = REQUIRED_RUNTIME_GUARD_EXPORTS.filter((exportName) => !runtimeGuardExportNames.includes(exportName));
72
+ if (missingRuntimeGuardExports.length > 0) {
73
+ throw new Error(`[shadow-extension-load-proof] Installed runtime-guard.js is missing required exports ` +
74
+ `${missingRuntimeGuardExports.join(", ")} at ${inspected.runtimeGuardPath}`);
75
+ }
76
+ const loaderModule = await importWithHelpfulError(inspected.loaderEntryPath, "loader entry");
77
+ if (typeof loaderModule.default !== "function") {
78
+ throw new Error(`[shadow-extension-load-proof] Installed loader entry default export must be a function at ${inspected.loaderEntryPath} ` +
79
+ `(received=${describeValue(loaderModule.default)})`);
80
+ }
81
+ const registrations = [];
82
+ loaderModule.default({
83
+ on(eventName, handler, options) {
84
+ registrations.push({
85
+ eventName,
86
+ handler,
87
+ priority: typeof options?.priority === "number" ? options.priority : null
88
+ });
89
+ }
90
+ });
91
+ if (registrations.length !== 1) {
92
+ throw new Error(`[shadow-extension-load-proof] Installed loader must register exactly one hook ` +
93
+ `(received=${registrations.length})`);
94
+ }
95
+ const registeredHook = registrations[0];
96
+ if (registeredHook.eventName !== "before_prompt_build") {
97
+ throw new Error(`[shadow-extension-load-proof] Installed loader must register before_prompt_build ` +
98
+ `(received=${JSON.stringify(registeredHook.eventName)})`);
99
+ }
100
+ if (registeredHook.priority !== 5) {
101
+ throw new Error(`[shadow-extension-load-proof] Installed loader must register before_prompt_build with priority 5 ` +
102
+ `(received=${registeredHook.priority === null ? "null" : String(registeredHook.priority)})`);
103
+ }
104
+ const warnings = [];
105
+ const originalWarn = console.warn;
106
+ console.warn = (...args) => {
107
+ warnings.push(args.map((value) => String(value)).join(" "));
108
+ };
109
+ let probeResult;
110
+ try {
111
+ probeResult = await registeredHook.handler({
112
+ messages: {
113
+ content: "not-an-array"
114
+ }
115
+ }, {});
116
+ }
117
+ finally {
118
+ console.warn = originalWarn;
119
+ }
120
+ if (!isRecord(probeResult) || Object.keys(probeResult).length !== 0) {
121
+ throw new Error(`[shadow-extension-load-proof] Malformed before_prompt_build probe must fail open with an empty object ` +
122
+ `(received=${describeValue(probeResult)})`);
123
+ }
124
+ const probeWarning = warnings.find((message) => message.includes("before_prompt_build event.messages is not an array"));
125
+ if (probeWarning === undefined) {
126
+ throw new Error(`[shadow-extension-load-proof] Installed runtime-guard did not emit the expected malformed-event diagnostic ` +
127
+ `(warnings=${warnings.length === 0 ? "none" : warnings.join(" | ")})`);
128
+ }
129
+ const diagnosticLogPath = path.join(homedir(), ".openclawbrain", "extension-errors.log");
130
+ if (!existsSync(diagnosticLogPath)) {
131
+ throw new Error(`[shadow-extension-load-proof] Installed runtime-guard did not write a local diagnostic log at ${diagnosticLogPath}`);
132
+ }
133
+ const diagnosticLogContents = readFileSync(diagnosticLogPath, "utf8");
134
+ if (!diagnosticLogContents.includes("before_prompt_build event.messages is not an array")) {
135
+ throw new Error(`[shadow-extension-load-proof] Local diagnostic log at ${diagnosticLogPath} does not contain the malformed-event failure`);
136
+ }
137
+ return {
138
+ ...inspected,
139
+ runtimeGuardExportNames,
140
+ registeredEventName: registeredHook.eventName,
141
+ registeredPriority: registeredHook.priority,
142
+ probeWarning,
143
+ probeResult,
144
+ diagnosticLogPath,
145
+ diagnosticLogContents
146
+ };
147
+ }
148
+ function readRequiredJson(filePath, label) {
149
+ let raw;
150
+ try {
151
+ raw = readFileSync(filePath, "utf8");
152
+ }
153
+ catch (error) {
154
+ const detail = error instanceof Error ? error.message : String(error);
155
+ throw new Error(`[shadow-extension-load-proof] Failed to read ${label} at ${filePath}: ${detail}`);
156
+ }
157
+ try {
158
+ return JSON.parse(raw);
159
+ }
160
+ catch (error) {
161
+ const detail = error instanceof Error ? error.message : String(error);
162
+ throw new Error(`[shadow-extension-load-proof] Failed to parse ${label} at ${filePath}: ${detail}`);
163
+ }
164
+ }
165
+ function readConfiguredEntries(packageJson, packageJsonPath) {
166
+ const extensions = packageJson.openclaw?.extensions;
167
+ if (!Array.isArray(extensions)) {
168
+ throw new Error(`[shadow-extension-load-proof] Installed package manifest must expose openclaw.extensions as a non-empty string array at ${packageJsonPath} ` +
169
+ `(received=${describeValue(extensions)})`);
170
+ }
171
+ const configuredEntries = extensions.filter((entry) => typeof entry === "string" && entry.trim().length > 0);
172
+ if (configuredEntries.length === 0) {
173
+ throw new Error(`[shadow-extension-load-proof] Installed package manifest openclaw.extensions is empty at ${packageJsonPath}`);
174
+ }
175
+ return configuredEntries;
176
+ }
177
+ function resolveLoaderEntryPath(extensionDir, configuredEntries) {
178
+ for (const configuredEntry of configuredEntries) {
179
+ const candidate = path.join(extensionDir, configuredEntry);
180
+ if (existsSync(candidate)) {
181
+ return candidate;
182
+ }
183
+ }
184
+ throw new Error(`[shadow-extension-load-proof] Installed package manifest points at missing loader entries in ${extensionDir} ` +
185
+ `(configured=${configuredEntries.join(", ")})`);
186
+ }
187
+ async function importWithHelpfulError(filePath, label) {
188
+ try {
189
+ return await import(pathToFileURL(filePath).href);
190
+ }
191
+ catch (error) {
192
+ const detail = error instanceof Error ? error.stack ?? error.message : String(error);
193
+ throw new Error(`[shadow-extension-load-proof] Installed ${label} failed to import from ${filePath}: ${detail}`);
194
+ }
195
+ }
196
+ function describeValue(value) {
197
+ if (value === null) {
198
+ return "null";
199
+ }
200
+ if (Array.isArray(value)) {
201
+ return `array(len=${value.length})`;
202
+ }
203
+ if (typeof value === "string") {
204
+ return `string(${JSON.stringify(value)})`;
205
+ }
206
+ if (typeof value === "object") {
207
+ return `object(keys=${Object.keys(value).join(",") || "none"})`;
208
+ }
209
+ return `${typeof value}(${String(value)})`;
210
+ }
211
+ function isRecord(value) {
212
+ return typeof value === "object" && value !== null;
213
+ }
214
+ //# sourceMappingURL=shadow-extension-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-extension-proof.js","sourceRoot":"","sources":["../../src/shadow-extension-proof.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { type NormalizedEventExportV1, type TeacherSupervisionArtifactV1 } from "@openclawbrain/contracts";
2
+ import type { LearningSpineServeRouteDecisionLogEntryV1 } from "@openclawbrain/pack-format";
3
+ export interface TeacherLabelerRunInputV1 {
4
+ normalizedEventExport: NormalizedEventExportV1;
5
+ observedAt: string;
6
+ staleAfterMs: number;
7
+ serveTimeDecisions?: readonly LearningSpineServeRouteDecisionLogEntryV1[];
8
+ existingArtifacts?: readonly TeacherSupervisionArtifactV1[];
9
+ }
10
+ export interface TeacherLabelerResultV1 {
11
+ artifacts: TeacherSupervisionArtifactV1[];
12
+ status: "ok" | "skipped" | "fail_open";
13
+ detail: string;
14
+ }
15
+ export interface TeacherLabeler {
16
+ label(input: TeacherLabelerRunInputV1): Promise<TeacherLabelerResultV1>;
17
+ }
18
+ export interface OllamaTeacherLabelerGenerateInputV1 {
19
+ model: string;
20
+ prompt: string;
21
+ maxOutputTokens: number;
22
+ timeoutMs: number;
23
+ }
24
+ export interface OllamaTeacherLabelerClient {
25
+ generate(input: OllamaTeacherLabelerGenerateInputV1): Promise<{
26
+ response: string;
27
+ }>;
28
+ }
29
+ export interface AsyncTeacherOllamaLabelerConfigV1 {
30
+ provider: "ollama";
31
+ baseUrl?: string;
32
+ model?: string;
33
+ timeoutMs?: number;
34
+ maxPromptChars?: number;
35
+ maxResponseChars?: number;
36
+ maxOutputTokens?: number;
37
+ maxArtifactsPerExport?: number;
38
+ maxInteractionsPerExport?: number;
39
+ maxUserMessageChars?: number;
40
+ maxContextIdsPerDecision?: number;
41
+ teacherIdentity?: string;
42
+ client?: OllamaTeacherLabelerClient;
43
+ }
44
+ export interface AsyncTeacherNoopLabelerConfigV1 {
45
+ provider: "none";
46
+ }
47
+ export type AsyncTeacherLabelerConfigV1 = AsyncTeacherNoopLabelerConfigV1 | AsyncTeacherOllamaLabelerConfigV1;
48
+ export declare function createHttpOllamaTeacherLabelerClient(baseUrl?: string): OllamaTeacherLabelerClient;
49
+ export declare function createOllamaTeacherLabeler(config: AsyncTeacherOllamaLabelerConfigV1): TeacherLabeler;
50
+ export declare function createTeacherLabeler(config: AsyncTeacherLabelerConfigV1 | null | undefined): TeacherLabeler | null;