From 8d4e3f5c3cd98d0d673891d68431161526d2b906 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 20 Apr 2026 15:34:39 +0100 Subject: [PATCH] refactor: reuse runtime logger helper --- extensions/tlon/src/logger-runtime.ts | 38 +------------------------ package.json | 4 +++ scripts/lib/plugin-sdk-entrypoints.json | 1 + 3 files changed, 6 insertions(+), 37 deletions(-) diff --git a/extensions/tlon/src/logger-runtime.ts b/extensions/tlon/src/logger-runtime.ts index f80bf49a49b..7229cf5794f 100644 --- a/extensions/tlon/src/logger-runtime.ts +++ b/extensions/tlon/src/logger-runtime.ts @@ -1,37 +1 @@ -import { format } from "node:util"; - -type RuntimeLoggerLike = { - info: (message: string) => void; - error: (message: string) => void; -}; - -type LoggerBackedRuntime = { - log: (...args: unknown[]) => void; - error: (...args: unknown[]) => void; - writeStdout: (value: string) => void; - writeJson: (value: unknown, space?: number) => void; - exit: (code: number) => never; -}; - -export function createLoggerBackedRuntime(params: { - logger: RuntimeLoggerLike; - exitError?: (code: number) => Error; -}): LoggerBackedRuntime { - return { - log: (...args) => { - params.logger.info(format(...args)); - }, - error: (...args) => { - params.logger.error(format(...args)); - }, - writeStdout: (value) => { - params.logger.info(value); - }, - writeJson: (value, space = 2) => { - params.logger.info(JSON.stringify(value, null, space > 0 ? space : undefined)); - }, - exit: (code: number): never => { - throw params.exitError?.(code) ?? new Error(`exit ${code}`); - }, - }; -} +export { createLoggerBackedRuntime } from "openclaw/plugin-sdk/runtime-logger"; diff --git a/package.json b/package.json index 14c1ef19132..b1896ab1c77 100644 --- a/package.json +++ b/package.json @@ -97,6 +97,10 @@ "types": "./dist/plugin-sdk/runtime-env.d.ts", "default": "./dist/plugin-sdk/runtime-env.js" }, + "./plugin-sdk/runtime-logger": { + "types": "./dist/plugin-sdk/runtime-logger.d.ts", + "default": "./dist/plugin-sdk/runtime-logger.js" + }, "./plugin-sdk/proxy-capture": { "types": "./dist/plugin-sdk/proxy-capture.d.ts", "default": "./dist/plugin-sdk/proxy-capture.js" diff --git a/scripts/lib/plugin-sdk-entrypoints.json b/scripts/lib/plugin-sdk-entrypoints.json index 2a83e4d4c46..b16a16d3c70 100644 --- a/scripts/lib/plugin-sdk-entrypoints.json +++ b/scripts/lib/plugin-sdk-entrypoints.json @@ -10,6 +10,7 @@ "runtime", "runtime-doctor", "runtime-env", + "runtime-logger", "proxy-capture", "runtime-secret-resolution", "setup",