From b171e4211787b02c16feba570bb95825ade82aff Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 28 Mar 2026 02:43:00 +0000 Subject: [PATCH] refactor: move telegram timing helpers onto runtime-env --- extensions/telegram/src/bot/delivery.resolve-media.ts | 2 +- extensions/telegram/src/polling-session.test.ts | 4 ++-- extensions/telegram/src/polling-session.ts | 7 +++++-- extensions/telegram/src/sendchataction-401-backoff.ts | 2 +- src/plugin-sdk/runtime-env.ts | 2 ++ 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/extensions/telegram/src/bot/delivery.resolve-media.ts b/extensions/telegram/src/bot/delivery.resolve-media.ts index 6a179ff07f2..50da268af1f 100644 --- a/extensions/telegram/src/bot/delivery.resolve-media.ts +++ b/extensions/telegram/src/bot/delivery.resolve-media.ts @@ -1,9 +1,9 @@ import path from "node:path"; import { GrammyError } from "grammy"; -import { retryAsync } from "openclaw/plugin-sdk/infra-runtime"; import { fetchRemoteMedia } from "openclaw/plugin-sdk/media-runtime"; import { saveMediaBuffer } from "openclaw/plugin-sdk/media-runtime"; import { logVerbose, warn } from "openclaw/plugin-sdk/runtime-env"; +import { retryAsync } from "openclaw/plugin-sdk/runtime-env"; import { formatErrorMessage } from "openclaw/plugin-sdk/ssrf-runtime"; import { resolveTelegramApiBase, diff --git a/extensions/telegram/src/polling-session.test.ts b/extensions/telegram/src/polling-session.test.ts index 92958374dea..41f1e9e936e 100644 --- a/extensions/telegram/src/polling-session.test.ts +++ b/extensions/telegram/src/polling-session.test.ts @@ -22,8 +22,8 @@ vi.mock("./api-logging.js", () => ({ withTelegramApiErrorLogging: async ({ fn }: { fn: () => Promise }) => await fn(), })); -vi.mock("openclaw/plugin-sdk/infra-runtime", async (importOriginal) => { - const actual = await importOriginal(); +vi.mock("openclaw/plugin-sdk/runtime-env", async (importOriginal) => { + const actual = await importOriginal(); return { ...actual, computeBackoff: computeBackoffMock, diff --git a/extensions/telegram/src/polling-session.ts b/extensions/telegram/src/polling-session.ts index 95befa512f1..908a4a00a97 100644 --- a/extensions/telegram/src/polling-session.ts +++ b/extensions/telegram/src/polling-session.ts @@ -1,6 +1,9 @@ import { type RunOptions, run } from "@grammyjs/runner"; -import { computeBackoff, sleepWithAbort } from "openclaw/plugin-sdk/infra-runtime"; -import { formatDurationPrecise } from "openclaw/plugin-sdk/infra-runtime"; +import { + computeBackoff, + formatDurationPrecise, + sleepWithAbort, +} from "openclaw/plugin-sdk/runtime-env"; import { formatErrorMessage } from "openclaw/plugin-sdk/ssrf-runtime"; import { withTelegramApiErrorLogging } from "./api-logging.js"; import { createTelegramBot } from "./bot.js"; diff --git a/extensions/telegram/src/sendchataction-401-backoff.ts b/extensions/telegram/src/sendchataction-401-backoff.ts index 0c9865eb2b3..1db03e2ac22 100644 --- a/extensions/telegram/src/sendchataction-401-backoff.ts +++ b/extensions/telegram/src/sendchataction-401-backoff.ts @@ -2,7 +2,7 @@ import { computeBackoff, sleepWithAbort, type BackoffPolicy, -} from "openclaw/plugin-sdk/infra-runtime"; +} from "openclaw/plugin-sdk/runtime-env"; export type TelegramSendChatActionLogger = (message: string) => void; diff --git a/src/plugin-sdk/runtime-env.ts b/src/plugin-sdk/runtime-env.ts index 89ae2aa47fd..59be87ccce2 100644 --- a/src/plugin-sdk/runtime-env.ts +++ b/src/plugin-sdk/runtime-env.ts @@ -19,6 +19,8 @@ export { export { isTruthyEnvValue } from "../infra/env.js"; export * from "../logging.js"; export { waitForAbortSignal } from "../infra/abort-signal.js"; +export { computeBackoff, sleepWithAbort, type BackoffPolicy } from "../infra/backoff.js"; +export { formatDurationPrecise } from "../infra/format-time/format-duration.ts"; export { retryAsync } from "../infra/retry.js"; export { ensureGlobalUndiciEnvProxyDispatcher } from "../infra/net/undici-global-dispatcher.js"; export { registerUnhandledRejectionHandler } from "../infra/unhandled-rejections.js";