Commit Graph

7275 Commits

Author SHA1 Message Date
VACInc
a28bf10ce2 fix(codex): observe native tool completions 2026-05-11 14:23:46 +01:00
Val Alexander
42fc84f4b4 fix(control-ui): add static mount fallback
Summary:
- Add a plain HTML Control UI fallback when the module app never mounts.
- Document blank-page recovery guidance and keep the fallback retry-friendly.
- Cover the timeout path with iframe-isolated regression tests.

Verification:
- pnpm exec oxfmt --check --threads=1 ui/index.html ui/src/ui/mount-fallback.test.ts
- pnpm test ui/src/ui/app.talk.test.ts ui/src/ui/mount-fallback.test.ts
- pnpm ui:build
- pnpm check:changed
- GitHub CI for 8ef18e8bca completed without failures.
2026-05-11 08:03:49 -05:00
Peter Steinberger
da7cc2b11c fix(feishu): make manual setup the default 2026-05-11 13:29:13 +01:00
Peter Steinberger
fb11851c7f docs: refresh config baseline 2026-05-11 13:21:47 +01:00
Peter Steinberger
0362b75824 feat(discord): add voice channel allowlist 2026-05-11 13:21:47 +01:00
Peter Steinberger
1cbe6e271b fix(exec): address security floor review 2026-05-11 13:18:50 +01:00
Peter Steinberger
1f49d34c5f fix(gateway): preserve batched client tool calls 2026-05-11 13:06:05 +01:00
Lellansin
0e6aca34db fix(gateway): align OpenAI chat completions tool protocol
fix(gateway): remove unnecessary type assertion in buildAgentPrompt

fix(gateway): reject unsupported forced tool_choice modes

tool_choice=required and named function tool_choice are now rejected
with invalid_request_error until hard enforcement is implemented
at the agent runtime layer. Only auto and none remain supported.

docs: update Chat Completions tool_choice contract to match rejection behavior

