Commit Graph

8543 Commits

Author SHA1 Message Date
Peter Steinberger
9c0b84eaa4 test(memory): tighten qmd manager wait polling 2026-05-06 19:58:29 +01:00
Josh Lehman
b22c8998ca fix(doctor): discover load-path plugin contracts (#77477)
Merged via squash.

Prepared head SHA: d428fd47f5
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-05-06 11:50:47 -07:00
Vincent Koc
1ab00c4469 test(codex): remove unused runtime plan helper 2026-05-06 11:36:02 -07:00
Vincent Koc
e43ae8e8cd fix(googlechat): import action name contract type 2026-05-06 11:36:02 -07:00
Peter Steinberger
71a6260034 fix(googlechat): remove duplicate channel import 2026-05-06 19:24:19 +01:00
Peter Steinberger
90b69cac02 test(perf): slim channel directory contracts 2026-05-06 19:18:53 +01:00
Peter Steinberger
3c7a641b8d test(perf): run memory lane on thread pool 2026-05-06 18:19:15 +01:00
Peter Steinberger
2e10ffe813 test(perf): bound google meet retry waits 2026-05-06 15:25:23 +01:00
Jacob Tomlinson
298cae67bb fix(mattermost): collect setup URL in wizard
Fixes #76670.\n\nSummary:\n- Collect the Mattermost bot token and server URL as separate wizard patches so validation does not run before the URL is entered.\n- Preserve non-interactive Mattermost setup validation for explicit --bot-token + --http-url flows.\n- Add a regression test and changelog entry.\n\nVerification:\n- Reporter manually verified setup against a real Mattermost server.\n- pnpm test extensions/mattermost\n- pnpm tsgo:extensions\n- pnpm tsgo:extensions:test\n- pnpm exec oxfmt --check --threads=1 extensions/mattermost/src/setup-core.ts extensions/mattermost/src/setup-surface.ts extensions/mattermost/src/setup.test.ts\n- git diff --check upstream/main...HEAD
2026-05-06 15:23:34 +01:00
Peter Steinberger
2d5df741f5 test(perf): avoid codex failure runtime plan setup 2026-05-06 13:43:51 +01:00
Peter Steinberger
3317b79e5f test(perf): avoid codex hook runtime plan setup 2026-05-06 13:40:14 +01:00
Peter Steinberger
458ce2da94 test(perf): settle codex hook turn startup 2026-05-06 13:32:45 +01:00
Peter Steinberger
12a42bf3da test(perf): narrow codex trajectory import 2026-05-06 13:22:04 +01:00
Peter Steinberger
0bc83b0fdf test(perf): narrow codex harness test import 2026-05-06 13:16:09 +01:00
Peter Steinberger
14a113f7e5 test(perf): remove codex hook polling 2026-05-06 12:57:15 +01:00
Peter Steinberger
5d7878dff1 test(perf): narrow codex session key test 2026-05-06 12:45:38 +01:00
Jesse Merhi
1c42c77433 feat: add user input blocking lifecycle gates (#75035)
Summary:
- The PR adds a `before_agent_run` plugin hook with pass/block decisions, redacted blocked-turn persistence, diagnostics/docs/changelog updates, and focused runner, gateway, session, and plugin tests.
- Reproducibility: not applicable. as a feature PR rather than a current-main bug report. Current main lacks ` ... un`, while the PR head adds source coverage and copied live Gateway/WebChat log proof for the new behavior.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix: trim before agent hook PR scope
- PR branch already contained follow-up commit before automerge: fix: keep before-agent blocks redacted
- PR branch already contained follow-up commit before automerge: fix: keep runtime context out of model prompt
- PR branch already contained follow-up commit before automerge: docs: refresh config baseline after rebase
- PR branch already contained follow-up commit before automerge: fix: align blocked turn clients with redacted content
- PR branch already contained follow-up commit before automerge: fix: remove out-of-scope client block UI changes

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

Prepared head SHA: 767e46fde8
Review: https://github.com/openclaw/openclaw/pull/75035#issuecomment-4351843275

Co-authored-by: Jesse Merhi <jessejmerhi@gmail.com>
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-06 11:41:04 +00:00
Peter Steinberger
c4537fa6c3 test(perf): shorten codex app-server hot test 2026-05-06 12:34:22 +01:00
Vincent Koc
16321a27b6 fix(talk): add bounded lifecycle logging 2026-05-06 03:02:02 -07:00
Alex Knight
28e27ca5d1 fix(msteams): preserve proactive thread replies (#78387)
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-06 20:01:18 +10:00
Alex Knight
7a73b37f87 fix memory wiki empty related blocks (#78399)
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-06 19:55:22 +10:00
Peter Steinberger
3323327f6b test(voice-call): wait for media stream readiness 2026-05-06 10:51:05 +01:00
Pavan Kumar Gondhi
b895c6d939 Gate Slack startup user allowlist resolution [AI] (#77898)
* fix: gate slack user allowlist resolution

* addressing codex review

* addressing ci

* docs: add changelog entry for PR merge
2026-05-06 15:16:55 +05:30
Peter Steinberger
8cb58813f2 test(openai): align codex modern model expectation 2026-05-06 10:42:06 +01:00
Vincent Koc
e2501b2d6d fix(diagnostics): export Talk metrics after SDK refactor
Adds bounded Talk lifecycle/audio diagnostics and session recovery metrics for OTEL, Prometheus, and stability snapshots after the Talk SDK/session refactor. Includes changelog/docs updates and Testbox/live proof.
2026-05-06 02:01:52 -07:00
Alex Knight
d9ffc1aa63 fix cron run binding route (#78373)
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-06 18:57:32 +10:00
Peter Steinberger
0b88d6286c chore: bump version to 2026.5.6 2026-05-06 09:47:34 +01:00
Peter Steinberger
5cf55ed3f1 fix(openai): suppress stale Codex OAuth models 2026-05-06 09:38:07 +01:00
Peter Steinberger
a1b49c4b20 fix: stabilize google meet twilio joins 2026-05-06 09:18:20 +01:00
Peter Steinberger
3fb1abcdcb test: isolate directory contract fixtures 2026-05-06 09:12:55 +01:00
Shubhankar Tripathy
9edeffc751 fix(codex/app-server): forward bootstrap into developerInstructions (#77372)
The OpenClaw workspace bootstrap block (SOUL.md, IDENTITY.md, USER.md,
TOOLS.md, BOOTSTRAP.md, MEMORY.md, HEARTBEAT.md) was only being merged into
Codex's config.instructions. The Codex app-server runtime overlay
consistently applies the explicit developerInstructions field, so persona
and style guidance present in the workspace was failing to shape Codex
behavior on session resume.

Build the workspace bootstrap block before finalizing developerInstructions
and join it into both:

- the baseline developerInstructions (initial assignment), and
- the context-engine developerInstructions (when context engine is active),
  preserving the existing config-engine projection addition.

The existing config.instructions merge stays intact, so the bootstrap now
reaches Codex through both paths and downstream hooks
(resolveAgentHarnessBeforePromptBuildResult) see what Codex will actually
receive. AGENTS.md remains excluded because Codex loads it natively.

Update the existing 'passes OpenClaw bootstrap files through ...' test to
also assert the developerInstructions field carries SOUL.md and the Codex
AGENTS.md substitution note while still excluding the native AGENTS.md
content.

Fixes #77363.
2026-05-06 09:09:59 +01:00
Ayaan Zaidi
3e0fcafb87 test(codex): use full runtime plan in app server tests 2026-05-06 13:03:54 +05:30
keshavbotagent
3f210b10ce fix: show Codex tool progress in channel drafts (#77949)
Summary:
- Normalize Codex app-server dynamic and native tool activity into channel-visible tool progress.
- Keep Telegram message-tool-only progress drafts visible without duplicate dynamic item/tool lines.
- Preserve suppressed item progress while avoiding duplicate tool callbacks.

Verification:
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test extensions/codex/src/app-server/event-projector.test.ts extensions/codex/src/app-server/run-attempt.test.ts extensions/telegram/src/bot-message-dispatch.test.ts src/auto-reply/reply/agent-runner-execution.test.ts src/auto-reply/reply/dispatch-from-config.test.ts --pool=forks --maxWorkers=1
- pnpm tsgo:extensions:test
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md extensions/codex/src/app-server/event-projector.ts extensions/codex/src/app-server/event-projector.test.ts extensions/codex/src/app-server/run-attempt.ts extensions/codex/src/app-server/run-attempt.test.ts extensions/codex/src/app-server/tool-progress-normalization.ts extensions/telegram/src/bot-message-dispatch.ts extensions/telegram/src/bot-message-dispatch.test.ts src/auto-reply/get-reply-options.types.ts src/auto-reply/reply/agent-runner-execution.ts src/auto-reply/reply/agent-runner-execution.test.ts src/auto-reply/reply/dispatch-from-config.ts src/auto-reply/reply/dispatch-from-config.test.ts src/infra/agent-events.ts
- pnpm lint:extensions
- pnpm build
- CI on 6ff6a1f868: 88 success, 20 skipped, 1 neutral, no failures or pending checks

Fixes #75641.
2026-05-06 08:18:20 +01:00
Peter Steinberger
f956d0993c test: avoid discord native command cold load 2026-05-06 07:56:37 +01:00
Peter Steinberger
e37607349b test: trim codex app-server test setup 2026-05-06 07:56:37 +01:00
Peter Steinberger
ecf06d7abe test(line): narrow config schema parse failures 2026-05-06 07:49:27 +01:00
Peter Steinberger
5e05052bb9 fix(line): require wildcard for open dm policy 2026-05-06 07:35:46 +01:00
Peter Steinberger
8cc762daff fix(feishu): keep topic sessions stable
Fixes Feishu native topic starter routing by hydrating a missing topic thread ID before session resolution.\n\nCloses #78262.
2026-05-06 07:30:27 +01:00
Patrick Erichsen
5107384e67 fix: stabilize Matrix tool progress QA (#78179)
* fix: stabilize matrix tool progress QA

* fix: handle backtick matrix progress previews

* fix: reuse observed matrix approvals

* fix: retry matrix generated image QA

* fix: wait for matrix sas trust propagation

* fix: resolve matrix target both approvals by reaction

* fix: avoid matrix target both approval echo wait

* fix: reuse observed matrix target both dm approval

* fix: retry matrix approval delivery

* fix: accept active matrix approval dm

* test: align matrix approval retry receipt

* test: include matrix approval view in retry fixture
2026-05-05 23:20:08 -07:00
Ayaan Zaidi
98cbf7f11c fix: show current think level in Telegram picker (#78278) 2026-05-06 11:24:31 +05:30
Peter Steinberger
6febffb6fe test: harden active memory timeout specs 2026-05-06 06:30:48 +01:00
Peter Steinberger
6c743021d7 test: stabilize active memory timeout mocks 2026-05-06 06:18:57 +01:00
Peter Steinberger
6da5eda488 test: avoid real waits in cdp and outbound tests 2026-05-06 05:43:48 +01:00
Peter Steinberger
e9987ffc3a fix: clamp xAI live gateway thinking 2026-05-06 05:33:38 +01:00
Peter Steinberger
afc2c2e207 test(browser): avoid real retry waits 2026-05-06 05:33:28 +01:00
Peter Steinberger
ea26a9dba0 fix: omit xAI reasoning efforts 2026-05-06 05:13:10 +01:00
Brandon
eecda912ee fix(msteams): surface network errors blocking bot JWT validation and outbound replies (#77674) (#78081)
* fix(msteams): surface network errors blocking Teams bot JWT validation and outbound replies (#77674)

When login.botframework.com or smba.trafficmanager.net egress is blocked,
errors previously disappeared completely. JWT validator swallowed network
errors and returned false (401 looked identical to a bad credential), and
outbound send failures with transport-level codes had no hint pointing to
the Connector endpoint.

- sdk.ts: rethrow ECONNREFUSED/ENOTFOUND/EHOSTUNREACH/ETIMEDOUT/ECONNRESET
  from the JWKS key fetch so callers can distinguish firewall blocks from bad
  credentials; add isJwksNetworkError() helper
- monitor.ts: catch rethrown network errors in JWT middleware and log at
  runtime.error level with an actionable message pointing to
  login.botframework.com:443; upgrade allowlist resolution failures from
  runtime.log (optional/silent) to runtime.error
- errors.ts: add "network" kind to classifyMSTeamsSendError for transport-level
  errors (ECONNREFUSED, ENOTFOUND, etc.); add formatMSTeamsSendErrorHint for
  "network" kind pointing to smba.trafficmanager.net and egress rules
- monitor-handler.ts, message-handler.ts: remove spurious ?. from runtime.error
  calls (RuntimeEnv.error is a required non-optional field)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(msteams): surface blocked botframework egress

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com>
2026-05-05 23:11:06 -05:00
Peter Steinberger
5d7262c410 test: align telegram reply assertions with streaming defaults 2026-05-06 05:08:51 +01:00
Peter Steinberger
b85b1c68d1 Refactor file access to use fs-safe primitives (#78255)
* refactor: use fs-safe primitives across file access

* fix: preserve invalid managed npm manifests

* fix: keep fs seams for startup metadata
2026-05-06 05:03:11 +01:00
Ayaan Zaidi
814b125f11 fix(telegram): separate progress drafts from final replies 2026-05-06 09:27:08 +05:30