Commit Graph

60209 Commits

Author SHA1 Message Date
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
Vincent Koc 76bdb025d6 refactor(cli): remove stale path policy helpers 2026-06-19 04:37:29 +08:00
Vincent Koc d2e36a176d fix(e2e): validate live plugin tool limits 2026-06-18 22:30:59 +02:00
Josh Lehman b637414871 fix: add plugin host session cleanup seam (#93733)
* fix: add plugin host session cleanup seam (clawdbot-d02.1.9.1.38)

* test: update session accessor writer ratchet
2026-06-18 13:29:39 -07:00
Vincent Koc aa39600793 refactor(agents): remove stale tool helpers 2026-06-19 04:28:18 +08:00
Vincent Koc 61b116d597 fix(e2e): validate plugin update timeout seconds 2026-06-18 22:23:23 +02:00
Vincent Koc 033162f209 refactor(channels): remove stale discovery helpers 2026-06-19 04:19:22 +08:00
Dallin Romney dfd8a2220b test(scripts): route temp-dir helper importers for store.sqlite and status.scan tests (#94681) 2026-06-18 13:15:40 -07:00
Vincent Koc 74ad4f592a fix(ci): route Windows proof away from Linux Testbox 2026-06-18 22:09:58 +02:00
Vincent Koc a14b1e05e5 refactor(channels): remove stale helper exports 2026-06-19 04:07:36 +08:00
Vincent Koc 8b63a3d551 fix(e2e): validate openwebui docker timeouts 2026-06-18 22:02:43 +02:00
Vincent Koc f4e9a6e047 refactor(channels): remove stale bundled channel helpers 2026-06-19 03:52:49 +08:00
Vincent Koc 2ae84f75ef fix(e2e): reject invalid mcp code-mode docker ports 2026-06-18 21:47:18 +02:00
Vincent Koc dca17477dc refactor(media): remove stale completion wake wrappers 2026-06-19 03:43:39 +08:00
Vincent Koc 7f1fa65399 fix(e2e): reject declared oversized probe bodies 2026-06-18 21:37:07 +02:00
Vincent Koc b6a06f0e49 refactor(sandbox): remove stale bridge helpers 2026-06-19 03:34:44 +08:00
Vincent Koc 9501d4dec2 fix(e2e): reject invalid openwebui docker ports 2026-06-18 21:31:46 +02:00
Vincent Koc d9397e5b9b fix(e2e): cancel stalled kitchen sink response streams 2026-06-18 21:27:08 +02:00
Vincent Koc d9d7766a41 fix(scripts): ignore loose package content length headers 2026-06-18 21:23:41 +02:00
Vincent Koc 0771ac8563 refactor(core): remove unused helper wrappers 2026-06-19 03:22:07 +08:00
Vincent Koc 906174bff1 fix(scripts): ignore loose audit content length headers 2026-06-18 21:20:26 +02:00
Colin Johnson c677424edb qa-lab: add evidence artifact gallery (#94283)
* qa-lab: add evidence artifact gallery

* qa-lab: harden evidence gallery artifacts

* qa-lab: share evidence gallery view types

* qa-lab: disable evidence preview caching

* refactor(qa-lab): resolve evidence artifacts once and trim gallery render/test duplication

* fix(qa-lab): build evidence model before sending /api/evidence success headers

---------

Co-authored-by: Dallin Romney <dallinromney@gmail.com>
2026-06-18 12:17:46 -07:00
Vincent Koc ea4ddb2eb5 fix(e2e): ignore loose rpc content length headers 2026-06-18 21:14:22 +02:00
Vincent Koc f19c5f6b2f fix(release): bound cross-os loopback port probes 2026-06-18 21:11:46 +02:00
Vincent Koc 1e83f42a64 refactor(agents): remove unused Claude CLI credential writers 2026-06-19 03:10:14 +08:00
Vincent Koc 4c9b4c32ef fix(scripts): ignore loose content length headers 2026-06-18 21:05:16 +02:00
Vincent Koc 4fc5cf4579 fix(scripts): reject unsafe startup memory timeouts 2026-06-18 21:00:03 +02:00
Vincent Koc 8f8162704d refactor(gateway): remove stale restart sentinel wake predicate 2026-06-19 02:58:16 +08:00
Vincent Koc f381dca15b fix(e2e): reject loose docker stats CPU samples 2026-06-18 20:57:55 +02:00
Vincent Koc 9ab9469d04 fix(e2e): reject unsafe bundled runtime limits 2026-06-18 20:54:56 +02:00
Vincent Koc a2f5ac82d5 fix(e2e): reject loose credential numeric limits 2026-06-18 20:51:36 +02:00
Vincent Koc 7b7e40cb0e refactor(gateway): remove duplicate artifact collector 2026-06-19 02:50:22 +08:00
Vincent Koc e1c2926628 fix(e2e): reject loose telegram credential limits 2026-06-18 20:47:52 +02:00
Vincent Koc cebe5cb94a fix(e2e): reject invalid client gateway ports 2026-06-18 20:46:11 +02:00
Vincent Koc 0b14724c87 refactor(gateway): remove unused connection auth facade 2026-06-19 02:37:30 +08:00
Vincent Koc e879a67bf7 refactor(gateway): remove unused skills reload predicate 2026-06-19 02:34:48 +08:00
Vincent Koc 53bb55e023 fix(e2e): reject invalid config writer ports 2026-06-18 20:33:31 +02:00