@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama-client.js","sourceRoot":"","sources":["../../src/ollama-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ declare const ALLOWED_TEACHER_PROVIDERS: readonly ["heuristic", "ollama", "off"];
2
+ declare const ALLOWED_EMBEDDER_PROVIDERS: readonly ["keywords", "ollama", "off"];
3
+ export type OpenClawBrainProviderConfigEnv = Readonly<Record<string, string | undefined>>;
4
+ export type OpenClawBrainTeacherProvider = (typeof ALLOWED_TEACHER_PROVIDERS)[number];
5
+ export type OpenClawBrainEmbedderProvider = (typeof ALLOWED_EMBEDDER_PROVIDERS)[number];
6
+ export type OpenClawBrainProviderResolvedNote = string;
7
+ export interface OpenClawBrainProviderSelection<TProvider extends string> {
8
+ provider: TProvider;
9
+ model: string;
10
+ }
11
+ export interface OpenClawBrainTeacherConfig extends OpenClawBrainProviderSelection<OpenClawBrainTeacherProvider> {
12
+ timeoutMs?: number;
13
+ maxPromptChars?: number;
14
+ maxResponseChars?: number;
15
+ maxOutputTokens?: number;
16
+ maxArtifactsPerExport?: number;
17
+ maxInteractionsPerExport?: number;
18
+ }
19
+ export interface OpenClawBrainProviderConfig {
20
+ teacherBaseUrl: string;
21
+ embedderBaseUrl: string;
22
+ teacher: OpenClawBrainTeacherConfig;
23
+ embedder: OpenClawBrainProviderSelection<OpenClawBrainEmbedderProvider>;
24
+ warnings: string[];
25
+ }
26
+ export declare function resolveOpenClawBrainProviderConfigNotes(config: OpenClawBrainProviderConfig): OpenClawBrainProviderResolvedNote[];
27
+ export declare function readOpenClawBrainProviderConfig(env?: OpenClawBrainProviderConfigEnv): OpenClawBrainProviderConfig;
28
+ export {};
@@ -0,0 +1,150 @@
1
+ import process from "node:process";
2
+ const OPENCLAWBRAIN_TEACHER_BASE_URL_ENV = "OPENCLAWBRAIN_TEACHER_BASE_URL";
3
+ const OPENCLAWBRAIN_EMBEDDER_BASE_URL_ENV = "OPENCLAWBRAIN_EMBEDDER_BASE_URL";
4
+ const OPENCLAWBRAIN_TEACHER_PROVIDER_ENV = "OPENCLAWBRAIN_TEACHER_PROVIDER";
5
+ const OPENCLAWBRAIN_TEACHER_MODEL_ENV = "OPENCLAWBRAIN_TEACHER_MODEL";
6
+ const OPENCLAWBRAIN_TEACHER_TIMEOUT_MS_ENV = "OPENCLAWBRAIN_TEACHER_TIMEOUT_MS";
7
+ const OPENCLAWBRAIN_TEACHER_MAX_PROMPT_CHARS_ENV = "OPENCLAWBRAIN_TEACHER_MAX_PROMPT_CHARS";
8
+ const OPENCLAWBRAIN_TEACHER_MAX_RESPONSE_CHARS_ENV = "OPENCLAWBRAIN_TEACHER_MAX_RESPONSE_CHARS";
9
+ const OPENCLAWBRAIN_TEACHER_MAX_OUTPUT_TOKENS_ENV = "OPENCLAWBRAIN_TEACHER_MAX_OUTPUT_TOKENS";
10
+ const OPENCLAWBRAIN_TEACHER_MAX_ARTIFACTS_ENV = "OPENCLAWBRAIN_TEACHER_MAX_ARTIFACTS";
11
+ const OPENCLAWBRAIN_TEACHER_MAX_INTERACTIONS_ENV = "OPENCLAWBRAIN_TEACHER_MAX_INTERACTIONS";
12
+ const OPENCLAWBRAIN_EMBEDDER_PROVIDER_ENV = "OPENCLAWBRAIN_EMBEDDER_PROVIDER";
13
+ const OPENCLAWBRAIN_EMBEDDER_MODEL_ENV = "OPENCLAWBRAIN_EMBEDDER_MODEL";
14
+ const DEFAULT_BASE_URL = "http://127.0.0.1:11434";
15
+ const DEFAULT_TEACHER_PROVIDER = "heuristic";
16
+ const DEFAULT_TEACHER_MODEL = "qwen3.5:9b";
17
+ const DEFAULT_EMBEDDER_PROVIDER = "keywords";
18
+ const DEFAULT_EMBEDDER_MODEL = "bge-large";
19
+ const ALLOWED_TEACHER_PROVIDERS = ["heuristic", "ollama", "off"];
20
+ const ALLOWED_EMBEDDER_PROVIDERS = ["keywords", "ollama", "off"];
21
+ export function resolveOpenClawBrainProviderConfigNotes(config) {
22
+ const notes = [
23
+ `teacher_base_url=${config.teacherBaseUrl}`,
24
+ `embedder_base_url=${config.embedderBaseUrl}`,
25
+ `teacher_provider=${config.teacher.provider}`,
26
+ `teacher_model=${config.teacher.model}`,
27
+ `embedder_provider=${config.embedder.provider}`,
28
+ `embedder_model=${config.embedder.model}`
29
+ ];
30
+ const optionalTeacherNotes = [
31
+ ["teacher_timeout_ms", config.teacher.timeoutMs],
32
+ ["teacher_max_prompt_chars", config.teacher.maxPromptChars],
33
+ ["teacher_max_response_chars", config.teacher.maxResponseChars],
34
+ ["teacher_max_output_tokens", config.teacher.maxOutputTokens],
35
+ ["teacher_max_artifacts", config.teacher.maxArtifactsPerExport],
36
+ ["teacher_max_interactions", config.teacher.maxInteractionsPerExport]
37
+ ];
38
+ for (const [name, value] of optionalTeacherNotes) {
39
+ if (value !== undefined) {
40
+ notes.push(`${name}=${value}`);
41
+ }
42
+ }
43
+ return notes;
44
+ }
45
+ export function readOpenClawBrainProviderConfig(env = process.env) {
46
+ const warnings = [];
47
+ return {
48
+ teacherBaseUrl: readBaseUrlEnv(env, OPENCLAWBRAIN_TEACHER_BASE_URL_ENV, warnings),
49
+ embedderBaseUrl: readBaseUrlEnv(env, OPENCLAWBRAIN_EMBEDDER_BASE_URL_ENV, warnings),
50
+ teacher: {
51
+ provider: readProviderEnv(env, OPENCLAWBRAIN_TEACHER_PROVIDER_ENV, ALLOWED_TEACHER_PROVIDERS, DEFAULT_TEACHER_PROVIDER, warnings),
52
+ model: readModelEnv(env, OPENCLAWBRAIN_TEACHER_MODEL_ENV, DEFAULT_TEACHER_MODEL, warnings),
53
+ ...readTeacherBudgetEnv(env, warnings)
54
+ },
55
+ embedder: {
56
+ provider: readProviderEnv(env, OPENCLAWBRAIN_EMBEDDER_PROVIDER_ENV, ALLOWED_EMBEDDER_PROVIDERS, DEFAULT_EMBEDDER_PROVIDER, warnings),
57
+ model: readModelEnv(env, OPENCLAWBRAIN_EMBEDDER_MODEL_ENV, DEFAULT_EMBEDDER_MODEL, warnings)
58
+ },
59
+ warnings
60
+ };
61
+ }
62
+ function readBaseUrlEnv(env, name, warnings) {
63
+ const raw = env[name];
64
+ if (raw === undefined) {
65
+ return DEFAULT_BASE_URL;
66
+ }
67
+ const value = normalizeOptionalEnvString(raw);
68
+ if (value === undefined) {
69
+ warnings.push(`${name} must be a valid http(s) URL when set; using default ${DEFAULT_BASE_URL}`);
70
+ return DEFAULT_BASE_URL;
71
+ }
72
+ let parsed;
73
+ try {
74
+ parsed = new URL(value);
75
+ }
76
+ catch {
77
+ warnings.push(`${name} must be a valid http(s) URL when set; using default ${DEFAULT_BASE_URL}`);
78
+ return DEFAULT_BASE_URL;
79
+ }
80
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
81
+ warnings.push(`${name} must use http or https when set; using default ${DEFAULT_BASE_URL}`);
82
+ return DEFAULT_BASE_URL;
83
+ }
84
+ return parsed.toString().replace(/\/+$/, "");
85
+ }
86
+ function readProviderEnv(env, name, allowedValues, fallback, warnings) {
87
+ const raw = env[name];
88
+ if (raw === undefined) {
89
+ return fallback;
90
+ }
91
+ const value = normalizeOptionalEnvString(raw);
92
+ if (value === undefined) {
93
+ warnings.push(`${name} must be one of ${allowedValues.join("|")}; using default ${fallback}`);
94
+ return fallback;
95
+ }
96
+ if (allowedValues.includes(value)) {
97
+ return value;
98
+ }
99
+ warnings.push(`${name} must be one of ${allowedValues.join("|")}; using default ${fallback}`);
100
+ return fallback;
101
+ }
102
+ function readModelEnv(env, name, fallback, warnings) {
103
+ const raw = env[name];
104
+ if (raw === undefined) {
105
+ return fallback;
106
+ }
107
+ const value = normalizeOptionalEnvString(raw);
108
+ if (value !== undefined) {
109
+ return value;
110
+ }
111
+ warnings.push(`${name} must be a non-empty string when set; using default ${fallback}`);
112
+ return fallback;
113
+ }
114
+ function readTeacherBudgetEnv(env, warnings) {
115
+ return {
116
+ ...readOptionalPositiveIntegerEnv(env, OPENCLAWBRAIN_TEACHER_TIMEOUT_MS_ENV, "timeoutMs", warnings),
117
+ ...readOptionalPositiveIntegerEnv(env, OPENCLAWBRAIN_TEACHER_MAX_PROMPT_CHARS_ENV, "maxPromptChars", warnings),
118
+ ...readOptionalPositiveIntegerEnv(env, OPENCLAWBRAIN_TEACHER_MAX_RESPONSE_CHARS_ENV, "maxResponseChars", warnings),
119
+ ...readOptionalPositiveIntegerEnv(env, OPENCLAWBRAIN_TEACHER_MAX_OUTPUT_TOKENS_ENV, "maxOutputTokens", warnings),
120
+ ...readOptionalPositiveIntegerEnv(env, OPENCLAWBRAIN_TEACHER_MAX_ARTIFACTS_ENV, "maxArtifactsPerExport", warnings),
121
+ ...readOptionalPositiveIntegerEnv(env, OPENCLAWBRAIN_TEACHER_MAX_INTERACTIONS_ENV, "maxInteractionsPerExport", warnings)
122
+ };
123
+ }
124
+ function readOptionalPositiveIntegerEnv(env, name, propertyName, warnings) {
125
+ const raw = env[name];
126
+ if (raw === undefined) {
127
+ return {};
128
+ }
129
+ const value = normalizeOptionalEnvString(raw);
130
+ if (value === undefined || /^[0-9]+$/u.test(value) === false) {
131
+ warnings.push(`${name} must be a positive integer when set; leaving it unset`);
132
+ return {};
133
+ }
134
+ const parsed = Number.parseInt(value, 10);
135
+ if (!Number.isInteger(parsed) || parsed <= 0) {
136
+ warnings.push(`${name} must be a positive integer when set; leaving it unset`);
137
+ return {};
138
+ }
139
+ return {
140
+ [propertyName]: parsed
141
+ };
142
+ }
143
+ function normalizeOptionalEnvString(value) {
144
+ const normalized = value?.trim();
145
+ if (normalized === undefined || normalized.length === 0) {
146
+ return undefined;
147
+ }
148
+ return normalized;
149
+ }
150
+ //# sourceMappingURL=provider-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-config.js","sourceRoot":"","sources":["../../src/provider-config.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@
4
4
  * Resolution order:
