@@ -22,6 +22,12 @@ anything they needed from a single entry point:
2222- ** ` openclaw/plugin-sdk/compat ` ** — a single import that re-exported dozens of
2323 helpers. It was introduced to keep older hook-based plugins working while the
2424 new plugin architecture was being built.
25+ - ** ` openclaw/plugin-sdk/infra-runtime ` ** — a broad runtime helper barrel that
26+ mixed system events, heartbeat state, delivery queues, fetch/proxy helpers,
27+ file helpers, approval types, and unrelated utilities.
28+ - ** ` openclaw/plugin-sdk/config-runtime ` ** — a broad config compatibility barrel
29+ that still carries deprecated direct load/write helpers during the migration
30+ window.
2531- ** ` openclaw/extension-api ` ** — a bridge that gave plugins direct access to
2632 host-side helpers like the embedded agent runner.
2733- ** ` api.registerEmbeddedExtensionFactory(...) ` ** — a removed Pi-only bundled
@@ -235,6 +241,7 @@ releases.
235241
236242 ```bash
237243 grep -r "plugin-sdk/compat" my-plugin/
244+ grep -r "plugin-sdk/infra-runtime" my-plugin/
238245 grep -r "plugin-sdk/config-runtime" my-plugin/
239246 grep -r "openclaw/extension-api" my-plugin/
240247 ```
@@ -284,6 +291,37 @@ releases.
284291
285292 </Step >
286293
294+ <Step title =" Replace broad infra-runtime imports " >
295+ `openclaw/plugin-sdk/infra-runtime` still exists for external
296+ compatibility, but new code should import the focused helper surface it
297+ actually needs:
298+
299+ | Need | Import |
300+ | --- | --- |
301+ | System event queue helpers | `openclaw/plugin-sdk/system-event-runtime` |
302+ | Heartbeat event and visibility helpers | `openclaw/plugin-sdk/heartbeat-runtime` |
303+ | Pending delivery queue drain | `openclaw/plugin-sdk/delivery-queue-runtime` |
304+ | Channel activity telemetry | `openclaw/plugin-sdk/channel-activity-runtime` |
305+ | In-memory dedupe caches | `openclaw/plugin-sdk/dedupe-runtime` |
306+ | Safe local-file/media path helpers | `openclaw/plugin-sdk/file-access-runtime` |
307+ | Dispatcher-aware fetch | `openclaw/plugin-sdk/runtime-fetch` |
308+ | Proxy and guarded fetch helpers | `openclaw/plugin-sdk/fetch-runtime` |
309+ | SSRF dispatcher policy types | `openclaw/plugin-sdk/ssrf-dispatcher` |
310+ | Approval request/resolution types | `openclaw/plugin-sdk/approval-runtime` |
311+ | Approval reply payload and command helpers | `openclaw/plugin-sdk/approval-reply-runtime` |
312+ | Error formatting helpers | `openclaw/plugin-sdk/error-runtime` |
313+ | Transport readiness waits | `openclaw/plugin-sdk/transport-ready-runtime` |
314+ | Secure token helpers | `openclaw/plugin-sdk/secure-random-runtime` |
315+ | Bounded async task concurrency | `openclaw/plugin-sdk/concurrency-runtime` |
316+ | Numeric coercion | `openclaw/plugin-sdk/number-runtime` |
317+ | Process-local async lock | `openclaw/plugin-sdk/async-lock-runtime` |
318+ | File locks | `openclaw/plugin-sdk/file-lock` |
319+
320+ Bundled plugins are scanner-guarded against `infra-runtime`, so repo code
321+ cannot regress to the broad barrel.
322+
323+ </Step >
324+
287325 <Step title =" Build and test " >
288326 ```bash
289327 pnpm build
@@ -338,7 +376,7 @@ releases.
338376 | ` plugin-sdk/process-runtime ` | Process helpers | Shared exec helpers |
339377 | ` plugin-sdk/cli-runtime ` | CLI runtime helpers | Command formatting, waits, version helpers |
340378 | ` plugin-sdk/gateway-runtime ` | Gateway helpers | Gateway client and channel-status patch helpers |
341- | ` plugin-sdk/config-runtime ` | Config helpers | Config load/write helpers |
379+ | ` plugin-sdk/config-runtime ` | Deprecated config compatibility shim | Prefer ` config-types ` , ` plugin-config-runtime ` , ` runtime-config-snapshot ` , and ` config-mutation ` |
342380 | ` plugin-sdk/telegram-command-config ` | Telegram command helpers | Fallback-stable Telegram command validation helpers when the bundled Telegram contract surface is unavailable |
343381 | ` plugin-sdk/approval-runtime ` | Approval prompt helpers | Exec/plugin approval payload, approval capability/profile helpers, native approval routing/runtime helpers, and structured approval display path formatting |
344382 | ` plugin-sdk/approval-auth-runtime ` | Approval auth helpers | Approver resolution, same-chat action auth |
@@ -353,6 +391,13 @@ releases.
353391 | ` plugin-sdk/security-runtime ` | Security helpers | Shared trust, DM gating, external-content, and secret-collection helpers |
354392 | ` plugin-sdk/ssrf-policy ` | SSRF policy helpers | Host allowlist and private-network policy helpers |
355393 | ` plugin-sdk/ssrf-runtime ` | SSRF runtime helpers | Pinned-dispatcher, guarded fetch, SSRF policy helpers |
394+ | ` plugin-sdk/system-event-runtime ` | System event helpers | ` enqueueSystemEvent ` , ` peekSystemEventEntries ` |
395+ | ` plugin-sdk/heartbeat-runtime ` | Heartbeat helpers | Heartbeat event and visibility helpers |
396+ | ` plugin-sdk/delivery-queue-runtime ` | Delivery queue helpers | ` drainPendingDeliveries ` |
397+ | ` plugin-sdk/channel-activity-runtime ` | Channel activity helpers | ` recordChannelActivity ` |
398+ | ` plugin-sdk/dedupe-runtime ` | Dedupe helpers | In-memory dedupe caches |
399+ | ` plugin-sdk/file-access-runtime ` | File access helpers | Safe local-file/media path helpers |
400+ | ` plugin-sdk/transport-ready-runtime ` | Transport readiness helpers | ` waitForTransportReady ` |
356401 | ` plugin-sdk/collection-runtime ` | Bounded cache helpers | ` pruneMapToMaxSize ` |
357402 | ` plugin-sdk/diagnostic-runtime ` | Diagnostic gating helpers | ` isDiagnosticFlagEnabled ` , ` isDiagnosticsEnabled ` |
358403 | ` plugin-sdk/error-runtime ` | Error formatting helpers | ` formatUncaughtError ` , ` isApprovalNotFoundError ` , error graph helpers |
0 commit comments