Commit Graph

51433 Commits

Author SHA1 Message Date
Peter Steinberger
c9a0f03dd7 feat(plugin-sdk): add generic channel poll sender (#85299)
* feat(plugin-sdk): add generic channel poll sender

* test(channels): follow durable capability list

* test(channels): update poll capability expectations

* fix(channels): normalize poll receipt parts
2026-05-22 12:16:07 +01:00
Peter Steinberger
0ddf51cf71 fix(agents): preserve OpenAI reasoning token usage 2026-05-22 12:14:12 +01:00
Vincent Koc
1a8625529e test(e2e): harden plugin smoke cleanup 2026-05-22 13:06:03 +02:00
Peter Steinberger
6b1c8687b5 fix(plugins): resolve native plugin sdk aliases (#85298)
* fix(plugins): resolve native plugin sdk aliases

* fix(plugins): satisfy native resolver lint

* fix(plugins): keep native sdk aliases on js artifacts
2026-05-22 12:05:37 +01:00
Vincent Koc
03f61cd1b5 fix(update): keep service logs out of json output 2026-05-22 12:46:00 +02:00
Vincent Koc
ff79299d68 fix(agent): retry transient gateway handshake closes 2026-05-22 12:24:50 +02:00
Krzysztof Probola
8523e0930e fix(codex): keep interrupted turns visible-answer eligible (#84494)
* fix(codex): keep interrupted turns visible-answer eligible

* docs(changelog): note codex interrupted recovery

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-05-22 18:22:20 +08:00
Vincent Koc
6bd430ee35 test(agents): narrow bundle mcp e2e setup 2026-05-22 11:39:24 +02:00
Alex Knight
e2f82d4d30 test: add mocked Control UI E2E tests and playwright for local verification and development (#85278)
* test: add control ui mocked e2e
2026-05-22 19:36:38 +10:00
Peter Steinberger
70dd31506b fix: land code-mode structured worker errors (#83444) (thanks @Kaspre) 2026-05-22 10:36:18 +01:00
Kaspre
edab653178 fix(code-mode): return structured worker error codes 2026-05-22 10:36:18 +01:00
Peter Steinberger
0d8c9ca914 fix: preserve route-bound direct thread events 2026-05-22 10:32:12 +01:00
Peter Steinberger
0acfb7ba13 fix: route direct thread event wakes to main DMs 2026-05-22 10:32:12 +01:00
Peter Steinberger
4ee8a2ac2e fix: break plugin metadata snapshot cycle 2026-05-22 10:32:12 +01:00
Peter Steinberger
7b489560f3 test: align exec event routing proof (#83743) (thanks @Kaspre) 2026-05-22 10:32:12 +01:00
Kaspre
37207c6925 test node exec event wake metadata 2026-05-22 10:32:12 +01:00
Kaspre
e53612a639 fix heartbeat event routing for main-scoped DMs 2026-05-22 10:32:12 +01:00
Vincent Koc
d24cfcfa21 test(plugins): retry bundled smoke health probes 2026-05-22 17:21:48 +08:00
Vincent Koc
2b1c01f769 test(gateway): bind auth-free websocket harness to loopback 2026-05-22 11:17:22 +02:00
Vincent Koc
a12e3022db test(plugins): keep npm peer prune mock directory-safe 2026-05-22 11:12:17 +02:00
github-actions[bot]
40b8dd88d8 chore(ui): refresh fa control ui locale 2026-05-22 09:11:58 +00:00
Vincent Koc
b859654641 fix(ci): allow release update restarts 2026-05-22 11:11:53 +02:00
github-actions[bot]
cc6d222ae3 chore(ui): refresh nl control ui locale 2026-05-22 09:11:46 +00:00
github-actions[bot]
b59ab5b1f0 chore(ui): refresh vi control ui locale 2026-05-22 09:11:42 +00:00
github-actions[bot]
f483f59b6c chore(ui): refresh th control ui locale 2026-05-22 09:11:27 +00:00
github-actions[bot]
c222ef01e9 chore(ui): refresh id control ui locale 2026-05-22 09:11:08 +00:00
github-actions[bot]
0050b8e89a chore(ui): refresh pl control ui locale 2026-05-22 09:11:05 +00:00
github-actions[bot]
6b4aec9fb9 chore(ui): refresh uk control ui locale 2026-05-22 09:11:02 +00:00
github-actions[bot]
940a950e47 chore(ui): refresh tr control ui locale 2026-05-22 09:10:27 +00:00
github-actions[bot]
d11c2e421d chore(ui): refresh ar control ui locale 2026-05-22 09:10:22 +00:00
github-actions[bot]
c99a29d0a8 chore(ui): refresh it control ui locale 2026-05-22 09:10:19 +00:00
github-actions[bot]
a7ba47c4ee chore(ui): refresh fr control ui locale 2026-05-22 09:10:13 +00:00
github-actions[bot]
a5fa944c69 chore(ui): refresh ko control ui locale 2026-05-22 09:09:46 +00:00
github-actions[bot]
f3a984dcbb chore(ui): refresh ja-JP control ui locale 2026-05-22 09:09:43 +00:00
github-actions[bot]
4711bb529a chore(ui): refresh es control ui locale 2026-05-22 09:09:40 +00:00
github-actions[bot]
4d6b3845f1 chore(ui): refresh zh-TW control ui locale 2026-05-22 09:09:30 +00:00
github-actions[bot]
d6fc2f34a3 chore(ui): refresh pt-BR control ui locale 2026-05-22 09:09:11 +00:00
github-actions[bot]
3222e35322 chore(ui): refresh zh-CN control ui locale 2026-05-22 09:09:05 +00:00
github-actions[bot]
ea5b5d78d5 chore(ui): refresh de control ui locale 2026-05-22 09:09:01 +00:00
Alex Knight
5d01be1070 Add chat picker search and pagination 2026-05-22 19:07:21 +10:00
Peter Steinberger
b3ec11b052 docs: add changelog for swept bugfix PRs 2026-05-22 10:00:35 +01:00
Vincent Koc
bf64de9191 fix(plugins): keep derived metadata snapshots fresh
Keep derived plugin metadata snapshots out of the process memo/current snapshot cache so newly added plugins under derived discovery paths are found without restart.
2026-05-22 17:00:09 +08:00
Vincent Koc
beccdde5bf fix(qa): isolate patched suite scenarios 2026-05-22 10:59:23 +02:00
吴杨帆
a80476fbe9 fix(telegram): preserve fenced code languages (#85209)
Co-authored-by: wuyangfan <yangfan.wu@succaiss.com>
2026-05-22 09:59:06 +01:00
Julyan
6f933656e5 fix: strip -plugin suffix in deriveIdHint to match manifest ids (#85170)
The deriveIdHint function already strips -provider from unscoped
package names (@openclaw/anthropic-provider -> anthropic) but does
not strip -plugin (@openclaw/xai-plugin -> xai-plugin instead of
xai). This causes ~30 spurious 'plugin id mismatch' warnings on
gateway startup for built-in plugins whose package names end in
-plugin.

Closes #85048
2026-05-22 09:58:56 +01:00
Sergio Cadavid
1b0a5d1627 fix(openai): preserve codex gpt-5.5 image input (#85095) 2026-05-22 09:58:43 +01:00
Noah
fb61de8c88 fix(gemini): strip sub-second precision from web_search time_range_filter (#85071)
* fix(gemini): strip sub-second precision from web_search time_range_filter

Gemini's google_search.time_range_filter rejects any non-zero fractional
seconds with "[FIELD_INVALID] Granularity of nano is not supported", even
though the underlying google.protobuf.Timestamp type accepts 0/3/6/9
fractional digits per its public spec. The grounding endpoint enforces a
stricter rule than the underlying type.

Date.prototype.toISOString() always emits millisecond precision, so every
freshness call (and any date_after/date_before call hitting the "now"
fallback for endTime) failed with the above 400 after #66498's fix shipped
in 2026.5.19.

Introduce toGeminiTimeRangeTimestamp() which strips the fractional-second
component before serializing, and route all four timeRangeFilter timestamp
sites through it. isoDateExclusiveEnd happens to produce all-zero
fractional today (so Gemini accepts it), but routing it through the helper
keeps the contract uniform and resilient to future changes.

Why this slipped past the original CI: the existing freshness test used
vi.setSystemTime(new Date("2026-04-15T12:00:00Z")), which always
serializes back as ".000Z" — the one fractional form Gemini happens to
accept. Wall-clock new Date() in production always has non-zero ms. The
new test uses setSystemTime(new Date("2026-04-15T12:00:00.123Z")) to
exercise the realistic case.

Verified empirically against the live Gemini REST API:
  ".123Z" → 400 "Granularity of nano is not supported"
  ".000Z" → grounded content (the one fractional form accepted)
  "Z"     → grounded content

Fixes #85061.

* test(gemini): use realistic non-zero ms in existing freshness test

The original test set the fake clock to a moment with zero fractional
seconds, so toISOString() produced ".000Z" — the one fractional form
Gemini's google_search.time_range_filter happens to accept. Wall-clock
new Date() in production produces non-zero ms, which Gemini rejects.

Bumping the fake time to .123Z makes the existing test exercise the
realistic case alongside the dedicated regression test.

---------

Co-authored-by: Noah R <Noerr@users.noreply.github.com>
2026-05-22 09:58:29 +01:00
Vincent Koc
9bd97d2c60 test(qa-lab): remove generic evidence wording 2026-05-22 16:54:04 +08:00
Vincent Koc
a9176e9190 fix(ci): reject embedded fallback release turns 2026-05-22 10:51:55 +02:00
Peter Steinberger
88ad5cb2f4 feat: update autoreview skill 2026-05-22 09:47:22 +01:00