Only auto and none are currently accepted; required and named
function tool_choice are rejected until hard enforcement exists.
2026-05-11 13:06:05 +01:00
Peter Steinberger
913c621adb ci: add plugin inspector prerelease advisory 2026-05-11 12:46:33 +01:00
pashpashpash
e9f8387a63 docs: align slash command btw contract 2026-05-11 12:41:21 +01:00
pashpashpash
ddc9581d00 fix(codex): preserve side thread tools 2026-05-11 12:41:21 +01:00
pashpashpash
cc95d4dd28 fix(codex): rotate auth profiles inside harness 2026-05-11 12:41:21 +01:00
pashpashpash
f447e5b9db fix(btw): keep Codex side questions tool-free 2026-05-11 12:41:21 +01:00
pashpashpash
517566e39a fix(auth): accept friendly OpenAI order for Codex profiles 2026-05-11 12:41:21 +01:00
pashpashpash
42e259a696 fix(codex): route btw through native side threads 2026-05-11 12:41:21 +01:00
Peter Steinberger
e376aa4ee1 docs: clarify model override fallback routes 2026-05-11 11:09:47 +01:00
Jeff J Hunter
3247b091d6 Add browser and tool profile quick settings (#80609)
Summary:
- The PR adds Browser enabled and Tool profile controls to Control UI Quick Settings, stacks the tool profile row for narrow cards, and adds focused UI tests plus a screenshot asset.
- Reproducibility: not applicable. This PR adds a Control UI quick-settings capability rather than fixing a reported reproducible bug. Source inspection and the supplied screenshot/log proof cover the changed behavior.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

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

Prepared head SHA: 06adff19fd
Review: https://github.com/openclaw/openclaw/pull/80609#issuecomment-4419255136

Co-authored-by: Jeff J Hunter <support@aipersonamethod.com>
2026-05-11 10:06:00 +00:00
Altay
7d35f28b6c chore(pnpm): align follow-up pnpm 11 surfaces 2026-05-11 10:13:49 +01:00
Peter Steinberger
b9185703bc chore: add model transport debugging 2026-05-11 10:11:03 +01:00
Leo Ge
66b4306a2a fix(fal): route GPT Image 2/NB2 edits through Fal edit endpoints
Fix Fal image-edit routing for GPT Image 2 and Nano Banana 2, including multi-image edit payloads and provider-specific reference limits.

- Routes GPT Image 2/Nano Banana 2 edits through Fal `/edit` endpoints with `image_urls`.
- Keeps Flux/custom image-to-image edits on singular `image_url` and preserves exact custom `/edit` paths.
- Documents and tests provider caps: Flux/custom 1, GPT Image 2 10, Nano Banana 2 14.

Verified with focused Fal provider tests, oxlint, oxfmt, `git diff --check`, docs listing, green PR CI, and live Fal calls for GPT Image 2, Nano Banana 2, Flux, plus the GPT Image 2 10-ref cap edge.

Co-authored-by: Leo Ge <116452300+leoge007@users.noreply.github.com>
2026-05-11 08:22:34 +01:00
Ayaan Zaidi
1c0e745de1 docs(telegram): clarify group id discovery 2026-05-11 11:36:36 +05:30
fuller-stack-dev
af1b4e04a0 docs: clarify Telegram group IDs 2026-05-11 11:36:36 +05:30
Ruben Cuevas
d88e11acf7 fix(agents): restore compaction gateway logs 2026-05-11 06:27:17 +01:00
Ayaan Zaidi
4a009612c9 fix(docker): prune with source workspace policy 2026-05-11 10:50:30 +05:30
Pavan Kumar Gondhi
93ff72a5e8 fix(matrix): gate name-based allowlist resolution [AI] (#79007)
* fix: gate matrix mutable name resolution

* addressing codex review

* addressing codex review

* addressing codex review

* address feedback

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* chore: drop unrelated matrix fix churn

* chore: refresh channel config metadata

* chore: remove unrelated formatting churn

* docs: add changelog entry for PR merge
2026-05-11 10:47:27 +05:30
sxxtony
b2dab308ae fix(slack): include bot root message in new thread sessions (#79338) (#80409)
* fix(slack): include bot root message in new thread sessions (#79338)

When a user replies in-thread to a bot's own message in a Slack DM,
the new thread session was constructed without the parent/root message
content. The agent only saw `reply_to_id` metadata and could not
resolve what was being replied to, leading to confident-but-wrong
actions on follow-up corrections.

The thread-context resolver was filtering out every message authored
by the current bot before formatting thread history, including the
bot's own root message. For thread-replies starting a fresh session,
that left the agent without the parent context it needed.

This change retains current-bot messages in the thread history when
starting a new thread session, formats them with role=assistant under
a "Bot (this assistant)" sender label, and adds
`channels.slack.thread.includeRootMessage` (default `true`) to opt out.
Bot messages still bypass allowlist visibility filtering since the
bot's own output is not third-party content.

Fixes #79338.

* fix(slack): wire includeRootMessage into runtime config schema (#79338)

The first commit added `channels.slack.thread.includeRootMessage` to
the TypeScript type and zod schema, but the runtime AJV-style schema
generated from `extensions/slack/src/config-ui-hints.ts` rejected the
new field with `must NOT have additional properties` at gateway boot.

Adds the matching UI hint entry for `thread.includeRootMessage` and
regenerates the bundled channel config metadata so the live gateway
accepts the new field.

* Narrow Slack thread root context handling

Remove the public includeRootMessage config and keep the Slack thread fix focused on including only the current bot's root message on the first turn of a new thread session.

Preserve filtering of arbitrary current-bot Slack history while ensuring #79338 has parent/root context.

* Fix Slack thread root CI checks

---------

Co-authored-by: Bek <bek.akhmedov@gmail.com>
2026-05-11 01:09:03 -04:00
Kevin Lin
cfc189de0a fix(codex): auto-approve plugin read tools (#80513)
* fix(codex): auto-approve plugin read tools

* docs: add codex plugin approval changelog
2026-05-10 21:13:40 -07:00
Kaspre
ade2e11947 fix(doctor): tolerate stale plugin deny refs 2026-05-11 05:05:30 +01:00
Peter Steinberger
b978b53dbb feat: add per-agent message cross-context policy 2026-05-11 05:00:36 +01:00
Peter Steinberger
d90ab9a13f feat(session): raise ping-pong turn ceiling
Co-authored-by: Thirumalesh <thirumaleshpinninti@gmail.com>
2026-05-11 04:24:19 +01:00
Ayaan Zaidi
2c124a1e79 docs(mantis): describe telegram desktop proof 2026-05-11 08:15:34 +05:30
Peter Steinberger
15cf49222f build: refresh deps and route testbox through crabbox 2026-05-11 03:41:00 +01:00
Peter Steinberger
f7a07d300a docs(plugin-sdk): document consolidated workflow seams 2026-05-11 03:24:08 +01:00
Vincent Koc
f820a9892a docs(providers/google): correct video duration set and audio support 2026-05-11 10:18:35 +08:00
Peter Steinberger
6346e792c4 build: enable stricter TypeScript checks 2026-05-11 02:04:17 +01:00
Peter Steinberger
3f815fad12 fix(gateway): widen native protocol compatibility 2026-05-11 01:38:23 +01:00
Vincent Koc
37906bf37a docs: fix legacy agent: shape in three more pages 2026-05-11 08:26:22 +08:00
Vincent Koc
8dc221121c docs(gateway): fix configuration-examples to use schema-correct agents.defaults paths
The page used the legacy top-level agent: { ... } shape and a top-level
identity: { ... } block. Both are rejected by OpenClawSchema today
(see src/config/zod-schema.ts and the legacy rejection test in
src/config/config.legacy-config-detection.accepts-imessage-dmpolicy.test.ts).

Fixes:
- 6 examples: agent: { workspace, model, elevated } -> agents.defaults.*
- agents.defaults.elevated.enabled (non-existent) -> agents.defaults.elevatedDefault (off|on|ask|full per src/config/zod-schema.agent-defaults.ts:245)
- top-level identity: blocks moved into agents.list[].identity (canonical form per docs/gateway/config-agents.md and AgentEntrySchema)
- Expanded example identity merged into the existing main agent entry rather than a duplicate agents: block
2026-05-11 08:20:45 +08:00
Vincent Koc
f076b1aed9 docs(tools): tighten minimax-search params and remove fictitious browser --target flag 2026-05-11 07:57:28 +08:00
Altay
3855e7b0ac build(pnpm): upgrade workspace to pnpm 11 2026-05-11 00:48:14 +01:00
Vincent Koc
839a5b1ec0 docs(cli): document plugin-aware deep status warnings on gateway/daemon 2026-05-11 07:44:13 +08:00
Peter Steinberger
18997be120 ci: speed up release validation reruns 2026-05-11 00:22:19 +01:00
pashpashpash
0e8a7e12da Enable Codex native code mode for OpenClaw harness runs (#80001)
* fix(codex): enable native code mode in harness

* test(codex): update code mode prompt snapshots

* test(codex): align code mode thread config expectations

* chore(protocol): refresh generated Swift agent params

* fix(codex): enable code-mode-only harness threads

* test(discord): fix test mock type assertions

* test: fix remaining test type assertions

* test(matrix): guard avatar loader test callback
2026-05-11 08:18:03 +09:00
Peter Steinberger
848c28537b feat(models): start local services on demand 2026-05-10 18:21:27 +01:00
Merlin
16c27c1459 fix(tasks): unify completion delivery routing
Route group/channel task, subagent, and media completions through one requester-session delivery policy, including plugin legacy session keys.

Also keeps current Zalo lifecycle test typing green on CI after the latest main changes.

Co-authored-by: Merlin <merlin@funcracker.net>
2026-05-10 17:32:55 +01:00
Ayaan Zaidi
62da36dc3d docs(context): align context map docs (#80325) 2026-05-10 21:50:13 +05:30
Ayaan Zaidi
345d459143 fix(telegram): unify stale reply context 2026-05-10 21:38:18 +05:30
Peter Steinberger
79220d7832 fix(slack): allow top-level tool sends 2026-05-10 17:04:29 +01:00
Peter Steinberger
a94aae73b4 fix(slack): honor configured acp bindings
Co-authored-by: Raasl <114852759+Raasl@users.noreply.github.com>
2026-05-10 16:49:59 +01:00
Peter Steinberger
da3ce0a1b6 fix(slack): normalize direct interactive sends
Co-authored-by: Kazuhiko Kazama <kazamak@gmail.com>
2026-05-10 16:28:15 +01:00