Commit Graph

3381 Commits

Author SHA1 Message Date
Shakker
cffe71e2ba test: assert legacy sender warnings 2026-05-11 12:46:02 +01:00
Kaspre
775a24e57c fix(doctor): warn when per-agent model omits fallbacks key and defaults chain is non-empty (#79826)
* fix(doctor): warn when per-agent model omits fallbacks key and defaults chain is non-empty

`resolveAgentModelFallbacksOverride` in `src/agents/agent-scope.ts` returns
`[]` (no fallbacks) when a per-agent model is configured without an explicit
`fallbacks` key. At runtime this silently clobbers
`agents.defaults.model.fallbacks`, leaving the agent with no fallbacks.

Two config patterns hit this:

1. String form: `"model": "openai/gpt-5.5"` — user likely means "use this model,
   inherit fallbacks from defaults".
2. Object without `fallbacks` key: `"model": { "primary": "openai/gpt-5.5" }` —
   user likely means "just set the primary, keep defaults fallbacks".

The only explicit "no fallbacks" signal is `fallbacks: []`. This change adds
`collectImplicitFallbackClobberWarnings` / `noteImplicitFallbackClobberWarnings`
to the doctor config-analysis flow, which warns on either ambiguous shape only
when `agents.defaults.model.fallbacks` is non-empty (so there is something to
clobber).

No semantic change to how fallbacks resolve; this is a doctor-only diagnostic.

Closes #79369. Extends the scope of closed PR #79389 (string-form only) to
also cover the object-without-fallbacks case.

* fix(doctor): mirror runtime model primary normalization

* fix(doctor): strengthen fallback warning proof

* fix(doctor): tolerate malformed agent lists

* fix(doctor): type guarded agent runtime policy

* fix(ui): sync quick settings i18n baseline

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-11 12:43:51 +01:00
Peter Steinberger
b3e2f3b261 fix: repair broken plugin package entries 2026-05-11 10:53:55 +01:00
Peter Steinberger
2251e9f489 fix: normalize onboarded gemini catalog ids 2026-05-11 08:26:54 +01:00
Pavan Kumar Gondhi
17ceca86d6 Redact persisted secret-shaped payloads [AI] (#79006)
* fix: redact persisted secret-shaped payloads

* docs: add changelog entry for PR merge
2026-05-11 12:52:32 +05:30
Peter Steinberger
c743c61c69 fix(gateway): clarify token source conflict warning 2026-05-11 07:56:12 +01:00
Peter Steinberger
17308cf4bb test: tighten agent gateway assertions 2026-05-11 06:10:37 +01:00
Peter Steinberger
44d7e6810a test: tighten gateway health assertions 2026-05-11 06:08:38 +01:00
Peter Steinberger
21c8818b40 test: tighten codex route warnings assertions 2026-05-11 06:04:54 +01:00
Peter Steinberger
d8fb1aa84c fix: narrow stale plugin recovery bypass 2026-05-11 05:05:30 +01:00
Kaspre
ade2e11947 fix(doctor): tolerate stale plugin deny refs 2026-05-11 05:05:30 +01:00
Peter Steinberger
32ab8f0811 test: cover systemd update deferral on linux 2026-05-11 03:59:32 +01:00
Kaspre
c4fa9cd2e0 fix(doctor): defer systemd update rewrites 2026-05-11 03:59:32 +01:00
Peter Steinberger
15cf49222f build: refresh deps and route testbox through crabbox 2026-05-11 03:41:00 +01:00
Peter Steinberger
385ec9fd86 test: cover gemini preview models set normalization 2026-05-11 03:15:59 +01:00
Peter Steinberger
6346e792c4 build: enable stricter TypeScript checks 2026-05-11 02:04:17 +01:00
Altay
3855e7b0ac build(pnpm): upgrade workspace to pnpm 11 2026-05-11 00:48:14 +01:00
Peter Steinberger
15711cdcc0 test: tighten dashboard link assertions 2026-05-10 23:47:09 +01:00
Peter Steinberger
cc0e449951 test: tighten doctor cron assertions 2026-05-10 22:36:56 +01:00
Peter Steinberger
086938f9af test: tighten doctor preview warning assertions 2026-05-10 21:20:49 +01:00
Peter Steinberger
78a35f8254 test: tighten onboarding channel assertions 2026-05-10 21:19:33 +01:00
Peter Steinberger
e67988c337 test: clear auth-choice plugin provider broad matchers 2026-05-10 18:15:31 +01:00
Peter Steinberger
7c9204badd test: clear doctor gateway service broad matchers 2026-05-10 18:10:00 +01:00
Peter Steinberger
f9c0dc2d2b fix(feishu): fall back from missing thread replies (#80306)
Summary:
- The branch adds an opt-in Feishu top-level group-send fallback for withdrawn or missing normal quoted thread replies, plus regression coverage, a changelog entry, and CI/lint typing and baseline refreshes.
- Reproducibility: yes. at source level. Current main hard-errors withdrawn/not-found Feishu reply targets when `replyInThread` is true, and the existing regression test asserts that no top-level create fallback occurs.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(feishu): fall back from missing thread replies
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8030…
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): reconcile automerge-openclaw-openclaw-80306 with ma…
- PR branch already contained follow-up commit before automerge: fix(ci): satisfy stricter lint and test types
- PR branch already contained follow-up commit before automerge: fix(ci): align Node 24 test typing

Validation:
- ClawSweeper review passed for head 93146f9d13.
- Required merge gates passed before the squash merge.

Prepared head SHA: 93146f9d13
Review: https://github.com/openclaw/openclaw/pull/80306#issuecomment-4415604729

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-10 16:41:51 +00:00
Peter Steinberger
a89634da59 test: clear rebased ci helper typing 2026-05-10 17:06:15 +01:00
Peter Steinberger
a57d76365c test: clear configure channels broad matchers 2026-05-10 16:57:55 +01:00
Peter Steinberger
b17793634d test: clear auth choice broad matchers 2026-05-10 16:42:12 +01:00
carlos4s
f841d6ede5 doctor: exempt the live compatibility agent dir from orphan-dir warnings 2026-05-10 15:45:52 +01:00
Peter Steinberger
02d3fe343d fix: surface model pricing health degradation 2026-05-10 15:27:07 +01:00
Vincent Koc
b1311d0a3a Merge branch 'main' of https://github.com/openclaw/openclaw
* 'main' of https://github.com/openclaw/openclaw: (228 commits)
  test: clear status command broad matchers
  feat(telegram): polish Crabbox proof captures
  test: clear config plugin validation broad matchers
  test: fix lint issues on main
  test: clear plugin install broad matchers
  fix: restore unbound message channel prompt options
  refactor: trim OpenClaw prompt guidance
  test: clear config cli broad matchers
  test: clear node host exec broad matchers
  test: clear plugin discovery broad matchers
  test: clear installed plugin index store broad matchers
  test: clear plugin registry broad matchers
  test: clear auto reply plugins broad matchers
  test: clear signal client adapter broad matchers
  test: clear slack upload broad matchers
  fix(slack): clarify download file ids
  test: clear discord native command broad matchers
  test: clear runtime llm broad matchers
  fix(slack): clarify formatting hints
  test: clear outbound send service broad matchers
  ...
2026-05-10 22:08:24 +08:00
Peter Steinberger
84811a47ce test: clear status command broad matchers 2026-05-10 15:07:21 +01:00
Peter Steinberger
7fa895889c test: clear onboard auth broad matchers 2026-05-10 14:30:29 +01:00
Peter Steinberger
f50ece6d62 fix(cli): expose gateway delivery status 2026-05-10 14:09:01 +01:00
Peter Steinberger
335e5456d0 fix(agent): respect delivery status evidence 2026-05-10 14:09:01 +01:00
Peter Steinberger
eddf563611 test: clear migration selection broad matchers 2026-05-10 13:14:40 +01:00
Peter Steinberger
cd5255679a test: clear model status broad matchers 2026-05-10 13:13:13 +01:00
Peter Steinberger
4f32a32ed6 refactor: move rare sdk seams into owners 2026-05-10 12:37:10 +01:00
Peter Steinberger
827b0de0ce refactor: reduce plugin sdk surface 2026-05-10 12:37:10 +01:00
Peter Steinberger
3f0c2bd013 test: clear plugin registry migration broad matchers 2026-05-10 12:17:11 +01:00
Peter Steinberger
25e780732e test: clear channel setup plugin install broad matchers 2026-05-10 11:37:29 +01:00
Peter Steinberger
f72a520f7b test: clear model picker broad matchers 2026-05-10 11:05:11 +01:00
Peter Steinberger
8f762b6044 test: clear channels add broad matchers 2026-05-10 10:25:49 +01:00
Peter Steinberger
0235040840 test: clear models list forward compat broad matchers 2026-05-10 10:08:39 +01:00
Peter Steinberger
d34c4f9426 test: clear configure wizard broad matchers 2026-05-10 09:56:15 +01:00
Peter Steinberger
a39c05559b fix: preserve Codex auth during route repair
Summary:
- repair legacy openai-codex model refs to canonical openai refs without losing Codex auth intent
- keep scoped repairs from broadening runtime policy to unrelated agent/channel routes
- preserve explicit concrete model runtime pins and shield listed-agent canonical refs from default policy spillover

Verification:
- pnpm test src/commands/doctor/shared/codex-route-warnings.test.ts src/config/plugin-auto-enable.core.test.ts src/commands/doctor/shared/missing-configured-plugin-install.test.ts
- env -u OPENCLAW_TESTBOX -u OPENCLAW_TESTBOX_ID pnpm check:changed
- GitHub checks for 81b2934240
2026-05-10 04:53:44 -04:00
Peter Steinberger
faa1c6f972 fix: preserve custom provider context limits (#79911) 2026-05-10 04:51:45 -04:00
Jefsky
17b593d123 fix(onboard): avoid custom-provider compaction deadlock (#79428)
Raise default/effective Custom Provider contextWindow above the compaction
reserveTokensFloor default so new onboard flows do not infinite-compact.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-10 04:51:45 -04:00
Peter Steinberger
df68a157b3 test: clear doctor gateway service broad matchers 2026-05-10 09:32:52 +01:00
Vincent Koc
74e5fb9099 fix(channels): handle guided setup cancellation 2026-05-10 15:37:57 +08:00
Peter Steinberger
d5c094f169 fix(models): include auth catalog rows in configured list 2026-05-10 07:45:39 +01:00