openclaw/src
M1a0 7847e67f8a
plugin-runtime: expose runHeartbeatOnce in system API (#40299)
* plugin-runtime: expose runHeartbeatOnce in system API

Plugins that enqueue system events and need the agent to deliver
responses to the originating channel currently have no way to
override the default `heartbeat.target: "none"` behaviour.

Expose `runHeartbeatOnce` in the plugin runtime `system` namespace
so plugins can trigger a single heartbeat cycle with an explicit
`heartbeat: { target: "last" }` override — the same pattern the
cron service already uses (see #28508).

Changes:
- Add `RunHeartbeatOnceOptions` type and `runHeartbeatOnce` to
  `PluginRuntimeCore.system` (types-core.ts)
- Wire the function through a thin wrapper in runtime-system.ts
- Update the test-utils plugin-runtime mock

Made-with: Cursor

* feat(plugins): expose runHeartbeatOnce in system API (#40299) (thanks @loveyana)

---------

Co-authored-by: George Zhang <georgezhangtj97@gmail.com>
2026-03-25 10:47:01 -07:00
..
acp test: speed up targeted unit suites 2026-03-24 19:36:08 +00:00
agents fix: mid-turn 429 rate limit silent no-reply and context engine registration failure (#50930) 2026-03-25 10:43:08 -07:00
auto-reply fix: mid-turn 429 rate limit silent no-reply and context engine registration failure (#50930) 2026-03-25 10:43:08 -07:00
bindings
bootstrap
browser fix: cover macOS Edge osascript fallback path (#48561) (thanks @zoherghadyali) 2026-03-25 15:47:04 +05:30
canvas-host
channels refactor: split gateway plugin bootstrap and registry surfaces 2026-03-24 22:16:26 -07:00
cli fix: mid-turn 429 rate limit silent no-reply and context engine registration failure (#50930) 2026-03-25 10:43:08 -07:00
commands feat(minimax): add image generation provider and trim model catalog to M2.7 (#54487) 2026-03-25 09:29:35 -07:00
compat
config build: prepare 2026.3.24 release 2026-03-25 09:31:05 -07:00
context-engine
cron cron: queue isolated delivery awareness 2026-03-25 15:21:14 +05:30
daemon fix(runtime): support Node 22.14 installs 2026-03-25 06:22:18 -07:00
docs
extensions refactor: polish trigger and manifest seams 2026-03-23 22:22:48 -07:00
gateway fix: skip session:patch hook clone without listeners 2026-03-25 16:12:39 +05:30
hooks fix: skip session:patch hook clone without listeners 2026-03-25 16:12:39 +05:30
i18n
image-generation test: speed up media and image-generation suites 2026-03-24 23:45:33 +00:00
infra fix: mid-turn 429 rate limit silent no-reply and context engine registration failure (#50930) 2026-03-25 10:43:08 -07:00
interactive
line
link-understanding
logging fix: unify log timestamp offsets (#38904) (thanks @sahilsatralkar) 2026-03-25 16:06:33 +05:30
markdown
media test(media): make local roots fixture windows-safe 2026-03-25 06:24:39 -07:00
media-understanding
memory fix(runtime): support Node 22.14 installs 2026-03-25 06:22:18 -07:00
node-host
pairing refactor: align pairing replies, daemon hints, and feishu mention policy 2026-03-25 04:22:53 -07:00
plugin-sdk fix: stop leaking reply tags in iMessage outbound text (#39512) (thanks @mvanhorn) 2026-03-25 23:00:16 +05:30
plugins plugin-runtime: expose runHeartbeatOnce in system API (#40299) 2026-03-25 10:47:01 -07:00
process refactor(core): make event and queue state lazy 2026-03-24 11:45:27 -07:00
routing
scripts
secrets fix(slack): trim DM reply overhead and restore Codex auto transport (#53957) 2026-03-24 15:03:40 -07:00
security fix(sandbox): honor sandbox alsoAllow and explicit re-allows (#54492) 2026-03-25 16:51:13 +02:00
sessions
shared refactor: tighten split-runtime live-state guardrails 2026-03-24 21:58:50 -07:00
terminal
test-helpers test: harden threaded shared-worker suites 2026-03-24 08:37:00 +00:00
test-utils refactor: dedupe test helpers and harnesses 2026-03-24 21:41:46 +00:00
tts chore(tts): rename VOICE_BUBBLE identifiers to OPUS and update docs 2026-03-25 10:49:21 +05:30
tui fix: preserve deferred TUI history sync (#53130) (thanks @joelnishanth) 2026-03-23 23:18:59 -07:00
types fix(types): add workspace module shims 2026-03-24 10:07:14 -07:00
utils fix: stop leaking reply tags in iMessage outbound text (#39512) (thanks @mvanhorn) 2026-03-25 23:00:16 +05:30
web-search fix(slack): trim DM reply overhead and restore Codex auto transport (#53957) 2026-03-24 15:03:40 -07:00
wizard refactor: dedupe test helpers and harnesses 2026-03-24 21:41:46 +00:00
bundled-web-search-registry.ts
channel-web.ts
docker-build-cache.test.ts
docker-image-digests.test.ts
docker-setup.e2e.test.ts refactor: clarify docker setup cli phases 2026-03-24 16:46:12 -07:00
dockerfile.test.ts
entry.respawn.test.ts
entry.respawn.ts
entry.test.ts feat(cli): support targeting running containerized openclaw instances (#52651) 2026-03-24 10:17:17 -04:00
entry.ts fixes for cli-containerized (#54223) 2026-03-25 00:51:55 -04:00
entry.version-fast-path.test.ts fixes for cli-containerized (#54223) 2026-03-25 00:51:55 -04:00
extensionAPI.test.ts
extensionAPI.ts
global-state.ts fix: stabilize logging config imports 2026-03-24 17:21:28 +00:00
globals.ts fix: stabilize logging config imports 2026-03-24 17:21:28 +00:00
index.test.ts
index.ts
install-sh-version.test.ts
library.ts
logger.test.ts
logger.ts
logging.ts
param-key.ts
poll-params.test.ts
poll-params.ts
polls.test.ts
polls.ts
runtime.ts
utils.test.ts
utils.ts
version.test.ts
version.ts