Commit Graph

26921 Commits

Author SHA1 Message Date
Peter Steinberger
751423299b fix: keep heartbeat fallback cleanup scoped 2026-05-10 04:13:23 -04:00
Peter Steinberger
d61b07a321 fix: preserve chained fallback origin 2026-05-10 04:13:23 -04:00
Peter Steinberger
662b9d2f5d fix: clear stale heartbeat fallback overrides
Co-authored-by: bitloi <raphaelaloi.eth@gmail.com>
2026-05-10 04:13:23 -04:00
bitloi
ed6b030a43 feat(process): show input-wait hints in log and poll
Show input-wait hints in process log/poll for idle interactive background sessions, keep list markers and structured stdin metadata, and document the recovery flow through log plus existing input actions.

Docs: updated docs/gateway/background-process.md.

Verification:
- pnpm test src/agents/bash-tools.test.ts
- pnpm test src/agents/bash-tools.process.input-hints.test.ts
- pnpm test src/agents/bash-tools.process.input-hints.test.ts src/agents/bash-tools.process.poll-timeout.test.ts src/agents/bash-tools.process.supervisor.test.ts src/agents/bash-tools.process-send-keys.test.ts
- pnpm check:docs
- git diff --check
- CI on 4aea1f11fe: check, check-additional, check-docs, checks-node-core, process/security relevant shards, real behavior proof passed

Fixes #33957.
Thanks @bitloi and @vincentkoc.

