Peter Steinberger
ddd2cbf03a
style: resolve exec formatter follow-up
2026-03-30 06:03:08 +09:00
Peter Steinberger
bb10f60993
style: resolve exec formatter follow-up
2026-03-30 06:03:08 +09:00
Peter Steinberger
276ccd2583
fix(exec): default implicit target to auto
2026-03-30 06:03:08 +09:00
Peter Steinberger
d014f173f1
test: trim stale legacy coverage and repair mocks
2026-03-29 22:00:56 +01:00
Peter Steinberger
63e5c3349e
refactor(config): drop obsolete legacy config aliases
2026-03-29 22:00:56 +01:00
Peter Steinberger
d9274444b7
fix: keep beta on newer prereleases
2026-03-30 05:37:01 +09:00
Peter Steinberger
aed87a608e
fix: stabilize bundled plugin ci lanes
2026-03-30 05:35:53 +09:00
Peter Steinberger
694bc082a8
fix: resolve acpx MCP secret inputs
2026-03-30 05:30:32 +09:00
Peter Steinberger
35233bae96
refactor: decouple bundled plugin sdk surfaces
2026-03-29 21:20:46 +01:00
Peter Steinberger
5d4c4bb850
fix(exec): restore runtime-aware implicit host default
2026-03-29 21:18:41 +01:00
Onur Solmaz
96df794c12
[codex] Move internal experiment plans under docs-internal ( #57262 )
...
* docs: restore internal plan docs under docs-internal
* docs: move internal plans under docs/internal
* docs: restore deleted internal experiment notes
* docs: group internal notes by author
* docs: move Bob internal notes under osolmaz
* docs: move remaining internal notes under osolmaz
* Revert "docs: move remaining internal notes under osolmaz"
* docs: restore experiment architecture note
* docs: normalize osolmaz internal doc authorship
* docs: add identity metadata to internal docs
* docs: document internal development notes
* docs: use Peter in internal docs examples
* docs: move Mariano background task note to internal docs
* Revert "docs: use Peter in internal docs examples"
* docs: use real Peter note in internal docs readme
* docs: rename Mariano background task note
* docs: preserve others internal notes by default
* docs: allow BDFL override for internal notes
2026-03-29 22:18:26 +02:00
Peter Steinberger
f5f8ba6d35
fix: harden bundle MCP session runtime cache ( #55090 ) (thanks @allan0509)
2026-03-30 05:10:32 +09:00
无忌
6477d783e8
Agents: cache bundle MCP runtime per session
2026-03-30 05:10:32 +09:00
Peter Steinberger
73477eee4c
fix: harden ACP plugin tools bridge ( #56867 ) (thanks @joe2643)
2026-03-30 05:09:59 +09:00
khhjoe
e24091413c
fix: add curly braces for oxlint curly rule; copy postinstall script before pnpm install in Dockerfile
2026-03-30 05:09:59 +09:00
khhjoe
a8c189f463
fix(mcp): serialize result.content instead of wrapper object; warn on missing static assets
2026-03-30 05:09:59 +09:00
khhjoe
3151eb5b48
feat: auto-install acpx deps via npm postinstall on global install
2026-03-30 05:09:59 +09:00
khhjoe
5f628c0bf8
build: copy acpx mcp-proxy.mjs to dist in runtime-postbuild
2026-03-30 05:09:59 +09:00
khhjoe
415899984e
feat(mcp): add plugin tools MCP server for ACP sessions
...
Standalone MCP server that exposes OpenClaw plugin-registered tools
(e.g. memory-lancedb's memory_recall, memory_store, memory_forget)
to ACP sessions running Claude Code via acpx's MCP proxy mechanism.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 05:09:59 +09:00
Peter Steinberger
3f5ed11266
fix: clear stalled model resolution lanes
2026-03-30 05:09:26 +09:00
Gustavo Madeira Santana
9b4f26e70a
Plugins/CLI: add descriptor-backed lazy root command registration ( #57165 )
...
Merged via squash.
Prepared head SHA: ad1dee32eb
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-29 16:02:59 -04:00
Peter Steinberger
d330782ed1
fix(matrix): stop discovering runtime helper as plugin entry
2026-03-29 21:00:57 +01:00
Gustavo Madeira Santana
dc192d7b2f
Build: mirror Matrix crypto WASM runtime deps ( #57163 )
...
Merged via squash.
Prepared head SHA: b3aeb9d08a
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-29 15:57:28 -04:00
Peter Steinberger
82f04ced27
refactor(plugin-sdk): drop legacy provider compat subpaths
2026-03-29 20:55:53 +01:00
Peter Steinberger
cce6d3bbb7
fix: resolve CI type and lint regressions
2026-03-30 04:51:33 +09:00
Peter Steinberger
855878b4f0
fix: stabilize serial test suite
2026-03-30 04:46:04 +09:00
George Zhang
b787669340
docs(plugins): add before_install payload example
2026-03-29 12:35:01 -07:00
George Zhang
2607191d04
refactor(plugins): centralize before_install context shaping
2026-03-29 12:35:01 -07:00
George Zhang
9a07fd83fb
docs(plugins): describe before_install policy foundation
2026-03-29 12:35:01 -07:00
George Zhang
b5d48d311c
test(plugins): cover before_install policy metadata
2026-03-29 12:35:01 -07:00
George Zhang
150faba8d1
plugins: enrich before_install policy context
2026-03-29 12:35:01 -07:00
George Zhang
9ea0b76f06
docs(plugins): document before_install hook
2026-03-29 12:35:01 -07:00
George Zhang
ac3951d731
test(plugins): cover before_install install flows
2026-03-29 12:35:01 -07:00
George Zhang
7cd9957f62
plugins: add before_install hook for install scanners
2026-03-29 12:35:01 -07:00
Robin Waslander
77555d6c85
fix(infra): classify SQLite transient errors as non-fatal in unhandled rejection handler ( #57018 )
...
Add isTransientSqliteError() covering SQLITE_CANTOPEN, SQLITE_BUSY,
SQLITE_LOCKED, and SQLITE_IOERR via named codes, numeric errcodes
(node:sqlite), and message-string fallback. Combine with existing
network transient check so both families are treated as non-fatal
in the global unhandled rejection handler.
Prevents crash loop under launchd on macOS when SQLite files are
temporarily unavailable.
Fixes #34678
2026-03-29 21:29:38 +02:00
Peter Steinberger
bfb0907777
fix: harden MCP SSE config redaction ( #50396 ) (thanks @dhananjai1729)
2026-03-30 04:23:47 +09:00
dhananjai1729
2c6eb127d9
fix: redact sensitive query params in invalid URL error reasons
...
Extends the invalid-URL redaction to also scrub sensitive query parameters
(token, api_key, secret, access_token, etc.) using the same param list as
the valid-URL description path. Adds tests for both query param and
credential redaction in error reasons.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-30 04:23:47 +09:00
dhananjai1729
4e03d899b3
fix: handle Headers instances in SSE fetch and redact invalid URLs
...
- Properly convert Headers instances to plain objects in eventSourceInit.fetch
so SDK-generated headers (e.g. Accept: text/event-stream) are preserved
while user-configured headers still take precedence.
- Redact potential credentials from invalid URLs in error reasons to prevent
secret leakage in log output.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-30 04:23:47 +09:00
dhananjai1729
62d0e12155
fix(mcp): user headers override SDK defaults & expand redaction list
...
Address Greptile P1/P2 review feedback:
- Fix header spread order so user-configured auth headers take precedence
over SDK-internal headers in SSE eventSourceInit.fetch
- Add password, pass, auth, client_secret, refresh_token to the
sensitive query-param redaction set in describeSseMcpServerLaunchConfig
- Add tests for redaction of all sensitive params and embedded credentials
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-30 04:23:47 +09:00
dhananjai1729
32b7c00f90
fix: apply SSE auth headers to initial GET, redact URL credentials, warn on malformed headers
2026-03-30 04:23:47 +09:00
dhananjai1729
6fda8b4e9a
fix: use SDK Transport type to satisfy client.connect() signature
2026-03-30 04:23:47 +09:00
dhananjai1729
bf8303370e
fix: address review feedback - fix env JSDoc, warn on dropped headers, await server close
2026-03-30 04:23:47 +09:00
dhananjai1729
d89bfed5cc
feat(mcp): add SSE transport support for remote MCP servers
2026-03-30 04:23:47 +09:00
Peter Steinberger
fc5fdcb091
refactor(plugin-sdk): remove bundled provider setup shims
2026-03-29 20:23:20 +01:00
George Zhang
e133924047
[codex] harden clawhub plugin publishing and install ( #56870 )
...
* fix: harden clawhub plugin publishing and install
* fix(process): preserve windows shim exit success
2026-03-29 11:59:19 -07:00
Peter Steinberger
58dde4b016
test(contracts): hoist shared plugin mock ids
2026-03-29 19:54:27 +01:00
Marcus Castro
34648235a3
WhatsApp: use shared resolveReactionMessageId for context-aware reactions ( #57226 )
...
Wire the shared resolveReactionMessageId helper into the WhatsApp
channel adapter, matching the pattern already used by Telegram, Signal,
and Discord. The model can now react to the current inbound message
without explicitly providing a messageId.
Safety guards:
- Only falls back to context when the source is WhatsApp
- Suppresses fallback when targeting a different chat (normalized comparison)
- Throws ToolInputError (400) instead of plain Error (500) when messageId
is missing, preserving gateway error mapping
2026-03-29 15:42:19 -03:00
Nimrod Gutman
f38b7291f9
fix(ios): mark activitykit import as preconcurrency ( #57180 )
...
* fix(ios): mark activitykit import as preconcurrency
* fix: note iOS ActivityKit preconcurrency build fix (#57180 ) (thanks @ngutman)
2026-03-29 21:24:25 +03:00
Peter Steinberger
5801506ce7
test(discord): fix hoisted configured-binding mocks
2026-03-29 19:17:08 +01:00
Peter Steinberger
8a6d1b9f1e
test(contracts): avoid sync telegram vitest harness loads
2026-03-29 18:37:11 +01:00