Peter Steinberger
d4fda79ff7
fix: add merged message tool schema guardrail ( #53715 ) (thanks @lndyzwdxhs)
2026-03-24 16:53:56 -07:00
grassylcao
ca578a9183
fix: mark card field as optional in message tool schema
...
The `createMessageToolCardSchema()` helper returned a bare `Type.Object()`
which TypeBox treats as required when merged into the parent tool schema via
`Type.Object({ card: ... })`. This caused schema validation to reject
media-only sends on Feishu and MSTeams with "must have required property
card", even though the implementation correctly treats card as optional.
Wrap the return value in `Type.Optional()` so the card field is excluded
from the JSON Schema `required` array. Fixes the catch-22 where omitting
card fails validation and including an empty card triggers the runtime
"does not support card with media" guard.
Closes #53697
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 16:53:56 -07:00
Vincent Koc
eaad4ad1be
feat(gateway): add missing OpenAI-compatible endpoints (models and embeddings) ( #53992 )
...
* feat(gateway): add OpenAI-compatible models and embeddings
* docs(gateway): clarify model list and agent routing
* Update index.md
* fix(gateway): harden embeddings HTTP provider selection
* fix(gateway): validate compat model overrides
* fix(gateway): harden embeddings and response continuity
* fix(gateway): restore compat model id handling
2026-03-24 16:53:51 -07:00
Peter Steinberger
0709224ce3
fix: tighten gateway compose port parsing ( #44083 ) (thanks @bebule)
2026-03-24 16:51:36 -07:00
Kwanghee Park (hugh.k)
ac7ca52090
Gateway: harden Compose-style gateway port parsing
2026-03-24 16:51:36 -07:00
Kwanghee Park (hugh.k)
b665749e9f
Gateway: parse Compose-style gateway port env values
2026-03-24 16:51:36 -07:00
Tak Hoffman
e48a0b80a8
fix: ignore moved subagent children on stale parents
2026-03-24 18:46:37 -05:00
Peter Steinberger
33e9e485b8
refactor: clarify docker setup cli phases
2026-03-24 16:46:12 -07:00
Peter Steinberger
1ba436b372
test: speed up media and image-generation suites
2026-03-24 23:45:33 +00:00
Peter Steinberger
1a7914521b
test: speed up infra and shared suites
2026-03-24 23:45:33 +00:00
Peter Steinberger
c9f4dd3c1b
test: speed up browser control suites
2026-03-24 23:45:33 +00:00
Aria
63b0036248
fix: normalize baseUrl for custom Google Generative AI providers
...
Custom providers using `api: "google-generative-ai"` (e.g. a paid
Google tier) resolved in the model picker but failed at runtime with
HTTP 404 because the base URL lacked the required `/v1beta` path
segment and provider normalization was gated on the provider key
being exactly `"google"`.
Two targeted fixes, both keyed on the semantic `api` field rather
than provider name strings:
1. `models-config.providers.ts` — change the normalization gate from
`normalizedKey === "google"` to
`normalizedProvider?.api === "google-generative-ai"` and add
`normalizeGoogleBaseUrl()` to ensure the canonical `/v1beta` suffix.
2. `pi-embedded-runner/model.ts` — apply
`normalizeGoogleGenerativeAiBaseUrl()` in three resolution paths
(`applyConfiguredProviderOverrides`, `buildInlineProviderModels`,
fallback model construction) so the base URL is corrected at
runtime regardless of how the model was discovered.
No changes to name-only call sites (`model-selection`,
`live-model-filter`, `model-forward-compat`); those paths are not
required for custom provider resolution and broadening their provider
checks would incorrectly capture unrelated providers like
`google-antigravity`.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-24 16:42:56 -07:00
김채완
d21ecd7642
Tests: match any pre-start openclaw-cli run
2026-03-24 16:35:42 -07:00
김채완
3ce09bd071
Tests: reset docker setup log before isolated assert
2026-03-24 16:35:42 -07:00
김채완
81be4b45a6
Docker: seed localhost control UI origin
2026-03-24 16:35:42 -07:00
김채완
dbb806d257
Docker: avoid setup CLI namespace loop
2026-03-24 16:35:42 -07:00
Peter Steinberger
6f6468027a
refactor: dedupe test and runtime seams
2026-03-24 23:33:30 +00:00
Tak Hoffman
369119b6b5
fix: ignore stale parent rows in session child lists
2026-03-24 18:29:03 -05:00
Devin Robison
1d7cb6fc03
fix: close sandbox media root bypass for mediaUrl/fileUrl aliases ( #54034 )
...
* fix: close sandbox media root bypass for mediaUrl/fileUrl aliases
* Address Greptile feedback
* Fix windows test case failure
2026-03-24 17:28:53 -06:00
Tak Hoffman
907b5254f6
fix: ignore stale rows in subagent kill cascade
2026-03-24 18:12:48 -05:00
Tak Hoffman
1fd684329d
fix: ignore stale rows in fast abort
2026-03-24 17:52:28 -05:00
Tak Hoffman
a03bbca4df
fix: cascade bulk subagent kills past stale rows
2026-03-24 17:43:21 -05:00
Tak Hoffman
b6031a98e7
fix: ignore stale rows in subagent steer
2026-03-24 17:38:38 -05:00
Tak Hoffman
fee9d4cf37
fix: dedupe stale child completion announces
2026-03-24 17:25:14 -05:00
Tak Hoffman
2c5c5acb1b
fix: ignore stale rows in subagent admin kill
2026-03-24 17:25:14 -05:00
Tak Hoffman
c90ae1ee7f
fix: prefer latest subagent rows for session control
2026-03-24 17:25:14 -05:00
Tak Hoffman
b8a0258618
fix: ignore stale rows in subagent activity checks
2026-03-24 17:25:14 -05:00
Peter Steinberger
d282667321
test: speed up cli and command suites
2026-03-24 22:17:12 +00:00
Vincent Koc
e28b516fb5
fix(slack): trim DM reply overhead and restore Codex auto transport ( #53957 )
...
* perf(slack): instrument runtime and trim DM overhead
* perf(slack): lazy-init draft previews
* perf(slack): add turn summary diagnostics
* perf(core): trim repeated runtime setup noise
* perf(core): preselect default web search providers
* perf(agent): restore OpenAI auto transport defaults
* refactor(slack): drop temporary perf wiring
* fix(slack): address follow-up review notes
* fix(security): tighten slack and runtime defaults
* style(web-search): fix import ordering
* style(agent): remove useless spread fallback
* docs(changelog): note slack runtime hardening
2026-03-24 15:03:40 -07:00
Devin Robison
47dc7fe816
fix: blcok non-owner authorized senders from chaning /send policy ( #53994 )
2026-03-24 15:58:39 -06:00
Tak Hoffman
c541cde0f6
fix: dedupe restarted descendant session counts
2026-03-24 16:52:50 -05:00
Tak Hoffman
e24704d5eb
fix: dedupe active child session counts
2026-03-24 16:52:50 -05:00
Tak Hoffman
eb40f0b961
fix: clean up matrix /agents binding labels
2026-03-24 16:52:49 -05:00
Peter Steinberger
3622569853
test: speed up memory provider suites
2026-03-24 21:48:07 +00:00
Vincent Koc
d648aebf4d
perf(memory): builtin sqlite hot-path follow-ups ( #53939 )
...
* chore(perf): start builtin sqlite hotpath workstream
* perf(memory): reuse sqlite statements during sync
* perf(memory): snapshot file state during sync
* perf(memory): consolidate status sqlite reads
* docs(changelog): note builtin sqlite perf work
* perf(memory): avoid session table scans on targeted sync
2026-03-24 14:47:40 -07:00
Peter Steinberger
23a4ae4759
refactor: dedupe test helpers and harnesses
2026-03-24 21:41:46 +00:00
Tak Hoffman
9f4f997472
fix: align /agents ids with subagent targets
2026-03-24 16:29:49 -05:00
Tak Hoffman
a4ccd75ff3
fix: dedupe verbose subagent status counts
2026-03-24 16:18:03 -05:00
Tak Hoffman
51e59983a1
fix: report deduped subagent totals
2026-03-24 16:13:25 -05:00
Tak Hoffman
69d6e95c2a
fix: dedupe stale subagent rows in reply views
2026-03-24 16:07:19 -05:00
Peter Steinberger
68b36cd9de
test: fix rebase gate regressions
2026-03-24 21:01:04 +00:00
Peter Steinberger
bcd61f0a38
refactor: dedupe helpers and source seams
2026-03-24 21:00:36 +00:00
Tak Hoffman
ebe18c0379
fix: keep active-descendant subagents visible in reply status
2026-03-24 15:55:57 -05:00
Vincent Koc
6bf90a1d68
fix(test): stabilize memory vector dedupe assertion
2026-03-24 13:45:18 -07:00
Vincent Koc
eda1ef7b1a
fix(ci): align lazy memory provider tests
2026-03-24 13:40:03 -07:00
Peter Steinberger
ddf65a995a
test: speed up memory and secrets suites
2026-03-24 20:39:13 +00:00
Peter Steinberger
e2acfcf527
test: speed up browser pw-tools-core suites
2026-03-24 20:39:13 +00:00
Tak Hoffman
caa718a554
fix: steer ended subagent orchestrators with live descendants
2026-03-24 15:27:19 -05:00
Tak Hoffman
e99c270684
fix: allow follow-up sends to finished subagents
2026-03-24 15:20:39 -05:00
Vincent Koc
7d6d112656
perf(sqlite): use existence probes for empty memory search
2026-03-24 13:15:41 -07:00