5
5
  * 1. Explicit `--activation-root <path>` (passed as `explicit` arg)
6
6
  * 2. A selected OpenClaw profile home (`openclawHome` option or OPENCLAW_HOME env)
7
- * 3. Default location: ~/.openclawbrain/activation
8
- * 4. Scan ~/.openclaw-*​/extensions/openclawbrain/index.ts for hardcoded activation paths
7
+ * 3. Unpinned host auto-detect from ~/.openclawbrain/activation and installed profile hooks
8
+ * 4. Refuse clearly if host-local signals disagree or are unresolved
9
9
  * 5. Fail with a clear error message
10
10
  *
11
11
  * Exported for use by CLI commands and other agents' code.
@@ -15,7 +15,7 @@ export interface ResolveActivationRootOptions {
15
15
  explicit?: string | null;
16
16
  /** Specific OpenClaw profile home to inspect for the installed extension. */
17
17
  openclawHome?: string | null;
18
- /** If true, return null instead of throwing when nothing is found. */
18
+ /** If true, return "" instead of throwing when nothing is found or auto-detect is ambiguous. */
19
19
  quiet?: boolean;
20
20
  }
21
21
  /**
@@ -4,8 +4,8 @@
4
4
  * Resolution order:
5
5
  * 1. Explicit `--activation-root <path>` (passed as `explicit` arg)
6
6
  * 2. A selected OpenClaw profile home (`openclawHome` option or OPENCLAW_HOME env)
7
- * 3. Default location: ~/.openclawbrain/activation
8
- * 4. Scan ~/.openclaw-*​/extensions/openclawbrain/index.ts for hardcoded activation paths
7
+ * 3. Unpinned host auto-detect from ~/.openclawbrain/activation and installed profile hooks
8
+ * 4. Refuse clearly if host-local signals disagree or are unresolved
9
9
  * 5. Fail with a clear error message
10
10
  *
11
11
  * Exported for use by CLI commands and other agents' code.
@@ -22,28 +22,49 @@ function normalizeOptionalString(value) {
22
22
  const trimmed = value.trim();
23
23
  return trimmed.length > 0 ? trimmed : null;
24
24
  }
25
- /**
26
- * Attempt to extract an activationRoot string from an extension index.ts file.
27
- * These files contain a hardcoded JSON string like:
28
- * activationRoot: "/Users/foo/.openclawbrain/activation",
29
- */
25
+ function buildInstallGuidance() {
26
+ return "Run: openclawbrain install --openclaw-home <path>";
27
+ }
28
+ function buildProfilePinningGuidance() {
29
+ return "Pass --activation-root <path> to pin the brain directly, or --openclaw-home <path> (or OPENCLAW_HOME) to select one installed OpenClaw profile.";
30
+ }
30
31
  function extractActivationRootFromExtension(filePath) {
31
32
  try {
32
33
  const content = readFileSync(filePath, "utf8");
33
- // Match patterns like: activationRoot: "/some/path" or activationRoot: '/some/path'
34
- const match = content.match(/activationRoot:\s*["'`]([^"'`]+)["'`]/);
35
- if (match && match[1]) {
36
- const candidate = match[1];
37
- // Only return if the path actually exists on disk
38
- if (existsSync(candidate)) {
39
- return candidate;
40
- }
34
+ const match = content.match(/const\s+ACTIVATION_ROOT\s*=\s*["'`]([^"'`]+)["'`]/) ??
35
+ content.match(/activationRoot:\s*["'`]([^"'`]+)["'`]/);
36
+ if (!match || !match[1]) {
37
+ return {
38
+ activationRoot: null,
39
+ diagnostic: `installed extension ${filePath} does not declare a hardcoded activation root`
40
+ };
41
+ }
42
+ const candidate = match[1].trim();
43
+ if (candidate === "__ACTIVATION_ROOT__" ||
44
+ candidate === "__ACTIVATION_" + "ROOT__") {
45
+ return {
46
+ activationRoot: null,
47
+ diagnostic: `installed extension ${filePath} still contains the ACTIVATION_ROOT placeholder`
48
+ };
41
49
  }
50
+ const resolvedCandidate = path.resolve(candidate);
51
+ if (!existsSync(resolvedCandidate)) {
52
+ return {
53
+ activationRoot: null,
54
+ diagnostic: `installed extension ${filePath} points at missing activation root ${resolvedCandidate}`
55
+ };
56
+ }
57
+ return {
58
+ activationRoot: resolvedCandidate,
59
+ diagnostic: null
60
+ };
42
61
  }
43
62
  catch {
44
- // File unreadable — skip
63
+ return {
64
+ activationRoot: null,
65
+ diagnostic: `installed extension ${filePath} exists but could not be read`
66
+ };
45
67
  }
46
- return null;
47
68
  }
48
69
  function readActivationRootFromOpenClawHome(openclawHome) {
49
70
  const extensionIndex = path.join(path.resolve(openclawHome), "extensions", "openclawbrain", "index.ts");
@@ -53,29 +74,56 @@ function readActivationRootFromOpenClawHome(openclawHome) {
53
74
  return extractActivationRootFromExtension(extensionIndex);
54
75
  }
55
76
  /**
56
- * Scan ~/.openclaw-* directories for extension index.ts files that
57
- * contain hardcoded activation root paths.
77
+ * Scan ~/.openclaw-* directories for installed profile hooks and record
78
+ * either the pinned activation root or the reason the hook is unresolved.
58
79
  */
59
- function scanExtensionsForActivationRoot() {
80
+ function scanInstalledProfileActivationRoots() {
60
81
  const homeDir = path.resolve(getHomeDir());
61
82
  let entries;
62
83
  try {
63
84
  entries = readdirSync(homeDir);
64
85
  }
65
86
  catch {
66
- return null;
87
+ return [];
67
88
  }
89
+ const probes = [];
68
90
  for (const entry of entries) {
69
91
  if (!entry.startsWith(".openclaw-"))
70
92
  continue;
71
- const extensionIndex = path.join(homeDir, entry, "extensions", "openclawbrain", "index.ts");
93
+ const openclawHome = path.join(homeDir, entry);
94
+ const extensionIndex = path.join(openclawHome, "extensions", "openclawbrain", "index.ts");
72
95
  if (!existsSync(extensionIndex))
73
96
  continue;
74
97
  const found = extractActivationRootFromExtension(extensionIndex);
75
- if (found !== null)
76
- return found;
98
+ probes.push({
99
+ openclawHome: path.resolve(openclawHome),
100
+ extensionIndex,
101
+ activationRoot: found.activationRoot,
102
+ diagnostic: found.diagnostic
103
+ });
77
104
  }
78
- return null;
105
+ return probes.sort((left, right) => left.openclawHome.localeCompare(right.openclawHome));
106
+ }
107
+ function buildUnpinnedResolutionRefusal(input) {
108
+ const details = [];
109
+ const { defaultActivationRoot, installedProfileProbes } = input;
110
+ if (defaultActivationRoot !== null) {
111
+ details.push(` - default HOME root -> ${defaultActivationRoot}`);
112
+ }
113
+ for (const probe of installedProfileProbes) {
114
+ if (probe.activationRoot !== null) {
115
+ details.push(` - ${probe.openclawHome} -> ${probe.activationRoot}`);
116
+ continue;
117
+ }
118
+ details.push(` - ${probe.openclawHome} -> unresolved: ${probe.diagnostic ?? `installed extension ${probe.extensionIndex} is unresolved`}`);
119
+ }
120
+ return [
121
+ "Refusing to auto-select an activation root from unpinned host state.",
122
+ "Detected targets:",
123
+ ...details,
124
+ buildProfilePinningGuidance(),
125
+ buildInstallGuidance()
126
+ ].join("\n");
79
127
  }
80
128
  /**
81
129
  * Resolve the activation root path through the detection chain.
@@ -93,28 +141,50 @@ export function resolveActivationRoot(options = {}) {
93
141
  // 2. A selected OpenClaw profile home is authoritative on many-profile hosts.
94
142
  if (selectedOpenClawHome !== null) {
95
143
  const selectedActivationRoot = readActivationRootFromOpenClawHome(selectedOpenClawHome);
96
- if (selectedActivationRoot !== null) {
97
- return path.resolve(selectedActivationRoot);
144
+ const selectedActivationRootPath = selectedActivationRoot?.activationRoot ?? null;
145
+ if (selectedActivationRootPath !== null) {
146
+ return path.resolve(selectedActivationRootPath);
98
147
  }
99
148
  if (quiet) {
100
149
  return "";
101
150
  }
102
- throw new Error(`No brain found for OpenClaw profile home ${path.resolve(selectedOpenClawHome)}. Run: openclawbrain setup --openclaw-home <path>`);
151
+ const selectedActivationRootDiagnostic = selectedActivationRoot?.diagnostic ?? null;
152
+ if (selectedActivationRootDiagnostic !== null) {
153
+ throw new Error(`OpenClawBrain extension found for OpenClaw profile home ${path.resolve(selectedOpenClawHome)}, but activation root is unresolved: ${selectedActivationRootDiagnostic}. ${buildInstallGuidance()}`);
154
+ }
155
+ throw new Error(`No brain found for OpenClaw profile home ${path.resolve(selectedOpenClawHome)}. ${buildInstallGuidance()}`);
103
156
  }
104
157
  // 3. Default location: ~/.openclawbrain/activation
105
158
  const defaultPath = path.join(getHomeDir(), ".openclawbrain", "activation");
106
- if (existsSync(defaultPath)) {
107
- return path.resolve(defaultPath);
159
+ const resolvedDefaultPath = existsSync(defaultPath) ? path.resolve(defaultPath) : null;
160
+ // 4. Scan installed profile hooks under HOME
161
+ const installedProfileProbes = scanInstalledProfileActivationRoots();
162
+ const resolvedCandidateRoots = new Set();
163
+ const hasUnresolvedInstalledProfiles = installedProfileProbes.some((probe) => probe.activationRoot === null);
164
+ if (resolvedDefaultPath !== null) {
165
+ resolvedCandidateRoots.add(resolvedDefaultPath);
166
+ }
167
+ for (const probe of installedProfileProbes) {
168
+ if (probe.activationRoot !== null) {
169
+ resolvedCandidateRoots.add(path.resolve(probe.activationRoot));
170
+ }
108
171
  }
109
- // 4. Scan extensions
110
- const scanned = scanExtensionsForActivationRoot();
111
- if (scanned !== null) {
112
- return path.resolve(scanned);
172
+ if (resolvedCandidateRoots.size === 1 && !hasUnresolvedInstalledProfiles) {
173
+ return [...resolvedCandidateRoots][0];
174
+ }
175
+ if ((resolvedCandidateRoots.size > 1 || hasUnresolvedInstalledProfiles) && installedProfileProbes.length > 0) {
176
+ if (quiet) {
177
+ return "";
178
+ }
179
+ throw new Error(buildUnpinnedResolutionRefusal({
180
+ defaultActivationRoot: resolvedDefaultPath,
181
+ installedProfileProbes
182
+ }));
113
183
  }
114
184
  // 5. Nothing found
115
185
  if (quiet) {
116
186
  return "";
117
187
  }
118
- throw new Error('No brain found. Run: openclawbrain setup --openclaw-home <path>');
188
+ throw new Error(`No brain found. ${buildInstallGuidance()}`);
119
189
  }
120
190
  //# 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":"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"}
1
+ {"version":3,"file":"resolve-activation-root.js","sourceRoot":"","sources":["../../src/resolve-activation-root.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
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 OpenClawMainSessionStoreV1 } from "./session-store.js";
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: OpenClawMainSessionStoreV1;
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: OpenClawMainSessionStoreV1[];
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[];