Co-authored-by: bitloi <89318445+bitloi@users.noreply.github.com>
Co-authored-by: bitloi <raphaelaloi.eth@gmail.com>
2026-05-10 04:13:07 -04:00
Peter Steinberger
09132effa8 test: clear anthropic transport broad matchers 2026-05-10 09:06:47 +01:00
scoootscooob
e5fe9bdef0 fix: reread config on in-process gateway restart (#80161)
* fix: reread config on in-process gateway restart

* fix: refresh swift protocol model
2026-05-10 04:01:19 -04:00
Peter Steinberger
5bcc6337af test: clear sessions spawn tool broad matchers 2026-05-10 08:47:34 +01:00
Peter Steinberger
04a414de20 test: clear plugin loader broad matchers 2026-05-10 08:40:19 +01:00
Peter Steinberger
bc0a626164 test: clear image generate tool broad matchers 2026-05-10 08:29:13 +01:00
Peter Steinberger
8f4e9c841c refactor: isolate exec approval followup handoff 2026-05-10 08:25:15 +01:00
Peter Steinberger
15b26be8da fix: clean up tool search lint 2026-05-10 03:21:50 -04:00
Peter Steinberger
c6ef46d703 test: cover tool search compaction 2026-05-10 03:21:50 -04:00
Peter Steinberger
7a1a3ae2fe feat: wire tool search through PI runner 2026-05-10 03:21:50 -04:00
Peter Steinberger
93acb38159 feat: add PI tool search runtime 2026-05-10 03:21:50 -04:00
Peter Steinberger
09cffbdfbf fix(cli): avoid plugin allowlist hints for unknown commands
Co-authored-by: kagura-agent <kagura.agent.ai@gmail.com>
2026-05-10 03:21:11 -04:00
Peter Steinberger
036eb75a30 fix: normalize merged gemini model config 2026-05-10 08:20:10 +01:00
Peter Steinberger
1a2664e2ce test: clear restart sentinel broad matchers 2026-05-10 08:15:11 +01:00
Peter Steinberger
4643ec761b test: clear acp spawn broad matchers 2026-05-10 08:10:29 +01:00
Peter Steinberger
a25072535e test: clear btw broad matchers 2026-05-10 08:06:53 +01:00
Peter Steinberger
9e7acd4b2b fix: tighten stale plugin diagnostic registry checks (#80134) 2026-05-10 03:04:35 -04:00
hclsys
d160f82719 fix(doctor): invalidate persisted plugin registry when a diagnostic source path no longer exists
Closes #80087.

When a plugin was previously installed from ~/.openclaw/extensions/<id>/ but
that directory was later removed (replaced by an npm-managed install), the
persisted plugin registry JSON still carried the old "requires compiled runtime
output" WARN diagnostic whose `source` field pointed at the deleted path. On
subsequent `openclaw doctor` runs, the persisted snapshot passed all existing
staleness checks (the npm-loaded plugin was valid), so the stale diagnostic was
re-emitted verbatim — referencing a directory that no longer existed.

Add `hasStalePersistedPluginDiagnostics`: if any diagnostic in the persisted
index has an absolute-path `source` that does not exist on disk, treat the
persisted snapshot as stale and fall back to a freshly derived index (which
will not reproduce the phantom warning). Includes a regression test that
constructs a persisted index carrying a ghost-path diagnostic, verifies the
derived path is taken, and confirms the stale diagnostic is absent from the
fresh snapshot.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 03:04:35 -04:00
Peter Steinberger
47155ae169 test: clear gateway tool broad matchers 2026-05-10 08:02:57 +01:00
Peter Steinberger
be9b083806 test: clear overflow compaction broad matchers 2026-05-10 08:00:24 +01:00
Peter Steinberger
421cdd4737 test: clear acp command broad matchers 2026-05-10 07:57:29 +01:00
Peter Steinberger
c6dcf9b37a fix(media): allow common host-read archives 2026-05-10 07:53:21 +01:00
Peter Steinberger
a7797da068 test: resolve elevated followup rebase 2026-05-10 02:50:37 -04:00
bitloi
6ee55398e5 Preserve elevated exec followup defaults 2026-05-10 02:50:37 -04:00
Peter Steinberger
48cfb77e9b test: clear talk realtime relay broad matchers 2026-05-10 07:48:21 +01:00
Peter Steinberger
9160155902 fix(cron): delay cli model-start phase 2026-05-10 02:47:34 -04:00
Peter Steinberger
5b3e2497bd fix(cron): diagnose isolated pre-model stalls 2026-05-10 02:47:34 -04:00
Peter Steinberger
d5c094f169 fix(models): include auth catalog rows in configured list 2026-05-10 07:45:39 +01:00
Peter Steinberger
d8640a847b test: clear agents mutate broad matchers 2026-05-10 07:44:44 +01:00
Peter Steinberger
9a1f6ab7f8 test: clear plugin provider broad matchers 2026-05-10 07:41:31 +01:00
Peter Steinberger
59fd3e6481 test: clear subagent announce broad matchers 2026-05-10 07:38:16 +01:00
Peter Steinberger
314ab1e936 fix(models): keep keyref auth visible to discovery 2026-05-10 07:37:12 +01:00
Peter Steinberger
47326513d2 test: clear agent server method broad matchers 2026-05-10 07:35:43 +01:00
Peter Steinberger
b2bc1e9a56 test: clear talk server method broad matchers 2026-05-10 07:27:47 +01:00
Vincent Koc
5c844bea88 Merge branch 'main' of https://github.com/openclaw/openclaw
* 'main' of https://github.com/openclaw/openclaw:
  fix(config): persist explicit default values
  fix(google): default gemini onboarding to 3.1 pro
2026-05-10 14:26:55 +08:00
Peter Steinberger
2e400c5b76 fix(config): persist explicit default values
Fixes #79856.

Preserves explicitly set config values that equal runtime defaults across CLI set/patch, exported config writes, object paths, array-index paths, and normalized model paths. Rejects default-equal explicit writes under include-owned config instead of reporting a no-op success.

Co-authored-by: hclsys <hclsys@users.noreply.github.com>
2026-05-10 02:24:39 -04:00
Peter Steinberger
b27bae3a73 fix(google): default gemini onboarding to 3.1 pro 2026-05-10 07:24:03 +01:00
Vincent Koc
0eb6848c7c fix(plugins): explain disabled CLI command roots 2026-05-10 14:23:15 +08:00
Vincent Koc
89960cfcc9 fix(channels): keep guided add quiet before selection 2026-05-10 14:23:15 +08:00
Vincent Koc
be2f333e6f fix(cli): clarify terminal recovery errors 2026-05-10 14:23:15 +08:00
Peter Steinberger
acd882bde0 test: clear compact hooks broad matchers 2026-05-10 07:21:33 +01:00
Peter Steinberger
de186a8b66 fix(security): honor model tool denies in audit 2026-05-10 07:21:23 +01:00
MkDev11
e37a3050d9 fix(agents): clean false-live session locks (#76854)
Summary:
- Clean false-live session locks whose live PID resolves to a non-OpenClaw owner.
- Tighten owner argv detection so generic JS entrypoints require an OpenClaw command token.
- Add regression coverage for generic non-OpenClaw entrypoints and preserve real gateway argv.

Verification:
- pnpm test src/agents/session-write-lock.test.ts src/commands/doctor-session-locks.test.ts
- pnpm test src/infra/gateway-process-argv.test.ts
- pnpm exec oxfmt --check --threads=1 src/agents/session-write-lock.ts src/agents/session-write-lock.test.ts src/commands/doctor-session-locks.ts src/commands/doctor-session-locks.test.ts docs/gateway/doctor.md CHANGELOG.md
- node scripts/run-oxlint.mjs src/agents/session-write-lock.ts src/agents/session-write-lock.test.ts src/commands/doctor-session-locks.ts src/commands/doctor-session-locks.test.ts
- CI workflow success on d42f9c46ef

Co-authored-by: mkdev11 <MkDev11@users.noreply.github.com>
2026-05-10 02:13:55 -04:00
Jeff
c919702b8f fix(moonshot): resolve moonshotai direct model refs
Summary:
- accept `moonshotai` and `moonshot-ai` as direct Moonshot provider aliases at runtime
- expose both aliases in the Moonshot manifest catalog
- add resolver/catalog regression coverage for #73876

Verification:
- `pnpm test src/agents/model-selection.test.ts src/agents/pi-embedded-runner/model.test.ts src/model-catalog/manifest-planner.test.ts`
- `pnpm test src/plugins/contracts/plugin-registration.moonshot.contract.test.ts`
- `git diff --check`
- `OPENCLAW_TESTBOX=0 pnpm check:changed`
2026-05-10 02:12:13 -04:00
Peter Steinberger
9dc5738bb5 test: clear host hook contract broad matchers 2026-05-10 07:10:06 +01:00
Peter Steinberger
a9a70b6e60 fix(cron): allow self-scoped runs inspection
Co-authored-by: hclsys <hclsys@openclaw.ai>
2026-05-10 02:05:31 -04:00
bitking
be22a541ce fix(agents): reject blank model tool names before dispatch
Summary:
- Preserve id-based tool-name recovery for blank streamed calls.
- Reject final unrecoverable blank tool names before dispatch instead of inventing a callable `_blank` tool.
- Keep unrecoverable blank replay calls pruned.

Verification:
- pnpm test src/agents/pi-embedded-runner/run/attempt.test.ts src/agents/openai-transport-stream.test.ts
- git diff --check
- OPENCLAW_TESTBOX=0 pnpm check:changed

Fixes #34129.
Thanks @smartchainark.
2026-05-10 02:05:23 -04:00