Commit Graph

67697 Commits

Author SHA1 Message Date
Vincent Koc
843b1d6fbb fix(e2e): forward install session limits 2026-06-19 02:21:10 +02:00
Vincent Koc
09b56592d2 fix(e2e): forward code-mode client limits 2026-06-19 02:19:27 +02:00
Vincent Koc
701687efa3 fix(e2e): validate install e2e wrapper knobs 2026-06-19 02:15:58 +02:00
Vincent Koc
d8cc16a3e2 Merge branch 'main' of https://github.com/openclaw/openclaw
* 'main' of https://github.com/openclaw/openclaw: (82 commits)
  fix(e2e): validate chat tools body limit
  fix(e2e): honor chat tools body limit
  fix(e2e): validate chat tools timeout
  fix(e2e): give cleanup smoke build heap headroom
  fix(e2e): validate plugin lifecycle limits
  refactor(auto-reply): add lifecycle storage seams (#93685)
  fix: preserve pending subagent completion announces (#94349)
  fix(e2e): validate plugin log limits before setup
  fix(e2e): validate codex media timeout
  fix(e2e): validate fixture log limits
  fix(e2e): validate cleanup log limits
  fix(e2e): validate docker log limits
  fix(live): validate docker pids limits
  fix(e2e): validate docker pids limits
  test: fold channel message flows into qa e2e (#93174)
  fix(e2e): validate docker build limits
  Prevent Codex thread rotation from losing next-step context (#94093)
  fix(e2e): validate fixture cleanup interval
  fix(agents): correct claw-score validation workflow
  fix(e2e): validate log tail limits
  ...
2026-06-19 08:14:35 +08:00
Vincent Koc
7f894ba2be fix(e2e): validate chat tools body limit 2026-06-19 02:07:32 +02:00
Vincent Koc
e5de09f96a fix(e2e): honor chat tools body limit 2026-06-19 01:59:12 +02:00
Vincent Koc
2a0e63d12b fix(e2e): validate chat tools timeout 2026-06-19 01:51:19 +02:00
Vincent Koc
e3bab80bda fix(e2e): give cleanup smoke build heap headroom 2026-06-19 01:50:54 +02:00
Vincent Koc
7207072436 fix(e2e): validate plugin lifecycle limits 2026-06-19 01:43:24 +02:00
Josh Lehman
49e6f5a524 refactor(auto-reply): add lifecycle storage seams (#93685)
* refactor(auto-reply): add lifecycle storage seams

* fix(auto-reply): remove unused transcript replay shim
2026-06-18 16:40:27 -07:00
Sally O'Malley
95c87e31e2 fix: preserve pending subagent completion announces (#94349)
Signed-off-by: sallyom <somalley@redhat.com>
2026-06-18 19:38:11 -04:00
Vincent Koc
0d2102d247 fix(e2e): validate plugin log limits before setup 2026-06-19 01:31:33 +02:00
Vincent Koc
55323103b9 fix(e2e): validate codex media timeout 2026-06-19 01:24:12 +02:00
Vincent Koc
239b4de6af fix(e2e): validate fixture log limits 2026-06-19 01:17:35 +02:00
Vincent Koc
a7b52ecad9 fix(e2e): validate cleanup log limits 2026-06-19 01:08:42 +02:00
Vincent Koc
bb44c5326e fix(e2e): validate docker log limits 2026-06-19 01:02:59 +02:00
Vincent Koc
4764258b3f fix(live): validate docker pids limits 2026-06-19 00:54:57 +02:00
Vincent Koc
6af1b97b1d fix(e2e): validate docker pids limits 2026-06-19 00:46:17 +02:00
Dallin Romney
4ca0e52d0e test: fold channel message flows into qa e2e (#93174)
* test: fold channel flows into qa e2e

* test: keep channel flow skill pointed at qa

* test: move channel flow proof under telegram
2026-06-18 15:45:33 -07:00
Vincent Koc
37eea55afa fix(e2e): validate docker build limits 2026-06-19 00:35:49 +02:00
VACInc
ea76a45917 Prevent Codex thread rotation from losing next-step context (#94093)
Merged via squash.

Prepared head SHA: 1f3ced8f63
Maintainer decision: `checks-node-core-tooling` is an unrelated baseline/tooling failure; PR-relevant CI and real behavior proof passed.

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-06-18 15:33:48 -07:00
Vincent Koc
84bcdaa983 fix(e2e): validate fixture cleanup interval 2026-06-19 00:29:25 +02:00
Vincent Koc
4ac192deef fix(agents): correct claw-score validation workflow 2026-06-19 00:26:35 +02:00
Vincent Koc
3c9cf2d583 fix(e2e): validate log tail limits 2026-06-19 00:18:39 +02:00
Dallin Romney
c4ae2be947 fix: taxonomy coverage id cleanup (#94304)
* fix: split taxonomy coverage id features

* fix: clean taxonomy feature row names

* docs: clarify taxonomy coverage id semantics

* docs: tighten coverage id guidance

* fix: keep taxonomy features product shaped

* fix: narrow sdk artifact coverage bundle

* fix: name taxonomy coverage ids clearly

* fix: polish taxonomy feature descriptions
2026-06-18 15:16:58 -07:00
Vincent Koc
27310bfa34 fix(e2e): validate docker e2e ports 2026-06-19 00:09:47 +02:00
Xavier Coulon
fbc12e0879 fix(slack): stop leaking bot token into /api/auth.test request body (#94574)
* fix(slack): stop leaking bot token into /api/auth.test request body

The bot token is already passed as an `Authorization` header,
so we don't need to send it in the request body when calling `/api/auth.test`.

See [Slack API documentation](https://api.slack.com/methods/auth.test).

Also, showing with `curl` that the bot token is not needed in the request body when passed as an `Authorization` header when calling `/api/auth.test`:
```
curl -X POST https://slack.com:443/api/auth.test -H "Authorization: Bearer xoxb-..."
{"ok":true,"url":"https://xcoulonworkspace.slack.com/","team":"xcoulon",...}
```

Signed-off-by: Xavier Coulon <xcoulon@redhat.com>

* add test for slack auth.test token handling

verify that the bot token is not passed in the request body when calling `/api/auth.test`.

Signed-off-by: Xavier Coulon <xcoulon@redhat.com>

---------

Signed-off-by: Xavier Coulon <xcoulon@redhat.com>
2026-06-18 18:09:37 -04:00
Vincent Koc
73cdb78a1e fix(sdk): refresh plugin api baseline hash 2026-06-19 00:01:15 +02:00
Vincent Koc
0df60ad306 fix(e2e): validate docker resource limits 2026-06-19 00:00:42 +02:00
Vincent Koc
9928516a78 fix(codex): deliver native subagent idle results 2026-06-18 23:41:34 +02:00
Josh Lehman
7845182410 clawdbot-d02.1.9.1.39: add task session registry maintenance seam (#93734) 2026-06-18 14:36:10 -07:00
Vincent Koc
aba6f7ad21 fix(live): validate model sweep limits 2026-06-18 23:33:44 +02:00
Vincent Koc
5570a10bf4 refactor(auth): remove stale external auth persist wrapper 2026-06-19 05:26:31 +08:00
Vincent Koc
98857235d5 fix(live): validate gateway model limits 2026-06-18 23:26:21 +02:00
Vincent Koc
39e9336d40 test(scripts): match installer e2e env validation 2026-06-18 23:23:24 +02:00
Vincent Koc
392f5b75bf fix(e2e): validate kitchen sink fixture wait attempts 2026-06-18 23:21:28 +02:00
Vincent Koc
a98bfdb2b7 refactor(agents): remove stale wrapper exports 2026-06-19 05:18:25 +08:00
Vincent Koc
34d402f53c fix(e2e): validate plugin fixture stop attempts 2026-06-18 23:17:00 +02:00
Vincent Koc
1faf8175e4 fix(e2e): validate onboard gateway wait attempts 2026-06-18 23:12:41 +02:00
Vincent Koc
fdb042b9ce refactor(providers): remove stale primary model helper 2026-06-19 05:10:15 +08:00
Colin Johnson
d5a27b0b96 test: add QA Lab UX Matrix evidence scenario (#94306)
* test: add qa lab ux matrix script scenario

* fix(qa-lab): annotate UX Matrix producer catch callback as unknown for oxlint

---------

Co-authored-by: Dallin Romney <dallinromney@gmail.com>
2026-06-18 14:10:06 -07:00
Vincent Koc
9328f4a675 fix(e2e): validate bun smoke timeout env 2026-06-18 23:07:22 +02:00
Vincent Koc
75df29c215 fix(install): validate install e2e agent env 2026-06-18 23:03:34 +02:00
Vincent Koc
bf8ac0d96d refactor(cli): remove stale command group helpers 2026-06-19 05:02:54 +08:00
Vincent Koc
bfb47a03b3 fix(install): validate install smoke timing env 2026-06-18 22:57:17 +02:00
Vincent Koc
a93fc87e2c refactor(cli): keep relay stream helpers test-local 2026-06-19 04:53:59 +08:00
Vincent Koc
cc3d346c15 fix(e2e): validate upgrade survivor budgets 2026-06-18 22:52:19 +02:00
Vincent Koc
a8d60d352e refactor(cli): remove stale adapter helpers 2026-06-19 04:44:51 +08:00
NianJiu
1bfa2787b5 fix(exec): resume agent turn for native chat exec approvals (#93949)
* fix(exec): resume agent turn for native chat exec approvals (issue #93918)

Extend the inline approval-pending path that PR #85239 added for webchat to
every bundled chat channel that ships an `approval-handler.runtime`
adapter (Telegram, Discord, Slack, Signal, WhatsApp, iMessage, Matrix,
Google Chat, QQ Bot, plus webchat). When the originating turn can be
approved in the same chat, the gateway resolves the approval in place and
the agent waits inline for the command output instead of terminating the
run on the "approval-pending" tool result.

Before this fix, native chat approvals landed in the fire-and-forget
`sendExecApprovalFollowup` path. The followup either failed silently
against the agent dispatch and fell through to a direct delivery to the
operator, or never reached the agent at all; either way the model never
saw an "Exec running / Exec finished / Exec denied" event. The operator
had to send a follow-up message to recover the turn, and a new approval
was minted because the original run had already ended.

The change:

- Introduces `NATIVE_APPROVAL_CHANNELS` and `isNativeApprovalChannel`
  in `src/utils/message-channel-constants.ts`, listing the channels that
  ship a native chat approval client. `webchat` is included so the
  single-channel check inside `shouldAwaitGatewayApprovalInline` can
  move from "this one id" to "any native approval client".
- Replaces the `INTERNAL_MESSAGE_CHANNEL` equality check in
  `shouldAwaitGatewayApprovalInline` with `isNativeApprovalChannel`,
  preserving the `approvalFollowupMode` opt-out and the existing
  `unavailableReason === null` gate.
- Adds unit tests asserting inline resolution and inline denial for
  every native approval channel, plus a regression test that
  non-native channels (e.g. feishu) and explicit `approvalFollowupMode`
  settings still take the fire-and-forget path.
- Adds a `NATIVE_APPROVAL_CHANNELS` test in
  `src/utils/message-channel.test.ts` to lock the membership and the
  negative cases.

Refs https://github.com/openclaw/openclaw/issues/93918

* fix(lint): restore InternalMessageChannel type export lost during rebase

Rebase on upstream/main dropped the InternalMessageChannel type alias
from message-channel-constants.ts, breaking the plugin-sdk boundary
.dts check ('has no exported member named InternalMessageChannel').
message-channel.ts was also re-importing the type only to re-export
it, triggering the oxlint no-unused-vars rule.

- Re-add 'export type InternalMessageChannel = typeof INTERNAL_MESSAGE_CHANNEL'
  in message-channel-constants.ts so the public re-export is valid.
- Drop the redundant 'type InternalMessageChannel' from the local
  import in message-channel.ts; the value-side import is what the
  file body actually needs.

* test(exec): align native approval routing expectations
2026-06-18 16:41:04 -04:00
Vincent Koc
e385f6663a fix(live): validate docker setup timeouts 2026-06-18 22:39:43 +02:00