@lobu/openclaw-plugin 6.1.1 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,9 +32,39 @@ Replace `<mcp-url>` with your workspace MCP URL (for example `https://lobu.ai/mc
32
32
  | `autoRecall` | Search Lobu memory for relevant memories before each prompt. Default `true`. |
33
33
  | `recallLimit` | Maximum recalled memory records per request. Default `6`. |
34
34
  | `autoCapture` | Capture conversation observations as long-term memories after each session. Default `true`. |
35
+ | `memoryWikiCompat` | Spike/compat mode. `true` (or `{ enabled: true }`) registers OpenClaw memory-wiki tools (`wiki_status`, `wiki_search`, `wiki_get`, `wiki_apply`, `wiki_lint`) and the `memory_search`/`memory_get` aliases. Default `false`. |
35
36
 
36
37
  See [`openclaw.plugin.json`](./openclaw.plugin.json) for the full schema.
37
38
 
39
+ ## Memory-wiki compatibility mode
40
+
41
+ When `memoryWikiCompat` is enabled the plugin registers an OpenClaw-flavoured tool surface backed by existing Lobu MCP primitives — there is no separate wiki vault, no markdown export, and no MCP contract changes.
42
+
43
+ > **MCP surface note.** Watcher and knowledge admin operations (`list_watchers`, `get_watcher`, `read_knowledge`, `manage_watchers`) are registered as `INTERNAL_REST_TOOLS` in Lobu and **not** exposed on the MCP wire (`internal: true` hides them from `tools/list`). The compatibility layer therefore reaches those capabilities by scripting over the ClientSDK via the two MCP tools that *are* exposed for sandboxed execution: `query_sdk` (read-only) and `run_sdk` (writes). The sandbox requires `isolated-vm` in the host process — if it isn't installed, `query_sdk` returns `{ success: false, error: { name: 'RuntimeUnavailable', ... } }` and this layer surfaces it to the agent as a clear error instead of returning empty results.
44
+
45
+ | Compat tool | Backed by | Notes |
46
+ | --- | --- | --- |
47
+ | `wiki_status` | `query_sdk` (`client.watchers.list`) + `search_memory` probe | Reports `corpus = memory \| wiki \| all`, watcher count, MCP reachability. The SDK probe failure is caught internally so status itself always returns. |
48
+ | `wiki_search` | `search_memory` for `corpus=memory`; `query_sdk` running a single SDK script that fans out to `client.watchers.list` + `client.knowledge.read({ semantic_type: 'claim' })` + `client.knowledge.read({ semantic_type: 'synthesis' })` for `corpus=wiki`; merges both for `corpus=all` | Short queries (<3 chars) embed `includeContent=false` so the SDK script skips the knowledge calls. |
49
+ | `wiki_get` | `query_sdk` running `client.watchers.get` / `client.knowledge.read({ window_id })` / `client.knowledge.read({ content_ids })` / `client.knowledge.read({ query })` | Lookup parser accepts `event:123`, `watcher:7`, `window:9`, `reports/watchers/4`, or a free-text query. |
50
+ | `wiki_apply` | `save_memory` (MCP) for `create_synthesis`; `run_sdk` running `client.watchers.submitFeedback` for `update_metadata` with `watcher_id`/`window_id`/`corrections`; `save_memory` claim fallback otherwise | Corrections must contain `field_path`; empty or malformed arrays throw before MCP is called. |
51
+ | `wiki_lint` | In-plugin session ring buffer (cap 32) | Warns when `wiki_apply` was called with no evidence, when `status=active` confidence is below `0.5`, and when a wiki/memory search returned zero results. |
52
+ | `memory_search`, `memory_get` | `search_memory` (MCP); `query_sdk` running `client.knowledge.read` | OpenClaw-named aliases. `memory_search` does not route corpus — use `wiki_search` for that. |
53
+
54
+ `corpus` always means `memory | wiki | all` inside the agent's authenticated Lobu org. It is **not** an org/workspace selector.
55
+
56
+ ### Tracing the compatibility tools against a live Lobu
57
+
58
+ `scripts/lobu/run-memory-wiki-compat-trace.ts` exercises the compat layer against a running Lobu MCP and emits a markdown comparison alongside the baseline (raw `search_memory`/`read_knowledge`/`list_watchers`) calls:
59
+
60
+ ```bash
61
+ LOBU_MCP_URL=http://localhost:8787/mcp/<org-slug> \
62
+ LOBU_MCP_TOKEN=$BENCH_TOKEN \
63
+ bun run scripts/lobu/run-memory-wiki-compat-trace.ts
64
+ ```
65
+
66
+ The script writes `.lobu/benchmarks/memory/wiki-compat-trace.{md,json}`. It captures tool-surface differences (fan-out, latency, error shape) rather than retrieval recall — the existing retrieval-only benchmark in `packages/server/src/benchmarks/memory/` would show no difference between compat-on and compat-off, since both paths fetch the same underlying records.
67
+
38
68
  ## License
39
69
 
40
70
  BUSL-1.1. See the repository [LICENSE](../../LICENSE).
package/dist/index.d.ts CHANGED
@@ -1,3 +1,13 @@
1
+ export declare const KNOWN_MCP_TOOL_NAMES: Set<string>;
2
+ export declare const LOGIN_TOOL_NAMES: readonly ["lobu_login", "lobu_login_check"];
3
+ /**
4
+ * Run `work` with a hard wall-clock deadline. On timeout, the supplied
5
+ * `AbortSignal` is aborted (so an in-flight `fetch` cancels instead of
6
+ * lingering) and `onTimeout` is returned regardless of what is still pending.
7
+ * `work` is responsible for swallowing its own rejections; if it rejects after
8
+ * the deadline, the rejection is observed and ignored.
9
+ */
10
+ export declare function runWithAbortDeadline<T>(work: (signal: AbortSignal) => Promise<T>, timeoutMs: number, onTimeout: T): Promise<T>;
1
11
  declare const plugin: {
2
12
  id: string;
3
13
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA67BA,QAAA,MAAM,MAAM;;;;;kBAKI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAmiBtC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,oBAAoB,aAQ/B,CAAC;AAGH,eAAO,MAAM,gBAAgB,6CAA8C,CAAC;AAO5E;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EACzC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,CAAC,GACX,OAAO,CAAC,CAAC,CAAC,CAeZ;AAi7BD,QAAA,MAAM,MAAM;;;;;kBAKI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA2etC,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -7,6 +7,52 @@ import { promisify } from 'node:util';
7
7
  import { renderFallbackSystemContext } from './lobu-guidance.js';
8
8
  const AUTH_REQUIRED_MSG = 'Lobu memory is not connected. Call the lobu_login tool to authenticate, then show the user the login URL and code. After the user completes login in their browser, call lobu_login_check to finish authentication.';
9
9
  const DEFAULT_RECALL_LIMIT = 6;
10
+ // Lobu MCP server tools exposed via `tools/list` (see packages/server/src/tools/registry.ts).
11
+ // Each is registered with OpenClaw as `lobu_<name>`. OpenClaw 2026.5.x requires every
12
+ // runtime-registered tool to appear in `contracts.tools` in openclaw.plugin.json — keep the
13
+ // `lobu_*` entries there in sync with this set (a unit test enforces it). Server tools not
14
+ // listed here are skipped rather than registered (and rejected) until this plugin is updated
15
+ // to declare them.
16
+ export const KNOWN_MCP_TOOL_NAMES = new Set([
17
+ 'search_memory',
18
+ 'save_memory',
19
+ 'list_organizations',
20
+ 'search_sdk',
21
+ 'query_sdk',
22
+ 'query_sql',
23
+ 'run_sdk',
24
+ ]);
25
+ // Auth tools the plugin always registers in standalone mode (see register()).
26
+ export const LOGIN_TOOL_NAMES = ['lobu_login', 'lobu_login_check'];
27
+ // `before_prompt_build` / `before_agent_start` run inside OpenClaw's hook budget
28
+ // (~15s) — a slow `search_memory` must not blow that. Bound the recall round-trip
29
+ // well under it and degrade to "no recall" rather than letting OpenClaw kill the hook.
30
+ const RECALL_TIMEOUT_MS = 8_000;
31
+ /**
32
+ * Run `work` with a hard wall-clock deadline. On timeout, the supplied
33
+ * `AbortSignal` is aborted (so an in-flight `fetch` cancels instead of
34
+ * lingering) and `onTimeout` is returned regardless of what is still pending.
35
+ * `work` is responsible for swallowing its own rejections; if it rejects after
36
+ * the deadline, the rejection is observed and ignored.
37
+ */
38
+ export async function runWithAbortDeadline(work, timeoutMs, onTimeout) {
39
+ const controller = new AbortController();
40
+ let timer;
41
+ const deadline = new Promise((resolveDeadline) => {
42
+ timer = setTimeout(() => {
43
+ controller.abort();
44
+ resolveDeadline(onTimeout);
45
+ }, timeoutMs);
46
+ });
47
+ const guarded = work(controller.signal).catch(() => onTimeout);
48
+ try {
49
+ return await Promise.race([guarded, deadline]);
50
+ }
51
+ finally {
52
+ if (timer)
53
+ clearTimeout(timer);
54
+ }
55
+ }
10
56
  // Minimal fallback context used before the workspace instructions are fetched.
11
57
  // Initialized lazily per mode (gateway vs standalone) in register().
12
58
  let FALLBACK_SYSTEM_CONTEXT = null;
@@ -37,7 +83,7 @@ let mcpSessionId = null;
37
83
  const MCP_PROTOCOL_VERSION = '2025-03-26';
38
84
  // Make an MCP JSON-RPC request with session management.
39
85
  // Server returns plain JSON when Accept doesn't include text/event-stream.
40
- async function mcpFetch(url, body, extraHeaders) {
86
+ async function mcpFetch(url, body, extraHeaders, signal) {
41
87
  const headers = {
42
88
  'Content-Type': 'application/json',
43
89
  Accept: 'application/json',
@@ -50,6 +96,7 @@ async function mcpFetch(url, body, extraHeaders) {
50
96
  method: 'POST',
51
97
  headers,
52
98
  body: JSON.stringify(body),
99
+ signal,
53
100
  });
54
101
  const newSessionId = response.headers.get('mcp-session-id');
55
102
  if (newSessionId) {
@@ -261,55 +308,6 @@ function hasAuthConfigured(config) {
261
308
  function getWorkerToken() {
262
309
  return asString(process.env.WORKER_TOKEN);
263
310
  }
264
- async function gatewayDeviceAuthStart(gatewayAuthUrl) {
265
- const workerToken = getWorkerToken();
266
- if (!workerToken)
267
- throw new Error('WORKER_TOKEN not set');
268
- const response = await fetch(`${gatewayAuthUrl}/internal/device-auth/start`, {
269
- method: 'POST',
270
- headers: {
271
- 'Content-Type': 'application/json',
272
- Authorization: `Bearer ${workerToken}`,
273
- },
274
- body: JSON.stringify({ mcpId: 'lobu' }),
275
- });
276
- if (!response.ok) {
277
- const errText = await response.text();
278
- throw new Error(`Gateway device auth start failed: ${errText}`);
279
- }
280
- return (await response.json());
281
- }
282
- async function gatewayDeviceAuthPoll(gatewayAuthUrl) {
283
- const workerToken = getWorkerToken();
284
- if (!workerToken)
285
- throw new Error('WORKER_TOKEN not set');
286
- const response = await fetch(`${gatewayAuthUrl}/internal/device-auth/poll`, {
287
- method: 'POST',
288
- headers: {
289
- 'Content-Type': 'application/json',
290
- Authorization: `Bearer ${workerToken}`,
291
- },
292
- body: JSON.stringify({ mcpId: 'lobu' }),
293
- });
294
- return (await response.json());
295
- }
296
- async function gatewayDeviceAuthCheck(gatewayAuthUrl) {
297
- const workerToken = getWorkerToken();
298
- if (!workerToken)
299
- return false;
300
- try {
301
- const response = await fetch(`${gatewayAuthUrl}/internal/device-auth/status?mcpId=lobu`, {
302
- headers: { Authorization: `Bearer ${workerToken}` },
303
- });
304
- if (!response.ok)
305
- return false;
306
- const data = (await response.json());
307
- return !!data.authenticated;
308
- }
309
- catch {
310
- return false;
311
- }
312
- }
313
311
  function clearSessionTokens() {
314
312
  sessionToken = null;
315
313
  _sessionRefreshToken = null;
@@ -443,6 +441,75 @@ async function pollDeviceLogin(state) {
443
441
  const desc = typeof data.error_description === 'string' ? data.error_description : error;
444
442
  return { status: 'error', message: desc || 'Unknown error during login' };
445
443
  }
444
+ /**
445
+ * Synchronous variant of {@link tryRefreshToken}, used at plugin `register()`
446
+ * time before the worker daemon is spawned. The daemon reads `WORKER_API_TOKEN`
447
+ * from its env once at process start, so a lazy refresh in `callMcpTool` (which
448
+ * only updates the in-process `sessionToken`) wouldn't reach it — we must hand
449
+ * the daemon a fresh token up front. Runs the refresh in a short-lived `node -e`
450
+ * subprocess; the OAuth params are passed via env vars, never interpolated into
451
+ * the script source.
452
+ */
453
+ function refreshStoredTokenSync(mcpUrl) {
454
+ if (!_sessionRefreshToken || !sessionClientId || !sessionIssuer)
455
+ return;
456
+ const body = {
457
+ grant_type: 'refresh_token',
458
+ client_id: sessionClientId,
459
+ refresh_token: _sessionRefreshToken,
460
+ };
461
+ if (sessionClientSecret)
462
+ body.client_secret = sessionClientSecret;
463
+ const script = `
464
+ async function run() {
465
+ const r = await fetch(process.env.__TOKEN_URL, {
466
+ method: 'POST',
467
+ headers: { 'Content-Type': 'application/json' },
468
+ body: process.env.__TOKEN_BODY,
469
+ });
470
+ if (!r.ok) return;
471
+ const d = await r.json();
472
+ process.stdout.write(JSON.stringify({ access_token: d.access_token, refresh_token: d.refresh_token }));
473
+ }
474
+ run().catch(() => {});
475
+ `;
476
+ try {
477
+ const out = spawnSync('node', ['-e', script], {
478
+ timeout: 10_000,
479
+ stdio: ['pipe', 'pipe', 'pipe'],
480
+ env: {
481
+ ...process.env,
482
+ __TOKEN_URL: `${sessionIssuer}/oauth/token`,
483
+ __TOKEN_BODY: JSON.stringify(body),
484
+ },
485
+ })
486
+ .stdout?.toString()
487
+ .trim();
488
+ if (!out)
489
+ return;
490
+ const tokens = JSON.parse(out);
491
+ if (typeof tokens.access_token !== 'string')
492
+ return;
493
+ sessionToken = tokens.access_token;
494
+ if (typeof tokens.refresh_token === 'string')
495
+ _sessionRefreshToken = tokens.refresh_token;
496
+ try {
497
+ saveStoredSession(mcpUrl, {
498
+ issuer: sessionIssuer,
499
+ clientId: sessionClientId,
500
+ clientSecret: sessionClientSecret,
501
+ refreshToken: _sessionRefreshToken,
502
+ accessToken: sessionToken,
503
+ });
504
+ }
505
+ catch {
506
+ // Best-effort persist.
507
+ }
508
+ }
509
+ catch {
510
+ // Best-effort refresh — fall back to the persisted (possibly stale) token.
511
+ }
512
+ }
446
513
  async function tryRefreshToken(mcpUrl) {
447
514
  if (!_sessionRefreshToken || !sessionClientId || !sessionIssuer)
448
515
  return false;
@@ -525,12 +592,15 @@ async function reinitializeMcpSession(config) {
525
592
  return false;
526
593
  }
527
594
  }
528
- async function callMcpTool(config, toolName, args) {
595
+ async function callMcpTool(config, toolName, args, options) {
529
596
  if (!config.mcpUrl)
530
597
  return null;
531
598
  const token = await resolveAuthToken(config);
532
599
  const rpcId = `${Date.now()}-${Math.random().toString(16).slice(2)}`;
533
600
  const authHeaders = { ...config.headers };
601
+ if (options?.rawJson) {
602
+ authHeaders['X-MCP-Format'] = 'json';
603
+ }
534
604
  if (token) {
535
605
  authHeaders.Authorization = `Bearer ${token}`;
536
606
  }
@@ -542,7 +612,7 @@ async function callMcpTool(config, toolName, args) {
542
612
  };
543
613
  let result;
544
614
  try {
545
- result = await mcpFetch(config.mcpUrl, rpcBody, authHeaders);
615
+ result = await mcpFetch(config.mcpUrl, rpcBody, authHeaders, options?.signal);
546
616
  }
547
617
  catch (err) {
548
618
  throw new Error(`MCP fetch failed: ${err instanceof Error ? err.message : String(err)}`);
@@ -554,7 +624,7 @@ async function callMcpTool(config, toolName, args) {
554
624
  if (refreshed && sessionToken) {
555
625
  authHeaders.Authorization = `Bearer ${sessionToken}`;
556
626
  const retryBody = { ...rpcBody, id: `${rpcId}-retry` };
557
- const retry = await mcpFetch(config.mcpUrl, retryBody, authHeaders);
627
+ const retry = await mcpFetch(config.mcpUrl, retryBody, authHeaders, options?.signal);
558
628
  data = retry.data;
559
629
  response = retry.response;
560
630
  }
@@ -572,7 +642,7 @@ async function callMcpTool(config, toolName, args) {
572
642
  const newSession = await reinitializeMcpSession(config);
573
643
  if (newSession) {
574
644
  const retryBody = { ...rpcBody, id: `${rpcId}-reinit` };
575
- const retry = await mcpFetch(config.mcpUrl, retryBody, authHeaders);
645
+ const retry = await mcpFetch(config.mcpUrl, retryBody, authHeaders, options?.signal);
576
646
  data = retry.data;
577
647
  response = retry.response;
578
648
  }
@@ -727,7 +797,12 @@ function registerMcpTools(config, registerTool, log) {
727
797
  log.warn('lobu: no MCP tools found (or fetch failed)');
728
798
  return;
729
799
  }
800
+ let registered = 0;
730
801
  for (const tool of tools) {
802
+ if (!KNOWN_MCP_TOOL_NAMES.has(tool.name)) {
803
+ log.warn(`lobu: MCP server exposes tool "${tool.name}" not declared in contracts.tools; skipping. Update @lobu/openclaw-plugin to register it.`);
804
+ continue;
805
+ }
731
806
  registerTool({
732
807
  name: `lobu_${tool.name}`,
733
808
  label: tool.name.replace(/_/g, ' '),
@@ -738,8 +813,9 @@ function registerMcpTools(config, registerTool, log) {
738
813
  return { content: result?.content ?? [], details: {} };
739
814
  },
740
815
  });
816
+ registered++;
741
817
  }
742
- log.info(`lobu: registered ${tools.length} MCP tools`);
818
+ log.info(`lobu: registered ${registered} MCP tools`);
743
819
  }
744
820
  const plugin = {
745
821
  id: 'openclaw-lobu',
@@ -774,57 +850,11 @@ const plugin = {
774
850
  sessionClientId = stored.clientId || null;
775
851
  sessionClientSecret = stored.clientSecret || null;
776
852
  sessionIssuer = stored.issuer || null;
777
- // Proactively refresh the token — the persisted access token may be expired
778
- if (_sessionRefreshToken && sessionIssuer && sessionClientId) {
779
- try {
780
- const body = {
781
- grant_type: 'refresh_token',
782
- client_id: sessionClientId,
783
- refresh_token: _sessionRefreshToken,
784
- };
785
- if (sessionClientSecret)
786
- body.client_secret = sessionClientSecret;
787
- // spawnSync imported at top-level (ESM-safe)
788
- const scriptCode = [
789
- 'async function run() {',
790
- ` const r = await fetch(${JSON.stringify(sessionIssuer + '/oauth/token')}, {`,
791
- ' method: "POST",',
792
- ' headers: { "Content-Type": "application/json" },',
793
- ` body: ${JSON.stringify(JSON.stringify(body))},`,
794
- ' });',
795
- ' if (!r.ok) return;',
796
- ' const d = await r.json();',
797
- ' process.stdout.write(JSON.stringify({ access_token: d.access_token, refresh_token: d.refresh_token }));',
798
- '}',
799
- 'run().catch(() => {});',
800
- ].join('\n');
801
- const proc = spawnSync('node', ['-e', scriptCode], {
802
- timeout: 10_000,
803
- stdio: ['pipe', 'pipe', 'pipe'],
804
- });
805
- const out = proc.stdout?.toString().trim() ?? '';
806
- if (out) {
807
- const tokens = JSON.parse(out);
808
- if (tokens.access_token) {
809
- sessionToken = tokens.access_token;
810
- if (tokens.refresh_token)
811
- _sessionRefreshToken = tokens.refresh_token;
812
- saveStoredSession(config.mcpUrl, {
813
- issuer: sessionIssuer,
814
- clientId: sessionClientId,
815
- clientSecret: sessionClientSecret,
816
- refreshToken: _sessionRefreshToken,
817
- accessToken: sessionToken,
818
- });
819
- log.info('lobu: refreshed expired access token');
820
- }
821
- }
822
- }
823
- catch (refreshErr) {
824
- log.warn(`lobu: token refresh failed: ${refreshErr instanceof Error ? refreshErr.message : String(refreshErr)}`);
825
- }
826
- }
827
- // Auto-start worker daemon with (possibly refreshed) token
853
+ // The persisted access token may be expired — refresh it before
854
+ // spawning the daemon, which captures WORKER_API_TOKEN at process start
855
+ // and won't see a later lazy refresh from callMcpTool.
856
+ refreshStoredTokenSync(config.mcpUrl);
857
+ // Auto-start worker daemon with the (possibly refreshed) token
828
858
  spawnWorkerDaemon(config.mcpUrl, sessionToken, log);
829
859
  }
830
860
  }
@@ -844,43 +874,6 @@ const plugin = {
844
874
  },
845
875
  execute: async () => {
846
876
  try {
847
- // Gateway mode: delegate to gateway device-auth endpoints
848
- if (config.gatewayAuthUrl) {
849
- // Check if already authenticated via gateway
850
- const alreadyAuth = await gatewayDeviceAuthCheck(config.gatewayAuthUrl);
851
- if (alreadyAuth) {
852
- return {
853
- content: [
854
- {
855
- type: 'text',
856
- text: JSON.stringify({
857
- status: 'already_authenticated',
858
- message: "You are already authenticated with Lobu. Do NOT call lobu_login again. Proceed directly with the user's request using the available lobu tools.",
859
- }),
860
- },
861
- ],
862
- details: {},
863
- };
864
- }
865
- const started = await gatewayDeviceAuthStart(config.gatewayAuthUrl);
866
- return {
867
- content: [
868
- {
869
- type: 'text',
870
- text: JSON.stringify({
871
- status: 'login_started',
872
- message: 'Open this URL in your browser and enter the code to connect Lobu:',
873
- verification_url: started.verificationUriComplete || started.verificationUri,
874
- user_code: started.userCode,
875
- expires_in_seconds: started.expiresIn,
876
- next_step: 'After the user completes login in their browser, call lobu_login_check to finish authentication.',
877
- }),
878
- },
879
- ],
880
- details: {},
881
- };
882
- }
883
- // Standalone mode: direct device flow
884
877
  if (sessionToken) {
885
878
  return {
886
879
  content: [
@@ -940,57 +933,6 @@ const plugin = {
940
933
  },
941
934
  execute: async () => {
942
935
  try {
943
- // Gateway mode: poll gateway for completion
944
- if (config.gatewayAuthUrl) {
945
- const result = await gatewayDeviceAuthPoll(config.gatewayAuthUrl);
946
- if (result.status === 'complete') {
947
- log.info('lobu: gateway device auth completed');
948
- // Fetch workspace instructions now that we're authenticated
949
- if (!cachedWorkspaceInstructions) {
950
- fetchWorkspaceInstructions(config, log);
951
- }
952
- return {
953
- content: [
954
- {
955
- type: 'text',
956
- text: JSON.stringify({
957
- status: 'authenticated',
958
- message: 'Lobu login successful! Memory tools are now available for this session.',
959
- }),
960
- },
961
- ],
962
- details: {},
963
- };
964
- }
965
- if (result.status === 'pending') {
966
- return {
967
- content: [
968
- {
969
- type: 'text',
970
- text: JSON.stringify({
971
- status: 'pending',
972
- message: 'Waiting for user to approve in browser...',
973
- next_step: 'Wait a few seconds, then call lobu_login_check again.',
974
- }),
975
- },
976
- ],
977
- details: {},
978
- };
979
- }
980
- return {
981
- content: [
982
- {
983
- type: 'text',
984
- text: JSON.stringify({
985
- status: 'error',
986
- message: result.message || 'Device auth failed',
987
- }),
988
- },
989
- ],
990
- details: {},
991
- };
992
- }
993
- // Standalone mode: direct device flow polling
994
936
  if (!activeDeviceLogin) {
995
937
  return {
996
938
  content: [
@@ -1105,10 +1047,7 @@ const plugin = {
1105
1047
  const getSystemContext = () => cachedWorkspaceInstructions
1106
1048
  ? `<lobu-system>\n${cachedWorkspaceInstructions}\n</lobu-system>`
1107
1049
  : FALLBACK_SYSTEM_CONTEXT;
1108
- const doRecall = async (query) => {
1109
- if (!config.autoRecall || !hasAuthConfigured(config)) {
1110
- return '';
1111
- }
1050
+ const recallOnce = async (query, signal) => {
1112
1051
  try {
1113
1052
  const result = await callMcpTool(config, 'search_memory', {
1114
1053
  query,
@@ -1116,7 +1055,7 @@ const plugin = {
1116
1055
  content_limit: config.recallLimit,
1117
1056
  include_connections: false,
1118
1057
  limit: 3,
1119
- });
1058
+ }, { signal });
1120
1059
  if (!result)
1121
1060
  return '';
1122
1061
  const text = extractTextFromContent(result.content);
@@ -1129,13 +1068,39 @@ const plugin = {
1129
1068
  '\n</lobu-memory>');
1130
1069
  }
1131
1070
  catch (err) {
1132
- if (err instanceof LobuAuthError) {
1071
+ if (err instanceof LobuAuthError)
1072
+ return '';
1073
+ if (signal.aborted ||
1074
+ (err instanceof Error && (err.name === 'AbortError' || err.name === 'TimeoutError'))) {
1075
+ log.warn(`lobu recall skipped: search_memory exceeded ${RECALL_TIMEOUT_MS}ms`);
1133
1076
  return '';
1134
1077
  }
1135
1078
  log.error(`lobu recall failed: ${err instanceof Error ? err.message : String(err)}`);
1136
1079
  return '';
1137
1080
  }
1138
1081
  };
1082
+ // Hard-bound the recall round-trip so it can never blow OpenClaw's hook
1083
+ // budget: abort the in-flight MCP fetch at RECALL_TIMEOUT_MS and degrade
1084
+ // to "no recall" no matter what is still pending (token command, network).
1085
+ //
1086
+ // OpenClaw fires both `before_prompt_build` and `before_agent_start` for
1087
+ // a turn (often back-to-back with the same prompt text). Memoize the last
1088
+ // (query → recallBlock) so the second event is a free cache hit instead
1089
+ // of a second `search_memory` round-trip.
1090
+ let lastRecallQuery = null;
1091
+ let lastRecallBlock = '';
1092
+ const doRecall = async (query) => {
1093
+ if (!config.autoRecall || !hasAuthConfigured(config)) {
1094
+ return '';
1095
+ }
1096
+ if (query === lastRecallQuery) {
1097
+ return lastRecallBlock;
1098
+ }
1099
+ const block = await runWithAbortDeadline((signal) => recallOnce(query, signal), RECALL_TIMEOUT_MS, '');
1100
+ lastRecallQuery = query;
1101
+ lastRecallBlock = block;
1102
+ return block;
1103
+ };
1139
1104
  const buildPrependContext = (recallBlock) => ({
1140
1105
  prependContext: getSystemContext() + (recallBlock ? '\n' + recallBlock : ''),
1141
1106
  });
@@ -1187,39 +1152,60 @@ const plugin = {
1187
1152
  }
1188
1153
  if (config.autoCapture) {
1189
1154
  let lastCapturedLen = 0;
1190
- on('before_prompt_build', async (event) => {
1155
+ const messageText = (m) => {
1156
+ if (!isRecord(m))
1157
+ return '';
1158
+ if (typeof m.content === 'string')
1159
+ return m.content;
1160
+ if (Array.isArray(m.content)) {
1161
+ return m.content
1162
+ .filter((p) => isRecord(p) && p.type === 'text')
1163
+ .map((p) => (isRecord(p) && typeof p.text === 'string' ? p.text : ''))
1164
+ .join('\n');
1165
+ }
1166
+ return '';
1167
+ };
1168
+ // Run on `agent_end` — the turn is complete and `messages` ends with the
1169
+ // assistant reply. (The worker's plugin-loader only honors
1170
+ // before_agent_start / agent_end; a before_prompt_build registration was
1171
+ // silently dropped, so autoCapture never ran inside Lobu.)
1172
+ on('agent_end', async (event) => {
1191
1173
  if (!hasAuthConfigured(config))
1192
1174
  return;
1193
1175
  const messages = event.messages;
1194
1176
  if (!Array.isArray(messages) || messages.length < 2)
1195
1177
  return;
1196
- // Only capture when new messages appeared since last capture
1197
1178
  if (messages.length <= lastCapturedLen)
1198
1179
  return;
1199
- // Find the most recent assistant+user pair (the previous turn)
1200
- let lastUser = null;
1201
- let lastAssistant = null;
1180
+ // Find the last assistant message, then the user message immediately
1181
+ // before it — pairing the answer with the question that prompted it
1182
+ // (not a trailing unanswered user message with the previous reply).
1183
+ let assistantIdx = -1;
1202
1184
  for (let i = messages.length - 1; i >= 0; i--) {
1203
- const m = messages[i];
1204
- if (!isRecord(m))
1205
- continue;
1206
- const text = typeof m.content === 'string'
1207
- ? m.content
1208
- : Array.isArray(m.content)
1209
- ? m.content
1210
- .filter((p) => isRecord(p) && p.type === 'text')
1211
- .map((p) => (isRecord(p) && typeof p.text === 'string' ? p.text : ''))
1212
- .join('\n')
1213
- : '';
1214
- if (!text.trim())
1215
- continue;
1216
- if (m.role === 'assistant' && !lastAssistant)
1217
- lastAssistant = text.trim();
1218
- if (m.role === 'user' && !lastUser)
1219
- lastUser = text.trim();
1220
- if (lastUser && lastAssistant)
1221
- break;
1185
+ if (isRecord(messages[i]) && messages[i].role === 'assistant') {
1186
+ const t = messageText(messages[i]);
1187
+ if (t.trim()) {
1188
+ assistantIdx = i;
1189
+ break;
1190
+ }
1191
+ }
1222
1192
  }
1193
+ if (assistantIdx < 1)
1194
+ return;
1195
+ let userIdx = -1;
1196
+ for (let i = assistantIdx - 1; i >= 0; i--) {
1197
+ if (isRecord(messages[i]) && messages[i].role === 'user') {
1198
+ const t = messageText(messages[i]);
1199
+ if (t.trim()) {
1200
+ userIdx = i;
1201
+ break;
1202
+ }
1203
+ }
1204
+ }
1205
+ if (userIdx < 0)
1206
+ return;
1207
+ const lastUser = messageText(messages[userIdx]).trim();
1208
+ const lastAssistant = messageText(messages[assistantIdx]).trim();
1223
1209
  if (!lastUser || !lastAssistant)
1224
1210
  return;
1225
1211
  const combined = `User: ${lastUser}\nAssistant: ${lastAssistant}`;
@@ -1227,7 +1213,7 @@ const plugin = {
1227
1213
  return;
1228
1214
  lastCapturedLen = messages.length;
1229
1215
  const content = combined.length > 2000 ? combined.slice(0, 2000) : combined;
1230
- // Fire-and-forget — don't block prompt build
1216
+ // Fire-and-forget — don't block the agent_end path.
1231
1217
  callMcpTool(config, 'save_memory', {
1232
1218
  content,
1233
1219
  semantic_type: 'observation',
@@ -1238,6 +1224,40 @@ const plugin = {
1238
1224
  });
1239
1225
  }
1240
1226
  log.info(`lobu: initialized (configured=${!!config.mcpUrl}, token=${!!config.token}, tokenCommand=${!!config.tokenCommand}, tools=${!!registerTool})`);
1227
+ // OpenClaw 2026.5.x only surfaces plugin tools to agents when the host's
1228
+ // tool-policy allowlist explicitly opts them in. With no `tools.*` section
1229
+ // in the OpenClaw config, `registerTool` calls succeed but the agent's
1230
+ // tool list silently excludes every lobu_*, wiki_*, and memory_* tool —
1231
+ // the plugin appears healthy in logs while the agent has no way to call it.
1232
+ // Detect this and shout, with a copy-pasteable fix.
1233
+ if (registerTool && config.mcpUrl) {
1234
+ const cfg = isRecord(api.config) ? api.config : {};
1235
+ const topTools = isRecord(cfg.tools) ? cfg.tools : null;
1236
+ const agentDefaults = isRecord(cfg.agents) && isRecord(cfg.agents.defaults)
1237
+ ? cfg.agents.defaults
1238
+ : null;
1239
+ const agentTools = agentDefaults && isRecord(agentDefaults.tools)
1240
+ ? agentDefaults.tools
1241
+ : null;
1242
+ const hasToolPolicy = (t) => !!t &&
1243
+ (typeof t.profile === 'string' ||
1244
+ (Array.isArray(t.allow) && t.allow.length > 0) ||
1245
+ (Array.isArray(t.alsoAllow) && t.alsoAllow.length > 0));
1246
+ if (!hasToolPolicy(topTools) && !hasToolPolicy(agentTools)) {
1247
+ log.warn('lobu: no tools.* policy detected in OpenClaw config. Plugin tools ' +
1248
+ '(lobu_*, wiki_*, memory_*) register successfully but may not ' +
1249
+ 'reach the agent on OpenClaw 2026.5.x — every plugin on the host ' +
1250
+ 'is gated the same way. The autoRecall hook and autoCapture hook ' +
1251
+ 'still write to Lobu in the background (they call MCP directly, ' +
1252
+ 'not via registered agent tools), so memory continues to flow; ' +
1253
+ 'only deliberate agent-driven tool calls during a conversation ' +
1254
+ 'are affected. We have tested tools.profile="full", ' +
1255
+ 'tools.allow with [group:plugins], [*], and explicit tool names, ' +
1256
+ 'and tools.alsoAllow variants — none surface plugin tools on ' +
1257
+ 'OpenClaw 2026.5.2. If you find a host config that works, please ' +
1258
+ 'file at https://github.com/lobu-ai/lobu/issues.');
1259
+ }
1260
+ }
1241
1261
  },
1242
1262
  };
1243
1263
  export default plugin;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,22 @@
1
1
  {
2
2
  "id": "openclaw-lobu",
3
+ "name": "Lobu",
3
4
  "kind": "memory",
4
5
  "description": "Lobu memory over MCP. Set mcpUrl to enable. Authentication via token, tokenCommand, or interactive device login.",
5
6
  "entry": "./dist/index.js",
7
+ "contracts": {
8
+ "tools": [
9
+ "lobu_login",
10
+ "lobu_login_check",
11
+ "lobu_search_memory",
12
+ "lobu_save_memory",
13
+ "lobu_list_organizations",
14
+ "lobu_search_sdk",
15
+ "lobu_query_sdk",
16
+ "lobu_query_sql",
17
+ "lobu_run_sdk"
18
+ ]
19
+ },
6
20
  "configSchema": {
7
21
  "type": "object",
8
22
  "additionalProperties": false,
@@ -1,8 +1,22 @@
1
1
  {
2
2
  "id": "openclaw-lobu",
3
+ "name": "Lobu",
3
4
  "kind": "memory",
4
5
  "description": "Lobu memory over MCP. Set mcpUrl to enable. Authentication via token, tokenCommand, or interactive device login.",
5
6
  "entry": "./dist/index.js",
7
+ "contracts": {
8
+ "tools": [
9
+ "lobu_login",
10
+ "lobu_login_check",
11
+ "lobu_search_memory",
12
+ "lobu_save_memory",
13
+ "lobu_list_organizations",
14
+ "lobu_search_sdk",
15
+ "lobu_query_sdk",
16
+ "lobu_query_sql",
17
+ "lobu_run_sdk"
18
+ ]
19
+ },
6
20
  "configSchema": {
7
21
  "type": "object",
8
22
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobu/openclaw-plugin",
3
- "version": "6.1.1",
3
+ "version": "7.0.0",
4
4
  "description": "Lobu memory plugin for OpenClaw",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -20,12 +20,19 @@
20
20
  "build": "tsc && cp ./openclaw.plugin.json ./dist/openclaw.plugin.json",
21
21
  "typecheck": "tsc --noEmit",
22
22
  "clean": "rm -rf dist",
23
- "test:e2e": "vitest run --config test/e2e/vitest.config.ts"
23
+ "test:e2e": "vitest run --config test/e2e/vitest.config.ts",
24
+ "test:unit": "vitest run --config test/unit/vitest.config.ts"
24
25
  },
25
26
  "openclaw": {
26
27
  "extensions": [
27
28
  "./dist/index.js"
28
- ]
29
+ ],
30
+ "compat": {
31
+ "pluginApi": ">=2026.4.0"
32
+ },
33
+ "build": {
34
+ "openclawVersion": "2026.5.7"
35
+ }
29
36
  },
30
37
  "devDependencies": {
31
38
  "@types/node": "^20.10.0",