From d1fe30b35f82bb96e444a1e787e1ec8b80271542 Mon Sep 17 00:00:00 2001 From: Val Alexander Date: Wed, 18 Mar 2026 01:29:33 -0500 Subject: [PATCH] Plugins: add Twitch runtime barrel --- extensions/twitch/runtime-api.ts | 1 + extensions/twitch/src/config-schema.ts | 2 +- extensions/twitch/src/config.ts | 2 +- extensions/twitch/src/probe.ts | 2 +- extensions/twitch/src/runtime.ts | 2 +- extensions/twitch/src/send.ts | 2 +- extensions/twitch/src/status.ts | 2 +- extensions/twitch/src/test-fixtures.ts | 2 +- extensions/twitch/src/token.ts | 2 +- extensions/twitch/src/twitch-client.ts | 2 +- extensions/twitch/src/types.ts | 2 +- 11 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 extensions/twitch/runtime-api.ts diff --git a/extensions/twitch/runtime-api.ts b/extensions/twitch/runtime-api.ts new file mode 100644 index 00000000000..68033283423 --- /dev/null +++ b/extensions/twitch/runtime-api.ts @@ -0,0 +1 @@ +export * from "openclaw/plugin-sdk/twitch"; diff --git a/extensions/twitch/src/config-schema.ts b/extensions/twitch/src/config-schema.ts index 32bea8075e0..485e3f5a12d 100644 --- a/extensions/twitch/src/config-schema.ts +++ b/extensions/twitch/src/config-schema.ts @@ -1,5 +1,5 @@ import { z } from "zod"; -import { MarkdownConfigSchema } from "../api.js"; +import { MarkdownConfigSchema } from "../runtime-api.js"; /** * Twitch user roles that can be allowed to interact with the bot diff --git a/extensions/twitch/src/config.ts b/extensions/twitch/src/config.ts index 5e7a8fa8441..b257146a37b 100644 --- a/extensions/twitch/src/config.ts +++ b/extensions/twitch/src/config.ts @@ -1,4 +1,4 @@ -import type { OpenClawConfig } from "../api.js"; +import type { OpenClawConfig } from "../runtime-api.js"; import type { TwitchAccountConfig } from "./types.js"; /** diff --git a/extensions/twitch/src/probe.ts b/extensions/twitch/src/probe.ts index f22243e76ee..c7d2397791c 100644 --- a/extensions/twitch/src/probe.ts +++ b/extensions/twitch/src/probe.ts @@ -1,6 +1,6 @@ import { StaticAuthProvider } from "@twurple/auth"; import { ChatClient } from "@twurple/chat"; -import type { BaseProbeResult } from "../api.js"; +import type { BaseProbeResult } from "../runtime-api.js"; import type { TwitchAccountConfig } from "./types.js"; import { normalizeToken } from "./utils/twitch.js"; diff --git a/extensions/twitch/src/runtime.ts b/extensions/twitch/src/runtime.ts index b5edc038816..38a8a1f9cb6 100644 --- a/extensions/twitch/src/runtime.ts +++ b/extensions/twitch/src/runtime.ts @@ -1,5 +1,5 @@ import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store"; -import type { PluginRuntime } from "../api.js"; +import type { PluginRuntime } from "../runtime-api.js"; const { setRuntime: setTwitchRuntime, getRuntime: getTwitchRuntime } = createPluginRuntimeStore("Twitch runtime not initialized"); diff --git a/extensions/twitch/src/send.ts b/extensions/twitch/src/send.ts index 3b9f16d19c2..807d14ca3a8 100644 --- a/extensions/twitch/src/send.ts +++ b/extensions/twitch/src/send.ts @@ -5,7 +5,7 @@ * They support dependency injection via the `deps` parameter for testability. */ -import type { OpenClawConfig } from "../api.js"; +import type { OpenClawConfig } from "../runtime-api.js"; import { getClientManager as getRegistryClientManager } from "./client-manager-registry.js"; import { DEFAULT_ACCOUNT_ID, getAccountConfig } from "./config.js"; import { resolveTwitchToken } from "./token.js"; diff --git a/extensions/twitch/src/status.ts b/extensions/twitch/src/status.ts index 593cdcd25e8..053391af436 100644 --- a/extensions/twitch/src/status.ts +++ b/extensions/twitch/src/status.ts @@ -4,7 +4,7 @@ * Detects and reports configuration issues for Twitch accounts. */ -import type { ChannelStatusIssue } from "../api.js"; +import type { ChannelStatusIssue } from "../runtime-api.js"; import { getAccountConfig } from "./config.js"; import { resolveTwitchToken } from "./token.js"; import type { ChannelAccountSnapshot } from "./types.js"; diff --git a/extensions/twitch/src/test-fixtures.ts b/extensions/twitch/src/test-fixtures.ts index 664e01cde3f..b470b957d75 100644 --- a/extensions/twitch/src/test-fixtures.ts +++ b/extensions/twitch/src/test-fixtures.ts @@ -1,5 +1,5 @@ import { afterEach, beforeEach, vi } from "vitest"; -import type { OpenClawConfig } from "../api.js"; +import type { OpenClawConfig } from "../runtime-api.js"; export const BASE_TWITCH_TEST_ACCOUNT = { username: "testbot", diff --git a/extensions/twitch/src/token.ts b/extensions/twitch/src/token.ts index 840aa9b568f..ab14f6679e7 100644 --- a/extensions/twitch/src/token.ts +++ b/extensions/twitch/src/token.ts @@ -9,7 +9,7 @@ * 2. Environment variable: OPENCLAW_TWITCH_ACCESS_TOKEN (default account only) */ -import { DEFAULT_ACCOUNT_ID, normalizeAccountId, type OpenClawConfig } from "../api.js"; +import { DEFAULT_ACCOUNT_ID, normalizeAccountId, type OpenClawConfig } from "../runtime-api.js"; export type TwitchTokenSource = "env" | "config" | "none"; diff --git a/extensions/twitch/src/twitch-client.ts b/extensions/twitch/src/twitch-client.ts index 09fc3db264e..21e3dfd2709 100644 --- a/extensions/twitch/src/twitch-client.ts +++ b/extensions/twitch/src/twitch-client.ts @@ -1,6 +1,6 @@ import { RefreshingAuthProvider, StaticAuthProvider } from "@twurple/auth"; import { ChatClient, LogLevel } from "@twurple/chat"; -import type { OpenClawConfig } from "../api.js"; +import type { OpenClawConfig } from "../runtime-api.js"; import { resolveTwitchToken } from "./token.js"; import type { ChannelLogSink, TwitchAccountConfig, TwitchChatMessage } from "./types.js"; import { normalizeToken } from "./utils/twitch.js"; diff --git a/extensions/twitch/src/types.ts b/extensions/twitch/src/types.ts index f767b8aecd3..00a1ba67e22 100644 --- a/extensions/twitch/src/types.ts +++ b/extensions/twitch/src/types.ts @@ -22,7 +22,7 @@ import type { OpenClawConfig, OutboundDeliveryResult, RuntimeEnv, -} from "../api.js"; +} from "../runtime-api.js"; // ============================================================================ // Twitch-Specific Types