Peter Steinberger
1f912482e5
fix(acpx): honor ACP probe and session reuse invariants
2026-04-05 15:40:11 +01:00
Peter Steinberger
fb61986767
refactor(acpx): embed ACP runtime in plugin
2026-04-05 15:40:11 +01:00
wesley
1030b498de
fix(acpx): retry persisted resume ids cleanly ( #52209 )
...
* fix(acpx): store agent session ID when session/load fails
When an ACP agent (e.g. Gemini CLI) rejects the acpx-generated session
ID via session/load and falls back to session/new, the agent-returned
session ID was previously discarded. This caused identity stuck at
pending forever, multi-turn failures, lost completion events, and
persistent reconcile warnings.
- Parse ACP protocol stream in runTurn() to capture agent session IDs
- Flip resolveRuntimeResumeSessionId() to prefer agentSessionId
- Add createIdentityFromHandleEvent() for handle-sourced identity
- Layer handle event identity before status in reconcile
- Add regression tests for load fallback and restart resume
Closes #52182
* ACPX: prefer decoded session ids
* ACPX: refresh runtime handle state from status
---------
Co-authored-by: Wesley <imwyvern@users.noreply.github.com >
2026-04-05 10:01:59 +01:00
Peter Steinberger
bff55b55cb
style: normalize import ordering and wrapping
2026-04-05 09:26:39 +01:00
Peter Steinberger
657c6f6788
fix: stabilize docker e2e lanes
2026-04-05 07:15:24 +01:00
Ayaan Zaidi
f039bbf2aa
fix: resolve acpx plugin root from shared chunks
2026-04-05 11:37:05 +05:30
Peter Steinberger
f3aad63f4e
style(providers): normalize import and wrap formatting
2026-04-04 12:19:08 +01:00
Vincent Koc
c2435306a7
refactor(acpx): lazy-load runtime service entry
2026-04-04 15:14:51 +09:00
Peter Steinberger
e4dc03f108
refactor(acpx): split Windows command parsing
2026-04-04 14:19:20 +09:00
Peter Steinberger
e985324d87
fix(acpx): preserve Windows Claude CLI paths
2026-04-04 14:10:20 +09:00
Vignesh
4c1022c73b
feat(memory-core): add dreaming promotion with weighted recall thresholds ( #60569 )
...
* memory-core: add dreaming promotion flow with weighted thresholds
* docs(memory): mark dreaming as experimental
* memory-core: address dreaming promotion review feedback
* memory-core: harden short-term promotion concurrency
* acpx: make abort-process test timer-independent
* memory-core: simplify dreaming config with mode presets
* memory-core: add /dreaming command and tighten recall tracking
* ui: add Dreams tab with sleeping lobster animation
Adds a new Dreams tab to the gateway UI under the Agent group.
The tab is gated behind the memory-core dreaming config — it only
appears in the sidebar when dreaming.mode is not 'off'.
Features:
- Sleeping vector lobster with breathing animation
- Floating Z's, twinkling starfield, moon glow
- Rotating dream phrase bubble (17 whimsical phrases)
- Memory stats bar (short-term, long-term, promoted)
- Active/idle visual states
- 14 unit tests
* plugins: fix --json stdout pollution from hook runner log
The hook runner initialization message was using log.info() which
writes to stdout via console.log, breaking JSON.parse() in the
Docker smoke test for 'openclaw plugins list --json'. Downgrade to
log.debug() so it only appears when debugging is enabled.
* ui: keep Dreams tab visible when dreaming is off
* tests: fix contracts and stabilize extension shards
* memory-core: harden dreaming recall persistence and locking
* fix: stabilize dreaming PR gates (#60569 ) (thanks @vignesh07)
* test: fix rebase drift in telegram and plugin guards
2026-04-03 20:26:53 -07:00
Vincent Koc
5341d483d1
test(acpx): use direct ACP adapter contract seam
2026-04-03 23:01:51 +09:00
Vincent Koc
349d3e8289
test(plugin-sdk): extract direct helper seams
2026-04-03 21:42:04 +09:00
Vincent Koc
d55e580307
perf(acpx): clean up runtime fixtures per test
2026-04-03 19:15:26 +09:00
Ayaan Zaidi
7096819f2b
fix(acpx): retry queue-owner repair without resume-session (thanks @obviyus)
2026-04-01 18:30:38 +05:30
Neerav Makwana
ed482b1ce7
fix: repair queue owner session recovery ( #58669 ) (thanks @neeravmakwana)
...
* fix(acpx): repair queue owner session recovery
* fix(acpx): avoid duplicate queue owner recovery
* fix: repair queue owner session recovery (#58669 ) (thanks @neeravmakwana)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-01 18:20:23 +05:30
zssggle-rgb
a37c66906c
fix(acpx): retry backend health probes after ensure ( #58612 )
...
* fix(acpx): retry backend health probes after ensure
* fix(acpx): keep doctor checks diagnostic-only
2026-03-31 21:10:09 -04:00
zssggle-rgb
8e0f495197
fix(acpx): preserve control command error details ( #58613 )
2026-03-31 21:10:04 -04:00
zssggle-rgb
187d3ed053
fix(acpx): fall back to PATH node for shebang wrappers ( #58614 )
2026-03-31 21:09:58 -04:00
Peter Steinberger
d771f7dcb7
fix: harden acpx live startup
2026-03-31 23:20:24 +01:00
jlxyfll
1c95c41c37
fix(acpx): retain named sessions on queue owner unavailable ( #56232 ) thanks @jlxyfll
...
Co-authored-by: jl <jlxyfllz@gmail.com >
Co-authored-by: sallyom <somalley@redhat.com >
2026-03-30 22:14:59 -04:00
Shakker
3ad747e25f
style: apply formatter cleanups
2026-03-30 16:20:27 +01:00
Peter Steinberger
8861cdbb6f
refactor(plugin-sdk): untangle extension test seams
2026-03-29 23:43:53 +01:00
Peter Steinberger
73477eee4c
fix: harden ACP plugin tools bridge ( #56867 ) (thanks @joe2643)
2026-03-30 05:09:59 +09:00
xingjie zhou
81193336d0
fix(acpx): read ACPX_PINNED_VERSION from package.json instead of hard… ( #49089 )
...
* fix(acpx): read ACPX_PINNED_VERSION from package.json instead of hardcoding
The hardcoded ACPX_PINNED_VERSION ("0.1.16") falls out of sync with the bundled acpx version in package.json every release, causing ACP runtime to be marked unavailable due to version mismatch (see #43997 ).
* Validate and sanitize ACPX version retrieval
Add validation for acpx version from package.json
2026-03-29 18:05:55 +09:00
Peter Steinberger
8e0ab35b0e
refactor(plugins): decouple bundled plugin runtime loading
2026-03-29 09:10:38 +01:00
Frank Yang
c14b169a1b
fix(acp): repair stale bindings after runtime exits ( #56476 )
...
* fix(acp): repair stale bindings after runtime exits
* fix(acp): narrow stale binding recovery
* fix(acp): preserve policy gating for stale sessions
* fix(acp): handle signal exits and canonical unbinds
* fix(acp): harden canonical stale-session recovery
2026-03-29 01:15:16 +08:00
Peter Steinberger
5acc4b5dc5
refactor: route acpx test temp paths through temp-path sdk
2026-03-28 03:56:29 +00:00
Ayaan Zaidi
8b13710c09
refactor(plugin-sdk): expose zod subpath
2026-03-27 09:55:47 +05:30
Peter Steinberger
1d1f36adff
refactor: parse extension event payloads with zod
2026-03-27 03:41:40 +00:00
Peter Steinberger
c9ab095099
refactor: deduplicate plugin config schemas
2026-03-27 02:53:08 +00:00
Peter Steinberger
dff3ca2018
fix: stabilize ci after deps refresh
2026-03-27 02:44:05 +00:00
Vincent Koc
fa2a318f40
Align ACPX built-in agent registry with latest acpx ( #55476 )
...
* Add Cursor CLI to ACP allowedAgents
- acpx: add cursor to ACPX_BUILTIN_AGENT_COMMANDS (agent acp)
- docs: add cursor to acp-agents harness list and allowedAgents example
Fixes #28321
Made-with: Cursor
* ACP Cursor: add to acp-router skill, system-prompt, and schema help
- acp-router SKILL: add Cursor to description, intent, agentId mapping,
harness aliases, and built-in adapter commands (agent acp)
- system-prompt: add cursor to ACP harness example
- schema.help: add cursor to runtime.acp.agent example
Fixes #28321
Made-with: Cursor
* fix(acpx): align built-in agent registry with latest acpx
---------
Co-authored-by: Rob MacDonald <rob@robmacdonald.com >
2026-03-26 19:15:17 -07:00
Peter Steinberger
6f6468027a
refactor: dedupe test and runtime seams
2026-03-24 23:33:30 +00:00
Peter Steinberger
2a06097184
test: update codex test fixtures to gpt-5.4
2026-03-23 02:14:00 -07:00
Onur Solmaz
fe459c9084
ACPX: align pinned runtime version ( #52730 )
...
* ACPX: align pinned runtime version
* ACPX: drop version example from help text
2026-03-23 09:21:57 +01:00
Tak Hoffman
5b7b5529f1
Plugins: remove shared extension boundary debt
2026-03-18 22:58:40 -05:00
Peter Steinberger
46f49eb6eb
refactor: shrink plugin sdk public surface
2026-03-18 23:31:08 +00:00
Vincent Koc
fbd88e2c8f
Main recovery: restore formatter and contract checks ( #49570 )
...
* Extensions: fix oxfmt drift on main
* Plugins: restore runtime barrel exports on main
* Config: restore web search compatibility types
* Telegram: align test harness with reply runtime
* Plugin SDK: fix channel config accessor generics
* CLI: remove redundant search provider casts
* Tests: restore main typecheck coverage
* Lobster: fix test import formatting
* Extensions: route bundled seams through plugin-sdk
* Tests: use extension env helper for xai
* Image generation: fix main oxfmt drift
* Config: restore latest main compatibility checks
* Plugin SDK: align guardrail tests with lint
* Telegram: type native command skill mock
2026-03-18 00:30:01 -07:00
Vincent Koc
0dda3e66b5
Plugin SDK: align docs and fix runtime imports
2026-03-17 23:57:38 -07:00
Vincent Koc
4d551e6f33
Plugins: internalize acpx SDK imports
2026-03-17 22:58:43 -07:00
Bob
ea15819ecf
ACP: harden startup and move configured routing behind plugin seams ( #48197 )
...
* ACPX: keep plugin-local runtime installs out of dist
* Gateway: harden ACP startup and service PATH
* ACP: reinitialize error-state configured bindings
* ACP: classify pre-turn runtime failures as session init failures
* Plugins: move configured ACP routing behind channel seams
* Telegram tests: align startup probe assertions after rebase
* Discord: harden ACP configured binding recovery
* ACP: recover Discord bindings after stale runtime exits
* ACPX: replace dead sessions during ensure
* Discord: harden ACP binding recovery
* Discord: fix review follow-ups
* ACP bindings: load channel snapshots across workspaces
* ACP bindings: cache snapshot channel plugin resolution
* Experiments: add ACP pluginification holy grail plan
* Experiments: rename ACP pluginification plan doc
* Experiments: drop old ACP pluginification doc path
* ACP: move configured bindings behind plugin services
* Experiments: update bindings capability architecture plan
* Bindings: isolate configured binding routing and targets
* Discord tests: fix runtime env helper path
* Tests: fix channel binding CI regressions
* Tests: normalize ACP workspace assertion on Windows
* Bindings: isolate configured binding registry
* Bindings: finish configured binding cleanup
* Bindings: finish generic cleanup
* Bindings: align runtime approval callbacks
* ACP: delete residual bindings barrel
* Bindings: restore legacy compatibility
* Revert "Bindings: restore legacy compatibility"
This reverts commit ac2ed68fa2426ecc874d68278c71c71ad363fcfe.
* Tests: drop ACP route legacy helper names
* Discord/ACP: fix binding regressions
---------
Co-authored-by: Onur <2453968+osolmaz@users.noreply.github.com >
2026-03-17 17:27:52 +01:00
Peter Steinberger
9ebe38b6e3
refactor: untangle remaining plugin sdk boundaries
2026-03-16 21:16:32 -07:00
Nimrod Gutman
47fd8558cd
fix(plugins): fix bundled plugin roots and skill assets ( #47601 )
...
* fix(acpx): resolve bundled plugin root correctly
* fix(plugins): copy bundled plugin skill assets
* fix(plugins): tolerate missing bundled skill paths
2026-03-15 23:00:30 +02:00
Peter Steinberger
aa551e5a9c
refactor: share acpx process env test helper
2026-03-13 21:40:53 +00:00
Peter Steinberger
985be2a864
refactor: share acpx ensure install checks
2026-03-13 20:19:38 +00:00
Peter Steinberger
261a40dae1
fix: narrow acpx health failure handling
2026-03-13 16:30:27 +00:00
Peter Steinberger
3f37afd18c
refactor: extract acpx event builders
2026-03-13 16:30:27 +00:00
Peter Steinberger
f4ed317083
refactor: deduplicate acpx availability checks
2026-03-13 16:30:27 +00:00
Rodrigo Uroz
ff2e7a2945
fix(acp): strip provider auth env for child ACP processes (openclaw#42250)
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: rodrigouroz <384037+rodrigouroz@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-10 16:50:10 -05:00