Commit Graph

40811 Commits

Author SHA1 Message Date
Peter Steinberger
5d09b4b92c feat(agents): add tool progress detail modes 2026-05-04 01:35:27 +01:00
Peter Steinberger
0fa70f5a47 fix: keep bootstrap context in system prompt
Keep pending BOOTSTRAP.md and bootstrap truncation notices in system-prompt Project Context instead of WebChat/runtime user context. Preserve bootstrap instructions when systemPromptOverride is configured.
2026-05-04 01:34:04 +01:00
Peter Steinberger
57b2d29761 feat(qa): add Mantis desktop browser smoke 2026-05-04 01:30:20 +01:00
Peter Steinberger
9c37cfcbdb fix: harden gateway install recovery paths 2026-05-04 01:28:17 +01:00
Vincent Koc
9799e412f8 fix(plugins): clean pinned externalized load paths 2026-05-03 17:27:18 -07:00
Peter Steinberger
b13e9f1864 fix: stabilize Google Meet realtime talkback 2026-05-04 01:24:01 +01:00
Vincent Koc
c42a349b42 fix(plugins): trust official externalized npm installs 2026-05-03 17:20:47 -07:00
Vincent Koc
5f416f09f6 test(qa): accept Matrix read progress labels 2026-05-03 17:18:32 -07:00
Vincent Koc
f5927cbb43 fix(plugins): update trusted prerelease installs 2026-05-03 17:17:10 -07:00
Shadow
40b8d52240 chore: Update active PR limit to 20 2026-05-03 19:15:55 -05:00
Vincent Koc
443f7035a2 fix(plugins): filter unavailable optional tools 2026-05-03 17:10:41 -07:00
Peter Steinberger
c308d04bca test: harden Codex binding provider normalization 2026-05-04 01:10:30 +01:00
Kelaw - Keshav's Agent
8ea04f994a fix: resolve Codex native auth by profile provider 2026-05-04 01:10:30 +01:00
Kelaw - Keshav's Agent
12d90a26f7 docs(changelog): note Codex binding auth fix 2026-05-04 01:10:30 +01:00
Kelaw - Keshav's Agent
71f55214ec fix: select Codex OAuth profile for bound app-server turns 2026-05-04 01:10:30 +01:00
Kelaw - Keshav's Agent
05d11a4318 fix: preserve Codex binding OAuth transport
(cherry picked from commit f45dc3168a)
2026-05-04 01:10:30 +01:00
Vincent Koc
f1340be051 feat(openrouter): expand app attribution categories 2026-05-03 17:07:22 -07:00
Vincent Koc
52dbc4d680 test(qa): narrow Matrix approval test id 2026-05-03 17:07:00 -07:00
Vincent Koc
e782f47eca test(qa): wait for Matrix approval reaction echo 2026-05-03 17:07:00 -07:00
Vincent Koc
4dc2aedb76 fix(openai): flatten realtime transcription session update 2026-05-03 17:06:20 -07:00
Vincent Koc
ecd562b2b5 fix(realtime): label pre-ready transcription closes 2026-05-03 17:04:49 -07:00
Vincent Koc
34b3471f85 feat(openrouter): add opt-in response caching
Adds opt-in OpenRouter response caching params, preserves alias precedence across config scopes, and documents the behavior.\n\nVerification:\n- pnpm test:serial src/agents/pi-embedded-runner/proxy-stream-wrappers.test.ts src/agents/pi-embedded-runner-extraparams-openrouter.test.ts -- --reporter=verbose\n- pnpm exec oxfmt --check --threads=1 src/agents/pi-embedded-runner/proxy-stream-wrappers.ts src/plugin-sdk/provider-stream.ts src/agents/pi-embedded-runner/proxy-stream-wrappers.test.ts src/agents/pi-embedded-runner-extraparams-openrouter.test.ts docs/providers/openrouter.md CHANGELOG.md\n- git diff --check\n- Testbox tbx_01kqr4dakpsk9rswz9pem49nz0: pnpm check:changed (https://github.com/openclaw/openclaw/actions/runs/25294515012)
2026-05-03 17:02:18 -07:00
Vincent Koc
f88e1f4c1c fix(openai): fail realtime voice pre-ready closes 2026-05-03 16:58:48 -07:00
Vincent Koc
d057a308f3 fix(openai): omit realtime transcription session type 2026-05-03 16:55:01 -07:00
Vincent Koc
de82d17de2 fix(qa): require cache probe marker 2026-05-03 16:52:58 -07:00
Peter Steinberger
a94897d99c docs: update maintainer closeout guidance 2026-05-04 00:51:57 +01:00
Peter Steinberger
36c047c026 fix(channels): unify progress draft line formatting 2026-05-04 00:50:09 +01:00
Otto Deng
df5c453625 fix(workspace): allow @whiskeysockets/libsignal-node in onlyBuiltDependencies (#76539)
pnpm v9+ defaults blockExoticSubdeps=true, which rejects
@whiskeysockets/libsignal-node — a tarball-URL subdep of
@whiskeysockets/baileys. This silently breaks the WhatsApp channel and
silences all inbound agent replies on fresh installs.

Add @whiskeysockets/libsignal-node to onlyBuiltDependencies in both
package.json and pnpm-workspace.yaml — the same exemption already used
for @whiskeysockets/baileys itself.

Fixes #76539.
2026-05-03 16:49:36 -07:00
Vincent Koc
ef0f5d8cfa docs(changelog): credit @hclsys for doctor legacy-migration fix
#76800 (fixes #76798) added user-facing `doctor --fix` behavior to
commit safe legacy migrations even when unrelated validation issues
prevent full validation, but the existing entry credited no contributor
and used a bare PR/issue reference. Promote #76798 to a `Fixes` ref,
add the merging PR ref (#76800), and credit the human contributor
@hclsys per CLAUDE.md changelog-attribution rules.
2026-05-03 16:49:25 -07:00
Vincent Koc
c90a828d17 fix(slack): skip empty progress refreshes 2026-05-03 16:48:39 -07:00
Vincent Koc
744b7e56e2 test(qa): relax Matrix tool progress preview wording 2026-05-03 16:45:13 -07:00
Vincent Koc
d2ba09b301 fix(channels): skip empty progress drafts 2026-05-03 16:44:21 -07:00
Peter Steinberger
d609859a8b test: simplify parallels smoke harness 2026-05-04 00:44:05 +01:00
Peter Steinberger
c3f5c20f2c fix(cli): retry admin device approval after ownership denial 2026-05-04 00:41:55 +01:00
Peter Steinberger
baadd74b6b fix(plugins): narrow optional tool cold loads 2026-05-04 00:41:01 +01:00
Vincent Koc
07b52b4a01 fix(qa): align mock tool progress markers 2026-05-03 16:38:18 -07:00
hcl
b1db87fb36 fix(doctor): commit legacy migrations even when unrelated validation fails (#76800)
* fix(doctor): commit legacy migrations even when unrelated validation fails (#76798)

migrateLegacyConfig previously returned config: null when post-migration
validation found any issue (e.g. a missing plugin). The caller then kept
the unmigrated config as the candidate, so doctor --fix never wrote the
legacy migration to disk.

Now when validation fails after a successful migration, the migrated
config is returned with partiallyValid: true. applyLegacyCompatibilityStep
always commits the migrated config to state.candidate, ensuring
agents.defaults.llm and other known-legacy keys are cleaned up on
doctor --fix even when an unrelated provider or plugin issue blocks
the full validator.

Adds regression test asserting that candidate is updated to the migrated
shape when partiallyValid is set.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fixup: extend skipPluginValidation to write path with E2E coverage

Thread skipPluginValidationOnWrite through loadAndMaybeMigrateDoctorConfig
return value into runWriteConfigHealth so replaceConfigFile bypasses plugin
validation when migration is only partially valid. Add E2E test verifying
the flag propagates end-to-end.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fixup(doctor): wire skipPluginValidation through full write path (#76800)

Clawsweeper P2 x2:
1. io.ts exported writeConfigFile wrapper now passes skipPluginValidation to
   createConfigIO so both write-phase validation and post-write loadConfig
   re-read honor the flag.
2. mutate.ts tryWriteSingleTopLevelIncludeMutation now skips plugin validation
   when writeOptions.skipPluginValidation is set, so include-write fast path
   no longer blocks safe legacy migrations with unrelated plugin errors.

Adds regression test: skipPluginValidation bypasses plugin schema rejection
on writeConfigFile and falls back to throwing when flag is not set.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fixup(doctor): bail out of include fast path when skipPluginValidation is set (#76800)

Clawsweeper P2: after the include write, readConfigFileSnapshotForWrite()
calls loadConfig() which validates with plugins; refreshedSnapshot.valid is
false when an unrelated plugin issue exists, causing the include path to
throw even though skipPluginValidation was requested.

Simplest fix: return false from tryWriteSingleTopLevelIncludeMutation when
skipPluginValidation is set, letting the root writer handle the write with
plugin validation disabled end-to-end (including post-write readback via
createConfigIO({ pluginValidation: "skip" })).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* test(doctor): cover partial legacy migration writes

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-04 00:34:24 +01:00
HCL
f8f881f63f fix(daemon): preserve systemd env-file secrets on re-stage
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 00:34:18 +01:00
Vincent Koc
d841394eba test(qa): harden Matrix tool progress live check 2026-05-03 16:31:47 -07:00
Vincent Koc
50a7b95227 fix(openai): wait for realtime voice session readiness 2026-05-03 16:30:56 -07:00
Peter Steinberger
7915110259 fix(memory-lancedb): declare apache-arrow peer 2026-05-04 00:30:02 +01:00
Vincent Koc
7fb2e5506f test(agents): retry empty live cache probe text 2026-05-03 16:26:17 -07:00
Vincent Koc
cde9591168 fix(plugins): prefer newest official prerelease install 2026-05-03 16:25:02 -07:00
Vincent Koc
b520e40cf6 fix(plugins): merge external catalog channel hints 2026-05-03 16:24:17 -07:00
Peter Steinberger
392897304c fix(channels): delay progress drafts until work is visible 2026-05-04 00:22:13 +01:00
Peter Steinberger
88b983a713 fix: stabilize Google Meet realtime audio 2026-05-04 00:17:57 +01:00
Vincent Koc
12dbfab678 fix(msteams): stream progress tool lines 2026-05-03 16:17:02 -07:00
Vincent Koc
b5affa64b3 fix(plugins): supplement external catalog contracts 2026-05-03 16:15:28 -07:00
Peter Steinberger
4419a9de2a docs: clarify fixed issue closeout 2026-05-04 00:12:47 +01:00
Vincent Koc
3efa82de86 fix(plugins): allow prerelease-only official packages 2026-05-03 16:12:39 -07:00