Commit Graph

52428 Commits

Author SHA1 Message Date
Peter Steinberger
609d70d35e fix(release): stabilize beta validation after rebase 2026-05-26 03:30:54 +01:00
Vincent Koc
4738d0a296 fix(test): measure kitchen sink gateway children 2026-05-26 04:29:42 +02:00
Marcus Castro
34d862d45d fix(whatsapp): restore ack emoji identity fallback (#86697) 2026-05-25 23:25:00 -03:00
Omar Shahine
f32273257c fix(imessage): send group media via attachment command
* fix(imessage): send chat media via attachment command

* fix(imessage): satisfy bundled lint

---------

Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com>
2026-05-25 19:24:37 -07:00
Vincent Koc
eab8d29db2 fix(test): harden plugin gauntlet proof 2026-05-26 04:23:04 +02:00
Peter Steinberger
93015982d3 fix(release): stabilize beta validation after main rebase 2026-05-26 03:06:26 +01:00
Peter Steinberger
6f57286678 refactor: use Rastermill for image processing (#86621)
* refactor: use Rastermill for image processing

* docs: clarify autoreview heartbeat patience

* refactor: use simplified rastermill api

* fix: preserve rastermill media safety boundaries

* build: update rastermill api pin

* build: use published rastermill package
2026-05-26 02:54:49 +01:00
Peter Steinberger
0c5f622f9a perf(discord): use libopus-wasm for voice opus 2026-05-26 02:53:29 +01:00
clawsweeper[bot]
3d0659433e fix(build): pin synthetic auth runtime dist entry (#86714)
Summary:
- Adds `plugins/synthetic-auth.runtime` as an explicit tsdown dist entry and adds a regression test tying PI model-discovery synthetic-auth imports to that stable entry.
- PR surface: Tests +22, Other +1. Total +23 across 2 files.
- Reproducibility: yes. as a source-reproducible package-build path: current main imports synthetic-auth from  ... y. The PR proof covers emitted production `dist/` imports, though it did not run a live scheduled cron job.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(build): pin synthetic auth runtime dist entry

Validation:
- ClawSweeper review passed for head cb99947919.
- Required merge gates passed before the squash merge.

Prepared head SHA: cb99947919
Review: https://github.com/openclaw/openclaw/pull/86714#issuecomment-4538919657

Co-authored-by: Andy Ye <35905412+TurboTheTurtle@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
2026-05-26 01:51:50 +00:00
clawsweeper[bot]
fddca995e8 fix(plugin-sdk): preserve string-const unions as flat enum for deepseek tool schemas (#86712)
Summary:
- This PR changes DeepSeek provider tool-schema normalization to convert multi-value string const unions into flat string enums, with regression coverage for pure, nullable, and single-const union cases.
- PR surface: Source +27, Tests +84. Total +111 across 2 files.
- Reproducibility: yes. source-level reproduction is high confidence: current main selects only the first non-null anyOf/oneOf variant, and the linked source PR proof shows before/after output for that exact schema shape.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(plugin-sdk): preserve string-const unions as flat enum for deepse…

Validation:
- ClawSweeper review passed for head 310d95e327.
- Required merge gates passed before the squash merge.

Prepared head SHA: 310d95e327
Review: https://github.com/openclaw/openclaw/pull/86712#issuecomment-4538892244

Co-authored-by: 1052326311 <1052326311@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
2026-05-26 01:43:06 +00:00
Vincent Koc
2e6ba44706 fix(perf): bound session transcript stat fanout 2026-05-26 03:39:45 +02:00
Vincent Koc
6984a823af fix(test): bound plugin gauntlet prebuilds 2026-05-26 03:38:09 +02:00
Peter Steinberger
743bce2c27 perf: speed up usage cost lookups 2026-05-26 02:28:30 +01:00
Alex Knight
f824e1596a Add OpenTelemetry LLM content spans (#86191)
* feat: add otel llm content spans

* fix: gate otel tool definitions separately

* fix(diagnostics): sanitize tool_call parts and truncate oversized OTEL content attributes

* fix: keep otel content truncation parseable

* fix: simplify codex model diagnostics

* fix(diagnostics): align opt-in GenAI span shape

* test(codex): align resume params after rebase

* fix(diagnostics): keep model content off shared event bus

* test(diagnostics): keep extension tests on sdk boundary

---------

Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-05-26 02:24:02 +01:00
Peter Steinberger
592f192bf0 chore: remove unused tracked assets 2026-05-26 02:21:58 +01:00
Peter Steinberger
010a79b5d8 fix(ui): refresh raw copy i18n baseline 2026-05-26 02:17:54 +01:00
Peter Steinberger
8f1f7901b9 fix(release): accept optional Discord voice decoder 2026-05-26 02:17:54 +01:00
Peter Steinberger
c410658725 fix(perf): tolerate passing filtered release gates 2026-05-26 02:17:54 +01:00
Peter Steinberger
e049105891 fix(release): stabilize beta validation tests 2026-05-26 02:17:54 +01:00
Vincent Koc
f2142ebf3a fix(packaging): bound dist inventory filesystem scans 2026-05-26 03:16:41 +02:00
Vincent Koc
669df88249 fix(test): remove image tool timeout slack 2026-05-26 03:04:54 +02:00
Fermin Quant
c9364f03dc fix(cron): accept opaque session target keys
Fixes #64030.

Allows cron `session:` targets to carry opaque session-store keys, including slash and backslash characters, while keeping cron job IDs on the stricter UUID/non-path contract. Adds regression coverage across cron normalization, cron service persistence, gateway cron validation, and related session target handling.

Thanks @ferminquant for the fix.

Verification:
- `git diff --check origin/main...HEAD`
- `OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs src/cron/session-target.test.ts src/cron/normalize.test.ts src/cron/service.jobs.test.ts src/cron/service/store.test.ts src/gateway/server-cron.test.ts src/gateway/server.cron.test.ts src/cron/run-log.test.ts src/gateway/protocol/cron-validators.test.ts src/agents/tools/message-tool.test.ts src/agents/tools/image-tool.custom-provider-auth.regression.test.ts --reporter dot` passed: 13 files, 347 tests.
- GitHub `checks-node-agentic-agents` reran green on `51949741a333363586ddfb4445b82116c3bcea43`.

Co-authored-by: Fermin Quant <ferminquant@hotmail.com>
2026-05-26 01:39:04 +01:00
Patrick Erichsen
24d58af560 fix: honor skill source install aliases (#84842) 2026-05-25 17:37:35 -07:00
Vincent Koc
6421808c27 fix(test): avoid message tool bundled channel loads 2026-05-26 02:29:28 +02:00
Vincent Koc
80aa6d77fc test(onboard): guard docker e2e resources 2026-05-26 02:26:28 +02:00
Peter Steinberger
d00d0a21c2 chore: bump OpenClaw to 2026.5.26 2026-05-26 01:26:00 +01:00
Peter Steinberger
321f06ad0e fix: stabilize discord voice receive recovery 2026-05-26 01:22:21 +01:00
Peter Steinberger
ee51169b20 perf: reduce session and auth cache hotpath work (#86678)
Move immutable session-store snapshot cloning/freezing off the write path and rebuild snapshots lazily on read. Resolve runtime external auth profiles once per auth-profile save instead of once per OAuth profile.

Proof: oxfmt targeted files; pnpm tsgo:core; pnpm check:test-types; node scripts/run-vitest.mjs src/config/sessions.cache.test.ts src/agents/auth-profiles.store.save.test.ts src/agents/auth-profiles/external-oauth.test.ts; autoreview clean.
2026-05-26 01:19:52 +01:00
Vincent Koc
9e93431ae9 fix(qa): stream gateway gauntlet prebuild output 2026-05-26 02:18:48 +02:00
brokemac79
56633e4f3c fix(cli): route plugin packaging recovery hints
Route invalid-config recovery output for source-only installed plugin packages to plugin packaging guidance instead of openclaw doctor --fix.

Validated with focused config/CLI/gateway/plugin tests, autoreview, Crabbox/Testbox E2E tbx_01ksgr80tnvvc13kv6t126yv78, and green PR CI on 3b3ce73d0f.

Thanks @brokemac79.
2026-05-26 01:13:20 +01:00
Deepflame
ea2496b00c perf(agents): reuse model manifest context
Reuse a lazy model manifest context across configured model resolution so common static defaults do not trigger manifest metadata loads, while keeping plugin-owned normalization available when aliases, provider rows, or OpenRouter compat paths need it.

Preserves exact alias behavior, auth-profile-suffixed alias behavior, provider inference from manifest-normalized configured refs, and existing plugin/runtime cache lifecycle rules.

Co-authored-by: Alyana <alyana@lumina.local>
2026-05-26 01:11:47 +01:00
Vincent Koc
ef8619d5f5 fix(diagnostics): expose missing telemetry signals (#86682) 2026-05-26 01:10:59 +01:00
Peter Steinberger
71e9eaab14 perf: avoid extra session snapshot cloning 2026-05-26 01:08:47 +01:00
Peter Steinberger
c59635ae97 fix: avoid compaction checkpoint transcript copies (#86666) 2026-05-26 00:59:20 +01:00
Peter Steinberger
6814525867 fix: preserve code mode failure output 2026-05-26 00:54:00 +01:00
Peter Steinberger
1514cc84cb test: avoid message tool discovery in send helper 2026-05-26 00:53:37 +01:00
Vincent Koc
6defcb0a40 fix(scripts): bound guard inventory file reads 2026-05-26 01:49:15 +02:00
Vincent Koc
60afca187d fix(test): isolate kitchen sink rpc home env 2026-05-26 01:46:51 +02:00
Kevin Lin
719ce7f96f feat(signal): support reaction approvals (#85894)
* feat(signal): support reaction approvals

* fix(signal): harden approval reaction bindings

* fix(signal): quiet native approval prompt flow

* test(prompts): refresh direct channel snapshots

* fix(signal): suppress duplicate exec approval prompts

* revert(reply): keep direct inbound metadata

* docs: add signal approval changelog

* test(prompts): restore direct channel snapshots

* fix(signal): allow defaultTo approval reactions
2026-05-25 16:44:12 -07:00
Vincent Koc
57748a66fd fix(scripts): bound source scan file reads 2026-05-26 01:43:43 +02:00
Vincent Koc
2a6b4ed3e2 test(ollama): support cloud api live smoke 2026-05-26 01:43:03 +02:00
Peter Steinberger
978a2d01da test: serialize agents tools vitest files 2026-05-26 00:42:46 +01:00
tanshanshan
3a4f2b17fc fix(auto-reply): use context-aware overflow reserve hints (#84399)
Use the effective runtime/model context when computing overflow recovery reserveTokensFloor hints, including uncataloged runtime refs, stale session windows, and heartbeat fallback cases.

Verification:
- pnpm test src/auto-reply/reply/agent-runner-execution.test.ts
- autoreview clean on final focused fixup; prior accepted findings addressed before push.
- CI passed on head e25b3e84f4 after rerunning cancelled jobs: preflight, critical quality network-runtime-boundary, security high, checks, Real behavior proof.

Co-authored-by: tanshanshan <tanshanshan@users.noreply.github.com>
2026-05-26 00:33:56 +01:00
Lellansin Huang
6c7b3f3f23 feat(gateway): forward OpenAI sampling params (#84094)
Forward OpenAI-compatible frequency_penalty, presence_penalty, and seed params through the gateway/chat-completions path while keeping Responses untouched.

Verification:
- pnpm test src/gateway/openai-http.test.ts src/agents/pi-embedded-runner/extra-params.sampling.test.ts src/agents/openai-transport-stream.test.ts
- CI passed on head 9abb9466d9 after rerunning cancelled jobs: preflight, critical quality network-runtime-boundary, security high, checks, docs, Real behavior proof.

Co-authored-by: lellansin <lellansin@gmail.com>
2026-05-26 00:33:26 +01:00
Peter Steinberger
068924e2d4 perf: cache model cost indexes
Cache configured model cost indexes for repeated session usage cost lookups while preserving in-place config mutation behavior via value-fingerprint invalidation. Raw pricing lookups now skip manifest model-id normalization as well as runtime/plugin normalization, keeping direct cost lookup off plugin metadata hot paths.

Verification:
- node scripts/run-vitest.mjs src/utils/usage-format.test.ts
- pnpm exec oxfmt --check src/utils/usage-format.ts src/utils/usage-format.test.ts
- pnpm lint --threads=8
- pnpm tsgo:core
- autoreview --mode local
- PR CI green on head 15c1e25d95
2026-05-26 00:29:55 +01:00
Peter Steinberger
5dc704361f fix: hide unsupported best effort message option 2026-05-26 00:27:57 +01:00
Peter Steinberger
bef0ba8f5a refactor: reuse realtime output activity in google meet (#86665) 2026-05-26 00:19:35 +01:00
Vincent Koc
84929e4265 fix(test): harden bundled plugin install sweep 2026-05-26 01:17:12 +02:00
Peter Steinberger
c87957db5e fix: prefer source public artifacts in source checkouts 2026-05-26 00:17:04 +01:00
Peter Steinberger
65a210553b test: type child process spawn mock 2026-05-26 00:11:40 +01:00