Commit Graph

66940 Commits

Author SHA1 Message Date
dwc1997
ecf054a40f test(infra): add numeric option helper coverage 2026-06-29 10:36:12 -07:00
Dallin Romney
0deddfa204 feat(whatsapp): support Baileys WebSocket URL override (#97155)
* Allow WhatsApp monitor socket substitution

* Refine WhatsApp socket substitution surface

* Keep WhatsApp socket seam on existing API

* Tighten WhatsApp socket seam type exports

* Simplify WhatsApp monitor runtime option state

* Use WhatsApp WebSocket URL override
2026-06-29 10:28:34 -07:00
SunnyShu
6de357ad47 fix(agents): enable bundled static catalog fallback for cron Attempt 2 (#96070)
* [AI] fix(agents): enable bundled static catalog fallback for cron Attempt 2 (#95500)

Plugin-provided models (e.g. opencode-go/deepseek-v4-flash) are registered
in the bundled static catalog but are not discoverable via agent model
discovery alone. The embedded runner's Attempt 2 (after ensureOpenClawModelsJson)
now passes allowBundledStaticCatalogFallback to resolveModelAsync so these
models are resolved through the static catalog fallback path.

Co-Authored-By: iCodeMate <noreply@anthropic.com>

* fix(agents): trim production comment to durable contract per ClawSweeper P3

* fix(agents): enforce plugin policy for static catalog fallback

Signed-off-by: sallyom <somalley@redhat.com>

---------

Signed-off-by: sallyom <somalley@redhat.com>
Co-authored-by: iCodeMate <noreply@anthropic.com>
Co-authored-by: sallyom <somalley@redhat.com>
2026-06-29 11:47:21 -04:00
SunnyShu
1052652a71 fix(session-memory): skip transcript-only assistant messages in getRecentSessionContent (#94401)
* fix(session-memory): only skip delivery-mirror duplicates, preserve unique DM rows

- Skip delivery-mirror rows only when their text duplicates the preceding
  assistant text (fixes #92563)
- Delivery-mirror rows with unique visible content (e.g., message-tool
  replies) are preserved
- Gateway-injected standalone assistant replies are preserved
- Combined with upstream sanitizeSessionMemoryTranscriptText

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(session-memory): reset assistant-text tracking across user turns

lastAssistantText persisted across user messages, causing delivery-mirror
rows that echoed a previous turn's assistant text to be incorrectly
filtered. Reset lastAssistantText to undefined when a visible user
message is emitted, so cross-turn delivery-mirror duplicates are
preserved while same-turn duplicates are still skipped.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(session-memory): reset mirror dedupe on command turns

Signed-off-by: sallyom <somalley@redhat.com>

---------

Signed-off-by: sallyom <somalley@redhat.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: sallyom <somalley@redhat.com>
2026-06-29 11:19:25 -04:00
sunlit-deng
825d9a6662 fix(os): use sw_vers for macOS version on Darwin instead of os.release() (#95225)
* fix(os): use sw_vers for macOS version on Darwin instead of os.release()

* fix: cache sw_vers, keep resolveOsSummary().release as raw kernel version

Addresses ClawSweeper P1 findings on #95225:

1. Cache sw_vers output for process lifetime: resolveDarwinProductVersion()
   is called on the agent prompt hot path (3 callers via resolveOsProductLabel).
   Without caching, every prompt build spawns a synchronous subprocess.
   Added module-level cache + _resetCachedDarwinProductVersion() for tests.

2. Keep resolveOsSummary().release as os.release(): changing release from
   raw kernel to product version breaks status JSON and trajectory metadata
   consumers that expect the Darwin kernel release. The darwin product
   version is now used only in the label field.

* fix(os): preserve runtime OS labels off Darwin
2026-06-29 08:03:56 -07:00
solodmd
86b9b88f40 test(firecrawl): add unit tests for firecrawl client functions (#97714) 2026-06-29 07:58:40 -07:00
solodmd
d21ddd3f7a test(config): add unit tests for mapZodIssueToConfigIssue (#97736)
* test(config): add unit tests for mapZodIssueToConfigIssue

* fix: remove unused ts-expect-error directive
2026-06-29 07:55:11 -07:00
Andi Liao
be94853de0 fix(tasks): recover terminal lost cron rows (#86088)
* fix(tasks): recover terminal lost cron rows

* fix(tasks): require backing-session lost recovery signal

* fix(tasks): satisfy has-own lint rule

---------

Co-authored-by: Altay <altay@hey.com>
2026-06-29 15:32:47 +03:00
Harjoth Khara
355c43fe0c fix(ui): collapse failed internal tool calls when the turn still replied (#89683) (#90122)
A non-zero internal tool exit (Codex marks any non-zero exit as failed,
e.g. a no-match shell search) was promoted to a primary red "Tool error"
banner in Control UI even when the turn produced a clean assistant reply.
Compute a per-tool-group turnSucceeded signal at the chat projection
boundary and de-promote such non-terminal failures to a collapsed tool
summary; detail stays available on expand. Genuinely terminal tool
failures still surface.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 15:23:46 +03:00
Momo
db2488b6e3 fix(memory): record structured dreaming outcomes (#97723)
Summary:
- Merged fix(memory): record structured dreaming outcomes after ClawSweeper review.

Automerge notes:
- PR branch already contained follow-up commit before automerge: chore(plugin-sdk): update surface budgets

Validation:
- ClawSweeper review passed for head 9fa7d20a96.
- Required merge gates passed before the squash merge.

Prepared head SHA: 9fa7d20a96
Review: https://github.com/openclaw/openclaw/pull/97723#issuecomment-4831902831

Co-authored-by: momothemage <niuzhengnan@163.com>
Approved-by: momothemage
2026-06-29 11:23:38 +00:00
mikasa
cfd8ba8fc8 fix #95519: [Bug]: Fallback should trigger on provider upstream_error / LLM request failed (#95542)
* fix(agents): fallback on upstream provider errors

* refactor(agents): clarify provider fallback classification

---------

Co-authored-by: Altay <altay@hey.com>
2026-06-29 14:12:09 +03:00
Kevin Lin
389c355bcf fix(codex): preserve per-app approval reviewer policy (#97327)
* fix(codex): version app inventory cache keys

* fix(codex): refresh and replay plugin app policy

* fix(codex): preserve user reviewer for plugin turns

* fix(codex): gate plugin reviewer from startup policy

* fix(codex): route app approvals to user reviewer

* fix(codex): prompt destructive app tools

* fix(codex): scope app approval reviewers

* test(codex): complete app policy fixture

* fix(codex): avoid pre-start app inventory gate

* Revert "fix(codex): prompt destructive app tools"

This reverts commit d1cb0d5ba8.

# Conflicts:
#	extensions/codex/src/app-server/plugin-thread-config.test.ts
#	extensions/codex/src/app-server/plugin-thread-config.ts
2026-06-29 02:35:13 -07:00
wm0018
ff1e7e1305 docs(telegram): correct errorPolicy values and defaults 2026-06-29 01:20:44 -07:00
wm0018
293f0369d0 docs(feishu): remove nonexistent disabled dmPolicy option 2026-06-29 01:05:03 -07:00
Dallin Romney
96c8338d5b test: fold remaining Docker lanes into QA (#97708) 2026-06-29 00:39:06 -07:00
cxbAsDev
0ce10d7793 fix(agents): bound WHAM usage probe JSON response reads 2026-06-29 00:21:36 -07:00
Wynne668
ac5af25015 fix: document stream cleanup fallback intent 2026-06-29 00:20:56 -07:00
Rain
0635fa5eca fix(agents): safely record non-json transport errors 2026-06-29 00:15:21 -07:00
Dallin Romney
5327340a09 test: fold release upgrade docker lanes into qa (#97689) 2026-06-28 23:59:36 -07:00
Rain
b01e6127d9 fix(config): accept overlays for bundled provider aliases (#88400)
Co-authored-by: Pluviobyte <Pluviobyte@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 23:40:02 -07:00
programmingWTF
05cf497767 feat(control-ui): add right-click Reply in Dashboard webchat (#92654)
* fix(control-ui): right-click Reply icon, dismiss button, quote format, and queue ordering

* fix(control-ui): harden Dashboard webchat reply menu

* fix(control-ui): satisfy reply menu lint

---------

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com>
2026-06-28 23:37:32 -07:00
saju01
78b03fb415 test(github-copilot): cover live xhigh reasoning for non-Claude models (#91728)
Regression coverage for #59416: when live /models metadata wins over the
static xhigh allowlist, non-Claude mini-family ids (e.g. gpt-5.4-mini)
must gain xhigh from their resolved compat, while ids whose live effort
list lacks xhigh (e.g. gpt-5-mini) must not over-grant it.

The live-first model catalog union and models-defaults removal are
already in origin/main (75405f64d0, 46c42d4a0d, d2279591bf); this PR now
contributes only the still-missing regression tests on top of that base.

Co-authored-by: saju01 <saju@coderedcorp.com>
2026-06-28 23:34:28 -07:00
狼哥
68ddb9744f ci: check bundled channel config metadata (#91134) 2026-06-28 23:24:22 -07:00
Dallin Romney
18f0eeab20 test: fold webchat auto tts proof into qa (#97632) 2026-06-28 23:20:13 -07:00
Vincent Koc
f5482efbd7 UI: render half-block QR output in web chat (#93869)
Co-authored-by: MG <1900448+emg110@users.noreply.github.com>
2026-06-28 23:12:28 -07:00
Acache
e7d6566b8f fix(feishu): publish transport health status (#90966)
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: Acache <acache@users.noreply.github.com>
2026-06-28 23:12:09 -07:00
Vincent Koc
c0ee7a1d20 test: gate symlink assertions on file symlink capability (#95531)
Co-authored-by: ANIRUDDHA ADAK <127435065+aniruddhaadak80@users.noreply.github.com>
2026-06-28 22:50:37 -07:00
Goutam Adwant
5715744ea0 fix(control-ui): apply seamColor bootstrap config (#93699) 2026-06-28 22:31:31 -07:00
Alex Knight
527f20f4b5 refactor(diagnostics): keep model-call prompt/usage types module-local to avoid SDK surface growth 2026-06-29 15:21:53 +10:00
Alex Knight
ee0d50bb2c fix(diagnostics): capture per-call usage on terminal error streams; skip prompt stats when diagnostics off 2026-06-29 15:21:53 +10:00
Alex Knight
aeab5f8418 feat: improve model call telemetry 2026-06-29 15:21:53 +10:00
solodmd
7e2f425c49 test(provider-usage): cover bounded shared response reads 2026-06-28 22:12:53 -07:00
Vincent Koc
db2786bde1 fix(provider-usage): bound usage response body reads 2026-06-28 21:57:22 -07:00
Alix-007
46e119074e fix(xai): bound video response body reads 2026-06-28 21:57:14 -07:00
NIO
748bea3434 fix(github-copilot): bound login JSON response reads 2026-06-28 21:57:06 -07:00
wangmiao0668000666
a6aaba76ac fix(google): bound OAuth response body reads 2026-06-28 21:49:13 -07:00
Josh Avant
75db48a175 fix(sessions): compare reply init revisions using persisted shape (#97657) 2026-06-28 23:45:50 -05:00
Vincent Koc
0392ff7242 fix(test): remove duplicate provider HTTP mock export 2026-06-28 21:44:50 -07:00
wangmiao0668000666
bf66b4e1ea fix(comfy): bound JSON response reads via readProviderJsonResponse 2026-06-28 21:33:30 -07:00
wangmiao0668000666
f83cdec217 fix(chutes-oauth): bound core helper JSON response reads 2026-06-28 21:33:24 -07:00
wangmiao0668000666
5723222bbb fix(chutes-oauth-plugin): bound plugin JSON response reads 2026-06-28 21:33:20 -07:00
wangmiao0668000666
238398e331 fix(video-generation): bound DashScope JSON response reads 2026-06-28 21:33:09 -07:00
wangmiao0668000666
ff820d3942 fix(openai-completions): bound SSE response reads via buildGuardedModelFetch
Rebased and narrowed to the current-main OpenAI completions guarded-fetch fix. Validation passed locally and GitHub checks were green before merge.
2026-06-28 21:28:27 -07:00
Alix-007
74a9beb83f fix(vydra): bound control response reads
Reviewed and accepted after live preflight: mergeable clean, checks passing, no unresolved review threads.
2026-06-28 21:11:23 -07:00
Alix-007
ce1217a49c fix(fal): bound music/video generation response reads
Reviewed and accepted after live preflight: mergeable clean, checks passing, no unresolved review threads.
2026-06-28 21:11:14 -07:00
Alix-007
ca1bc58759 fix(together, pixverse): bound video response reads
Reviewed and accepted after live preflight: mergeable clean, checks passing, no unresolved review threads.
2026-06-28 21:11:05 -07:00
Alix-007
f0e2f7b4f5 fix(openai): bound video create-submit response reads
Reviewed and accepted after live preflight: mergeable clean, checks passing, no unresolved review threads.
2026-06-28 21:10:55 -07:00
Alix-007
63b089383a fix(runway): bound video create/poll response reads
Reviewed and accepted after live preflight: mergeable clean, checks passing, no unresolved review threads.
2026-06-28 21:10:46 -07:00
Alix-007
89b5a87909 fix: bound APNs relay response body so an oversized relay reply can't exhaust gateway memory
Reviewed and accepted after live preflight: mergeable clean, checks passing, no unresolved review threads.
2026-06-28 21:10:38 -07:00
Alix-007
561c713bb1 fix(cli): bound and redact generated video downloads
Bounds the no-output generated video download path and redacts provider URLs from HTTP failure errors.
2026-06-28 21:04:29 -07:00