Commit graph

3142 commits

Author SHA1 Message Date
Peter Steinberger
2d2c420ed2
test: speed up prompt snapshot checks 2026-05-18 01:37:31 +01:00
Peter Steinberger
bb691a0d25 fix(ci): recognize gateway run command chunk 2026-05-18 01:35:04 +01:00
Peter Steinberger
9a936b3063
test: fix CI regressions 2026-05-18 00:37:48 +01:00
Peter Steinberger
691d62630f
test: keep slow tests under duration cap 2026-05-18 00:26:44 +01:00
Gio Della-Libera
9a5f2f61e7
Doctor: add health-check contract and --lint validation (#80055)
* feat(doctor): add --lint mode + structured HealthFinding shape

Adds the core machinery for `openclaw doctor --lint` per the
doctor-lint-and-oc-rules upstream proposal. PR-1 of the proposal:
no new top-level verb, no public plugin SDK; everything internal.

Files:
- src/flows/checks.ts ? HealthFinding / HealthCheck / HealthCheckContext
   types. Findings carry severity per-finding; checks return
   readonly HealthFinding[]. Mode tag (doctor/lint/fix) lets a check
   distinguish the calling posture.
- src/flows/health-check-registry.ts ? module-level registry with
   duplicate-id rejection + test reset helper.
- src/flows/doctor-lint-flow.ts ? runner over registered checks.
   Catches throws into synthetic error findings (anchored at check id;
   message scrubbed of control chars, capped at 256 bytes). Sorts
   findings by severity desc, check id, path. Exports
   exitCodeFromFindings (1 if any warning/error, 0 otherwise).
- src/flows/doctor-core-checks.ts ? 4 modern HealthChecks rewriting
   logic from existing legacy run*Health functions:
     core/doctor/gateway-config            (warning)
     core/doctor/command-owner             (info)
     core/doctor/workspace-status          (info)
     core/doctor/final-config-validation   (error)
   Each was audited safe per the proposal's adapter constraints
   (no writes, no repair calls, no prompts, no probes incl. local-bind).
   Legacy run*Health contributions in doctor-health-contributions.ts
   are unchanged ? doctor mode (no --lint) still runs the existing 35.
- src/commands/doctor-lint.ts ? CLI dispatch for --lint. Reads config
   snapshot, builds HealthCheckContext (mode: "lint"), runs the registry,
   filters by --severity-min, emits human or JSON output, returns exit
   code from unfiltered set so --severity-min hides info findings
   without changing CI signal.
- src/cli/program/register.maintenance.ts ? adds --lint, --json,
   --severity-min, --skip, --only flags to existing doctor command.
   --lint branches to runDoctorLintCli; without --lint, doctor runs
   unchanged.

LoC: 382 src across 6 files. Tests + doc + oc-path-side rule packs
follow as separate commits on this branch.

* fix: avoid string spread in doctor errors

* chore: refresh plugin SDK API baseline

* docs: clarify doctor lint usage

* feat(doctor): prepare repairs for dry-run reporting
2026-05-17 12:29:57 -07:00
Gavin Zeng
ea72414e1c
fix(build): bundle zod inline to fix pnpm global install resolution (#78515)
Merged via squash.

Prepared head SHA: c925d1afab
Co-authored-by: ggzeng <20488795+ggzeng@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
2026-05-17 19:20:42 +03:00
Vincent Koc
1926982c4c
fix(qa-lab): refresh parity model targets 2026-05-17 23:12:26 +08:00
Peter Steinberger
f74b302dc2
test: harden live QA transport validation 2026-05-17 13:16:02 +01:00
Vincent Koc
e3621f5057
fix(cli): keep secret diagnostics off json stdout 2026-05-17 20:08:16 +08:00
Peter Steinberger
b17e4ed50c feat: add simple tool plugin authoring 2026-05-17 11:45:18 +01:00
Vincent Koc
10dd9c5aee
fix(e2e): follow scoped configure prompts 2026-05-17 18:30:07 +08:00
Peter Steinberger
9feca3e11e
fix: stabilize release validation gates 2026-05-17 11:24:01 +01:00
Vincent Koc
540a4a73d5
fix(ci): handle missing SwiftLint in Testbox changed checks 2026-05-17 18:00:19 +08:00
Peter Steinberger
e3a248585e fix(cli): preserve scoped secret resolution
Co-authored-by: wuyangfan <1102042793@qq.com>

# Conflicts:
#	src/cli/capability-cli.test.ts
#	src/cli/capability-cli.ts
2026-05-17 10:42:57 +01:00
Peter Steinberger
fe680e47ce fix(cli): scope web command secret refs 2026-05-17 10:42:57 +01:00
Vincent Koc
00fc2950d9
chore(scripts): harden dev tooling diagnostics 2026-05-17 17:04:18 +08:00
Peter Steinberger
7b96109920 ci: include skill scripts in duplicate scan 2026-05-17 09:58:24 +01:00
Peter Steinberger
ad155fbbd7
fix(gateway): restore v4 message action protocol 2026-05-17 06:35:39 +01:00
Peter Steinberger
1ceebf8a01
ci: harden release publish evidence 2026-05-17 06:34:58 +01:00
Peter Steinberger
c4d8e0be18
ci: harden release validation flow 2026-05-17 06:34:58 +01:00
Peter Steinberger
3fad770510
fix: update PI runtime packages 2026-05-17 06:12:09 +01:00
Peter Steinberger
9e67f53b91
fix(cli): resolve web command SecretRefs
Fix CLI web search/fetch command SecretRef resolution for provider-scoped plugin credentials.

- Carry command provider overrides through gateway and local secret resolution.
- Mark the selected web provider targets active and unrelated plugin refs inactive.
- Cover Tavily, DuckDuckGo, legacy Firecrawl fetch, protocol overrides, and runtime command-secret behavior.
- Add public plugin-sdk test mock exports needed by existing plugin tests after CI boundary enforcement.

Fixes #82621.
Replacement for #82699.

Co-authored-by: 吴杨帆 <39647285+leno23@users.noreply.github.com>
2026-05-17 03:00:39 +01:00
Peter Steinberger
f2a0b3d2e2
chore(crabbox): warn about raw aws runtime commands 2026-05-17 02:38:10 +01:00
Peter Steinberger
a6225060f1
fix(memory): abort timed-out embedding requests (#82770)
* fix(memory): abort timed-out embedding requests

* test: stabilize gateway ci shards

* test: pin control ui origin fixture

* test: stabilize gateway ci fixtures

* test: isolate forged origin fixture

* test: decouple setup code from gateway net mocks

* test: repair run-node and config preaction CI

* test: fix run-node progress fixture typing

* test: remove unused pairing setup helper

* fix: stabilize embedding timeout errors
2026-05-17 02:04:17 +01:00
Peter Steinberger
12debcb05e
fix(cli): improve config startup progress 2026-05-17 00:37:39 +01:00
吴杨帆
cc9117f729
fix: validate limit edge cases and voicecall numeric flags (#82679)
Fix diagnostics/session usage limit handling and voice-call numeric CLI validation.

- Treat explicit zero, negative, and non-finite diagnostics/session limits as empty results instead of falling back to defaults.
- Reject invalid, non-finite, and fractional voice-call numeric flags.
- Add focused tests and a live repro proof for the canonical edge cases.

Fixes #82646, #82650, #82651, #82653.

Co-authored-by: wuyangfan <1102042793@qq.com>
2026-05-17 00:11:46 +01:00
Peter Steinberger
07f05e972e refactor: move inbound event classification into core 2026-05-17 00:10:29 +01:00
Vincent Koc
8bef5d0d62
fix(qa-lab): stabilize threaded memory parity 2026-05-17 06:41:21 +08:00
Peter Steinberger
ac99494e44 test: tighten session_status run-session proof (#82696) 2026-05-16 23:27:19 +01:00
wuyangfan
361dc69029 chore: add live repro for session_status runSessionKey proof
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-16 23:27:19 +01:00
wuyangfan
35e1c7ac41 fix(webchat): keep trustedLocalMedia internal to reply payloads
Restore Omit on public plugin-sdk ReplyPayload; set trustedLocalMedia via
runtime assertion in speech-core and explicitly on dispatch TTS-only finals.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-16 21:18:13 +01:00
wuyangfan
eec18fccb4 fix(webchat): forward trustedLocalMedia on accumulated block TTS tail
Avoid per-block final-mode synthesis (duplicate with dispatch tail). Mark
TTS output as trusted local media and pass the flag through the TTS-only
final payload WebChat consumes after block streaming.

Fixes #82628

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-16 21:18:13 +01:00
wuyangfan
f8323f8636 chore: add live repro script for WebChat auto-TTS proof
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-16 21:18:13 +01:00
Vincent Koc
6a12134489
test(release): tolerate package validation drift 2026-05-17 03:33:54 +08:00
Vincent Koc
b19b7539a8
test: fix Codex live Docker api key permissions 2026-05-17 02:32:58 +08:00
Vincent Koc
b6b33ad6d3
test: harden broad qa timing 2026-05-17 02:32:57 +08:00
Vincent Koc
3a13d1e0be
test: bind Codex live API key lane through OpenAI 2026-05-17 02:32:57 +08:00
Vincent Koc
f0105939bf
test: pass Codex API key into Docker bind lane 2026-05-17 02:32:57 +08:00
Vincent Koc
ac2e3a23b9
fix(qa): preserve RTT samples with Convex credentials 2026-05-17 02:17:35 +08:00
Vincent Koc
61ee9755ad
fix(update): preserve channel config across package repair
Preserve channel config across package-swap doctor and post-core repair.\n\nFixes #82533.
2026-05-17 01:32:37 +08:00
Peter Steinberger
97d1f5fd15
fix: bypass npm freshness filters during updates
Bypass npm min-release-age/before quarantine for OpenClaw-managed package installs and update installer scripts/tests/docs.\n\nFixes #82630.
2026-05-16 18:17:18 +01:00
Pavan Kumar Gondhi
6a12c6f799
fix(gateway): scope session data lookups by agent [AI] (#81386)
* fix: scope gateway session lookups by agent

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing ci

* addressing ci

* fix: complete root-cause handling

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* Fix Swift protocol optional initializer defaults

* Stabilize node command lookup in approval test

* Fix browser proxy approval test node lookup

* Trim unrelated changes from issue 642 fix

* Remove unrelated formatting churn from issue 642 fix

* Fix Swift protocol generator lint

* docs: add changelog entry for PR merge
2026-05-16 22:31:02 +05:30
Shakker
405535d4ce fix: polish gateway restart diagnostics 2026-05-16 17:50:36 +01:00
samzong
92fe2a8f5f fix(gateway): improve restart readiness diagnostics 2026-05-16 17:50:36 +01:00
Gio Della-Libera
0b708a2574
OC Path: restore YAML support (#81436)
* OC Path: restore YAML support
* fix(oc-path): guard yaml writes and empty sequences
* fix(oc-path): guard yaml insertion keys
* fix(oc-path): guard yaml object key
* fix(oc-path): classify yaml root insertions
* style(oc-path): format yaml branch after rebase
* fix(oc-path): reject malformed yaml edits
* docs(oc-path): clarify yaml file support
* fix(ci): refresh yaml branch after rebase
* fix(ci): clean shared blockers for yaml path PR
* fix(changelog): keep yaml path note scoped
* fix(ci): preserve current shared contracts


---------

Co-authored-by: Gio Della-Libera <giodl73@gmail.com
2026-05-16 07:52:08 -07:00
Peter Steinberger
58083866d0 fix: sync codex app-server protocol drift 2026-05-16 15:03:51 +01:00
Vincent Koc
31bbe6eb0f
fix(test): avoid scanning status runtime bundles 2026-05-16 14:31:43 +08:00
Vincent Koc
4b940f66fd
fix(test): avoid scanning live shard roots 2026-05-16 14:22:48 +08:00
Vincent Koc
0642b0033b
fix(plugins): reject omitted package runtime files 2026-05-16 13:18:54 +08:00
Josh Avant
0240cc578c
fix: repair source-only official plugin installs (#82425)
* fix: repair source-only official plugin installs

* docs: add changelog for official plugin repair
2026-05-15 23:04:15 -05:00