Commit Graph

29378 Commits

Author SHA1 Message Date
Peter Steinberger
ceb3092493 fix(auth): reclaim stale file locks 2026-05-14 08:49:00 +01:00
Vincent Koc
babd25c6b7 refactor(cli): lazy-load models runtime 2026-05-14 15:48:11 +08:00
Peter Steinberger
bfc798bd0b fix(ci): restore main build 2026-05-14 08:38:49 +01:00
Vincent Koc
b1fc55fded fix(web): honor legacy search api key selection 2026-05-14 15:14:27 +08:00
Vincent Koc
8962d35264 refactor(cli): mark parent help in descriptors 2026-05-14 15:11:33 +08:00
Sarah Fortune
d9e999cf4f fix(migrate): drop trailing periods from migrate item messages (#81705) 2026-05-13 23:52:19 -07:00
Peter Steinberger
81b239dc98 build: externalize slack openshell vertex plugins 2026-05-14 07:46:58 +01:00
Josh Avant
4e1f59010e fix(gateway): suppress startup liveness warnings (#81699)
* fix(gateway): suppress startup liveness warnings

* docs(changelog): note diagnostic startup grace fix
2026-05-14 01:39:46 -05:00
Vincent Koc
25eef1203a fix(plugins): prefer installed memory tool owners 2026-05-14 14:35:45 +08:00
Vincent Koc
d656cda46d fix(process): normalize Windows child env keys 2026-05-14 14:34:00 +08:00
Peter Steinberger
36755e4057 [codex] externalize amazon bedrock providers (#81687)
* build: externalize amazon bedrock providers

* build: skip external plugins in root dist graph

* test: update managed npm override expectation

* build: mark amazon providers external-only
2026-05-14 07:27:40 +01:00
Vincent Koc
31de033590 fix(hooks): allow dot-prefixed handler paths 2026-05-14 14:23:13 +08:00
Vincent Koc
e064cc98f0 fix(ci): skip locale refresh on invalid provider auth 2026-05-14 14:13:39 +08:00
Sarah Fortune
0a42afae3a fix(onboard): forward provider auth flags through wizard (#81669)
The wizard's applyAuthChoice call dropped provider-specific flag values
like --openai-api-key, only forwarding token/tokenProvider. As a result,
maybeApplyApiKeyFromOption could not honor the flag and onboarding still
prompted "Use existing OPENAI_API_KEY?" when the operator already
passed --openai-api-key alongside an existing env var (e.g. onboard-fast
harnesses that pre-seed --openai-api-key "$OPENAI_API_KEY").

Spread opts into the inner opts bag so provider-specific flag values
reach the provider auth method via ctx.opts. When no flag is passed the
env-confirm prompt still fires unchanged.
2026-05-13 23:12:40 -07:00
pashpashpash
da1ccd3077 fix(replies): preserve rich coalesced block replies (#81689) 2026-05-14 15:10:58 +09:00
Vincent Koc
2ab08c8a19 fix(cli): keep plugin parent help lightweight 2026-05-14 14:09:53 +08:00
Vincent Koc
c635f0087e fix(plugins): preserve dot-prefixed package metadata 2026-05-14 14:08:53 +08:00
Vincent Koc
8f612787a8 fix(ci): restore control ui locale refresh 2026-05-14 13:58:27 +08:00
WhatsSkiLL
eefa6ecea0 fix(plugins): discover setup provider env vars (#81542)
Discover provider plugins from setup.providers[].envVars credentials during provider discovery while keeping the deprecated providerAuthEnvVars fallback.

Co-authored-by: JARVIS-Glasses <whatsskilll@gmail.com>
2026-05-14 06:58:05 +01:00
Vincent Koc
af3d9333aa fix(agents): remap dot-prefixed context paths 2026-05-14 13:40:25 +08:00
Vincent Koc
3485a907d1 fix(auth): stop Codex OAuth refresh spam
Treat high-confidence app-server OAuth refresh invalidation as terminal auth-profile failure, while keeping entitlement and rate-limit payloads out of re-auth classification.
2026-05-14 13:28:47 +08:00
samzong
bb8aa0cfe2 [Fix] Throttle agent event fanout (#80335)
Merged via squash.

Prepared head SHA: 5dddb405ad
Co-authored-by: samzong <13782141+samzong@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-05-13 22:21:46 -07:00
Vincent Koc
1fc92ddfb1 fix(cli): preserve multiline table colors 2026-05-14 13:18:08 +08:00
Vincent Koc
284dcc51b8 fix(replies): preserve rich outbound content 2026-05-14 13:17:06 +08:00
Vincent Koc
ce63b9ca46 fix(plugin-sdk): classify memory core alias 2026-05-14 13:11:42 +08:00
Sarah Fortune
8da06d46f8 fix(migrate): hide per-item hints in Codex skill/plugin selection prompts 2026-05-13 22:05:42 -07:00
Ayaan Zaidi
df4aac8f96 fix(auth): accept oauthRef profiles for runtime auth 2026-05-14 10:31:16 +05:30
Vincent Koc
c04bbd3cbb fix(agents): allow dot-prefixed sandbox paths 2026-05-14 12:52:24 +08:00
Vincent Koc
fe89243c3b fix(plugin-sdk): restore memory core alias 2026-05-14 12:50:22 +08:00
Vincent Koc
ca7349b585 fix(media): normalize cross-platform media paths 2026-05-14 12:43:15 +08:00
Val Alexander
dd4c68b525 fix(agents): suppress aborted assistant output
Summary:
- Suppress aborted embedded-run assistant partials, reasoning text, reply directives, and stale previous-assistant fallback output.
- Preserve clean timeout/error payloads, tool/media payloads, and compaction bookkeeping for non-aborted delivery paths.
- Add focused regressions for aborted partial text, reasoning text, stale fallback, and timeout delivery.

Verification:
- git diff --check HEAD~1..HEAD
- PATH=/Users/buns/.nvm/versions/node/v22.22.2/bin:$PATH pnpm exec oxfmt --check --threads=1 CHANGELOG.md src/agents/pi-embedded-runner/run.ts src/agents/pi-embedded-runner/run/payloads.errors.test.ts src/agents/pi-embedded-runner/run/payloads.ts
- PATH=/Users/buns/.nvm/versions/node/v22.22.2/bin:$PATH pnpm test src/agents/pi-embedded-runner/run/payloads.errors.test.ts src/agents/pi-embedded-runner/run/payloads.test.ts -- --reporter=verbose
- PATH=/Users/buns/.nvm/versions/node/v22.22.2/bin:$PATH pnpm test src/agents/pi-embedded-runner/run.overflow-compaction.loop.test.ts src/auto-reply/reply/agent-runner-execution.test.ts src/auto-reply/reply/agent-runner.misc.runreplyagent.test.ts src/auto-reply/reply/get-reply-run-queue.test.ts src/auto-reply/reply/abort.test.ts -- --reporter=verbose
- PATH=/Users/buns/.nvm/versions/node/v22.22.2/bin:$PATH pnpm test src/auto-reply/inbound.test.ts -- --reporter=verbose
- PATH=/Users/buns/.nvm/versions/node/v22.22.2/bin:$PATH pnpm check:changed
- GitHub CI run 25841945093 passed, including checks-node-auto-reply-core-top-level, checks-node-core, and build-artifacts.
- Real behavior proof run 25841947282 passed.

Fixes #48241
Thanks @BunsDev
2026-05-13 23:41:59 -05:00
Vincent Koc
89987df3d5 test(matrix): guard externalized runtime deps 2026-05-14 12:38:17 +08:00
Vincent Koc
f5ebe63ecd fix(auto-reply): preserve debounce ordering 2026-05-14 12:29:30 +08:00
Sarah Fortune
2d231cef27 fix(migrate): humanize conflict-status messaging across migrate UI
Replace internal `MIGRATION_REASON_*` codes with natural sentences across the migrate UI.

| Surface | Before | After |
| --- | --- | --- |
| Selection prompt (skill) | `(Codex CLI skill; conflict: target exists)` | `(Codex skill already installed in workspace)` |
| Selection prompt (plugin) | `(openai-curated; conflict: plugin exists)` | `(openai-curated plugin already installed in workspace)` |
| Plan/result row (skill conflict) | `• conflict: gh-address-comments (Copy Codex skill into OpenClaw)` | `⚠️ gh-address-comments (Already installed in workspace.)` |
| Plan/result row (plugin conflict) | `• conflict: <name> (Install Codex plugin into OpenClaw)` | `⚠️ <name> (Already installed in workspace.)` |
2026-05-13 21:25:58 -07:00
rolandrscheel
e4cee2eb69 perf(gateway): cache session list resolver lookups
Refs #75839.\n\nRebases and lands the sessions.list resolver-cache fix from #77187 after maintainer conflict repair. The change keeps cache state scoped to a single sessions.list call and memoizes deterministic per-row resolver work for repeated provider/model tuples.\n\nVerification:\n- pnpm test src/gateway/session-utils.perf.test.ts src/gateway/session-utils.test.ts\n- pnpm exec oxfmt --check --threads=1 src/gateway/session-utils.ts src/gateway/session-utils.perf.test.ts scripts/github/real-behavior-proof-policy.mjs\n- git diff --check HEAD -- CHANGELOG.md scripts/github/real-behavior-proof-policy.mjs src/gateway/session-utils.perf.test.ts src/gateway/session-utils.ts\n- GitHub PR checks: 87 passing, CodeQL neutral, 21 skipped\n\nCo-authored-by: OpenClaw Agent <openclaw-agent@users.noreply.github.com>
2026-05-13 23:20:40 -05:00
Vincent Koc
5b418c3c4f fix(channels): preserve Telegram ordering without blocking follow-ups 2026-05-14 12:19:02 +08:00
Val Alexander
5d4a8b0072 fix(agents): make trajectory cleanup timeout configurable
Refs #75839.\n\nAdds OPENCLAW_TRAJECTORY_FLUSH_TIMEOUT_MS and OPENCLAW_AGENT_CLEANUP_TIMEOUT_MS for agent cleanup steps while preserving the 10s default. Includes focused timeout precedence tests, trajectory docs, and changelog coverage.\n\nVerification:\n- pnpm test src/agents/run-cleanup-timeout.test.ts\n- pnpm exec oxfmt --check --threads=1 src/agents/run-cleanup-timeout.ts src/agents/run-cleanup-timeout.test.ts\n- pnpm format:docs:check docs/tools/trajectory.md\n- git diff --check\n- pnpm check:changed\n- GitHub PR checks: 88 passing, CodeQL neutral, 21 skipped
2026-05-13 23:09:56 -05:00
Josh Lehman
1ee0d51e92 fix(codex): preserve MCP servers in app-server harness (#81551)
* Plumb bundle MCP config into Codex app server

* fix: align codex mcp thread config with pi

* fix: rotate codex mcp threads when disabled

* fix: scope codex bundle mcp to bundled servers

* fix(codex): resend user MCP config on resume

---------

Co-authored-by: Josh Lehman <phaedrus@Mac.hsd1.ca.comcast.net>
2026-05-13 21:05:20 -07:00
Josh Lehman
aac216d699 fix: route plugin LLM completions through Codex runtime (#81511)
* fix: route plugin LLM completions through Codex runtime

* fix: preserve OpenRouter completion model ids

* fix: allow registry config compat guards
2026-05-13 21:02:28 -07:00
Vincent Koc
3b8ac38ae9 fix(codex): classify app-server auth refresh failures
Classify Codex native/app-server auth refresh logout failures and preserve app-server relogin detail in RPC errors.
2026-05-14 11:56:18 +08:00
Kevin Lin
78644bc6de fix: carry codex migration config through onboarding 2026-05-13 20:50:07 -07:00
Vincent Koc
3da9027770 fix(update): allow update config size drops 2026-05-14 11:47:17 +08:00
NVIDIAN
7c5222a195 fix: preserve pending subagent sessions during maintenance (#81498) 2026-05-13 23:19:18 -04:00
pashpashpash
78eb92e622 Route Codex message tool replies back to WebChat and TUI (#81586)
* fix: route internal ui message tool replies

* docs: document reserved codex sdk helpers

* test(gateway): stabilize sessions send agent assertion

* fix(agents): preserve rich internal source replies

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-05-14 11:55:54 +09:00
Jerry-Xin
61ae9b7193 fix(update): preserve config during update repair
Preserve update-time config state by snapshotting before repair/restart writes, keeping plugin install records available for migration, and blocking unsafe update-time config size drops.

Also documents the Codex reserved SDK subpaths needed by the plugin contract guardrail.

Fixes #80077.

Thanks @Jerry-Xin and @vincentkoc.

Co-authored-by: Jerry-Xin <3401616+Jerry-Xin@users.noreply.github.com>
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com>
2026-05-14 10:43:33 +08:00
Vincent Koc
c95ccf43c1 fix: sync codex cli package pin 2026-05-14 10:35:18 +08:00
Eduardo Piva
983064f5f8 fix(sessions): report ACP-runtime metadata for ACP-keyed sessions
Report ACP control-plane session runtime metadata from persisted ACP session metadata/backend, and keep ACP-shaped bridge sessions on normal configured model/runtime metadata.

Proof: focused sessions runtime/model-display tests, core prod/test typechecks, touched-file format check, seeded openclaw sessions --json behavior proof, and passing relevant CI. Known unrelated red check: checks-fast-contracts-plugins-d plugin SDK documentation contract for codex helper subpaths.
2026-05-13 19:03:50 -07:00
Sarah Fortune
bce56bacc7 fix(migrate): swap glyphs on manual-review and archive item rows
Manual-review items are kind:"manual" with status:"skipped" so they were rendering with ⏭️, which reads like "done, ignored" — exactly the wrong signal for items that still need user attention. Render with 🔍 instead so the row says "look closer here".

Archive items end up status:"migrated" once written to the report dir, so they were rendering with , which overstates what happened — the file was saved aside, not imported. Render with 📖 so the row reads "filed away".

Skill/plugin/secret/memory rows continue to render with their status glyphs (  ⏭️ ⚠️) unchanged. JSON output (--json) is unaffected.
2026-05-13 18:58:17 -07:00
Vincent Koc
e774b25b2f fix(agents): preserve reply metadata through tool media 2026-05-14 09:54:31 +08:00
pashpashpash
3ce922437f fix: load Codex for selectable OpenAI agent models
Treat selectable configured OpenAI agent models as Codex runtime requirements during plugin auto-enable, startup planning, and doctor install repair.\n\nPR: https://github.com/openclaw/openclaw/pull/81591
2026-05-14 09:51:15 +08:00