diff --git a/extensions/tlon/src/channel.ts b/extensions/tlon/src/channel.ts index 3b2dd73f388..3432973c7d5 100644 --- a/extensions/tlon/src/channel.ts +++ b/extensions/tlon/src/channel.ts @@ -5,12 +5,12 @@ import type { ChannelPlugin, ChannelSetupInput, OpenClawConfig, -} from "openclaw/plugin-sdk"; +} from "openclaw/plugin-sdk/compat"; import { applyAccountNameToChannelSection, DEFAULT_ACCOUNT_ID, normalizeAccountId, -} from "openclaw/plugin-sdk"; +} from "openclaw/plugin-sdk/compat"; import { buildTlonAccountFields } from "./account-fields.js"; import { tlonChannelConfigSchema } from "./config-schema.js"; import { monitorTlonProvider } from "./monitor/index.js"; @@ -497,7 +497,7 @@ export const tlonPlugin: ChannelPlugin = { lastError: runtime?.lastError ?? null, probe, }; - return snapshot as import("openclaw/plugin-sdk").ChannelAccountSnapshot; + return snapshot as import("openclaw/plugin-sdk/compat").ChannelAccountSnapshot; }, }, gateway: { @@ -507,7 +507,7 @@ export const tlonPlugin: ChannelPlugin = { accountId: account.accountId, ship: account.ship, url: account.url, - } as import("openclaw/plugin-sdk").ChannelAccountSnapshot); + } as import("openclaw/plugin-sdk/compat").ChannelAccountSnapshot); ctx.log?.info(`[${account.accountId}] starting Tlon provider for ${account.ship ?? "tlon"}`); return monitorTlonProvider({ runtime: ctx.runtime, diff --git a/extensions/tlon/src/config-schema.ts b/extensions/tlon/src/config-schema.ts index 4a091c8f650..8bcf8300069 100644 --- a/extensions/tlon/src/config-schema.ts +++ b/extensions/tlon/src/config-schema.ts @@ -1,4 +1,4 @@ -import { buildChannelConfigSchema } from "openclaw/plugin-sdk"; +import { buildChannelConfigSchema } from "openclaw/plugin-sdk/compat"; import { z } from "zod"; const ShipSchema = z.string().min(1); diff --git a/extensions/tlon/src/monitor/discovery.ts b/extensions/tlon/src/monitor/discovery.ts index cce767ea4db..ae0ea47d7b9 100644 --- a/extensions/tlon/src/monitor/discovery.ts +++ b/extensions/tlon/src/monitor/discovery.ts @@ -1,4 +1,4 @@ -import type { RuntimeEnv } from "openclaw/plugin-sdk"; +import type { RuntimeEnv } from "openclaw/plugin-sdk/compat"; import type { Foreigns } from "../urbit/foreigns.js"; import { formatChangesDate } from "./utils.js"; diff --git a/extensions/tlon/src/monitor/history.ts b/extensions/tlon/src/monitor/history.ts index 3674b175b3c..0636c102f7f 100644 --- a/extensions/tlon/src/monitor/history.ts +++ b/extensions/tlon/src/monitor/history.ts @@ -1,4 +1,4 @@ -import type { RuntimeEnv } from "openclaw/plugin-sdk"; +import type { RuntimeEnv } from "openclaw/plugin-sdk/compat"; import { extractMessageText } from "./utils.js"; /** diff --git a/extensions/tlon/src/monitor/index.ts b/extensions/tlon/src/monitor/index.ts index b3a0e092970..3d12393cd90 100644 --- a/extensions/tlon/src/monitor/index.ts +++ b/extensions/tlon/src/monitor/index.ts @@ -1,5 +1,5 @@ -import type { RuntimeEnv, ReplyPayload, OpenClawConfig } from "openclaw/plugin-sdk"; -import { createLoggerBackedRuntime, createReplyPrefixOptions } from "openclaw/plugin-sdk"; +import type { RuntimeEnv, ReplyPayload, OpenClawConfig } from "openclaw/plugin-sdk/compat"; +import { createLoggerBackedRuntime, createReplyPrefixOptions } from "openclaw/plugin-sdk/compat"; import { getTlonRuntime } from "../runtime.js"; import { createSettingsManager, type TlonSettingsStore } from "../settings.js"; import { normalizeShip, parseChannelNest } from "../targets.js"; diff --git a/extensions/tlon/src/monitor/media.ts b/extensions/tlon/src/monitor/media.ts index fabf7697795..e8301976a85 100644 --- a/extensions/tlon/src/monitor/media.ts +++ b/extensions/tlon/src/monitor/media.ts @@ -5,7 +5,7 @@ import { homedir } from "node:os"; import * as path from "node:path"; import { Readable } from "node:stream"; import { pipeline } from "node:stream/promises"; -import { fetchWithSsrFGuard } from "openclaw/plugin-sdk"; +import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/compat"; import { getDefaultSsrFPolicy } from "../urbit/context.js"; // Default to OpenClaw workspace media directory diff --git a/extensions/tlon/src/monitor/processed-messages.ts b/extensions/tlon/src/monitor/processed-messages.ts index 560db28575a..e2a533ee7da 100644 --- a/extensions/tlon/src/monitor/processed-messages.ts +++ b/extensions/tlon/src/monitor/processed-messages.ts @@ -1,4 +1,4 @@ -import { createDedupeCache } from "openclaw/plugin-sdk"; +import { createDedupeCache } from "openclaw/plugin-sdk/compat"; export type ProcessedMessageTracker = { mark: (id?: string | null) => boolean; diff --git a/extensions/tlon/src/onboarding.ts b/extensions/tlon/src/onboarding.ts index 11b1ceccbd1..f0b84ab5bef 100644 --- a/extensions/tlon/src/onboarding.ts +++ b/extensions/tlon/src/onboarding.ts @@ -1,4 +1,4 @@ -import type { OpenClawConfig } from "openclaw/plugin-sdk"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/compat"; import { formatDocsLink, promptAccountId, @@ -6,7 +6,7 @@ import { normalizeAccountId, type ChannelOnboardingAdapter, type WizardPrompter, -} from "openclaw/plugin-sdk"; +} from "openclaw/plugin-sdk/compat"; import { buildTlonAccountFields } from "./account-fields.js"; import type { TlonResolvedAccount } from "./types.js"; import { listTlonAccountIds, resolveTlonAccount } from "./types.js"; diff --git a/extensions/tlon/src/runtime.ts b/extensions/tlon/src/runtime.ts index 0ffa71c9b4f..79ad7a872b9 100644 --- a/extensions/tlon/src/runtime.ts +++ b/extensions/tlon/src/runtime.ts @@ -1,4 +1,4 @@ -import type { PluginRuntime } from "openclaw/plugin-sdk"; +import type { PluginRuntime } from "openclaw/plugin-sdk/compat"; let runtime: PluginRuntime | null = null; diff --git a/extensions/tlon/src/types.ts b/extensions/tlon/src/types.ts index 81f38adc76b..4352e88bb63 100644 --- a/extensions/tlon/src/types.ts +++ b/extensions/tlon/src/types.ts @@ -1,4 +1,4 @@ -import type { OpenClawConfig } from "openclaw/plugin-sdk"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/compat"; export type TlonResolvedAccount = { accountId: string; diff --git a/extensions/tlon/src/urbit/auth.ssrf.test.ts b/extensions/tlon/src/urbit/auth.ssrf.test.ts index f67891589cc..f28e7e217e1 100644 --- a/extensions/tlon/src/urbit/auth.ssrf.test.ts +++ b/extensions/tlon/src/urbit/auth.ssrf.test.ts @@ -1,5 +1,5 @@ -import type { LookupFn } from "openclaw/plugin-sdk"; -import { SsrFBlockedError } from "openclaw/plugin-sdk"; +import type { LookupFn } from "openclaw/plugin-sdk/compat"; +import { SsrFBlockedError } from "openclaw/plugin-sdk/compat"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { authenticate } from "./auth.js"; diff --git a/extensions/tlon/src/urbit/auth.ts b/extensions/tlon/src/urbit/auth.ts index 0f11a5859f2..7ae150980a1 100644 --- a/extensions/tlon/src/urbit/auth.ts +++ b/extensions/tlon/src/urbit/auth.ts @@ -1,4 +1,4 @@ -import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk"; +import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk/compat"; import { UrbitAuthError } from "./errors.js"; import { urbitFetch } from "./fetch.js"; diff --git a/extensions/tlon/src/urbit/base-url.ts b/extensions/tlon/src/urbit/base-url.ts index d18832bdd1a..46619449315 100644 --- a/extensions/tlon/src/urbit/base-url.ts +++ b/extensions/tlon/src/urbit/base-url.ts @@ -1,4 +1,4 @@ -import { isBlockedHostnameOrIp } from "openclaw/plugin-sdk"; +import { isBlockedHostnameOrIp } from "openclaw/plugin-sdk/compat"; export type UrbitBaseUrlValidation = | { ok: true; baseUrl: string; hostname: string } diff --git a/extensions/tlon/src/urbit/channel-ops.ts b/extensions/tlon/src/urbit/channel-ops.ts index 077e8d01816..c58652b62eb 100644 --- a/extensions/tlon/src/urbit/channel-ops.ts +++ b/extensions/tlon/src/urbit/channel-ops.ts @@ -1,4 +1,4 @@ -import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk"; +import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk/compat"; import { UrbitHttpError } from "./errors.js"; import { urbitFetch } from "./fetch.js"; diff --git a/extensions/tlon/src/urbit/context.ts b/extensions/tlon/src/urbit/context.ts index e5c78aeee7f..25381df8e75 100644 --- a/extensions/tlon/src/urbit/context.ts +++ b/extensions/tlon/src/urbit/context.ts @@ -1,4 +1,4 @@ -import type { SsrFPolicy } from "openclaw/plugin-sdk"; +import type { SsrFPolicy } from "openclaw/plugin-sdk/compat"; import { validateUrbitBaseUrl } from "./base-url.js"; import { UrbitUrlError } from "./errors.js"; diff --git a/extensions/tlon/src/urbit/fetch.ts b/extensions/tlon/src/urbit/fetch.ts index 08032a028ef..1c60a0b6dd2 100644 --- a/extensions/tlon/src/urbit/fetch.ts +++ b/extensions/tlon/src/urbit/fetch.ts @@ -1,5 +1,5 @@ -import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk"; -import { fetchWithSsrFGuard } from "openclaw/plugin-sdk"; +import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk/compat"; +import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/compat"; import { validateUrbitBaseUrl } from "./base-url.js"; import { UrbitUrlError } from "./errors.js"; diff --git a/extensions/tlon/src/urbit/sse-client.ts b/extensions/tlon/src/urbit/sse-client.ts index 897859d2fcd..94056e523e3 100644 --- a/extensions/tlon/src/urbit/sse-client.ts +++ b/extensions/tlon/src/urbit/sse-client.ts @@ -1,6 +1,6 @@ import { randomUUID } from "node:crypto"; import { Readable } from "node:stream"; -import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk"; +import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk/compat"; import { ensureUrbitChannelOpen, pokeUrbitChannel, scryUrbitPath } from "./channel-ops.js"; import { getUrbitContext, normalizeUrbitCookie } from "./context.js"; import { urbitFetch } from "./fetch.js"; diff --git a/extensions/tlon/src/urbit/upload.test.ts b/extensions/tlon/src/urbit/upload.test.ts index 3ff0e9fd1a0..0f078669859 100644 --- a/extensions/tlon/src/urbit/upload.test.ts +++ b/extensions/tlon/src/urbit/upload.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it, vi, afterEach, beforeEach } from "vitest"; // Mock fetchWithSsrFGuard from plugin-sdk -vi.mock("openclaw/plugin-sdk", async (importOriginal) => { - const actual = await importOriginal(); +vi.mock("openclaw/plugin-sdk/compat", async (importOriginal) => { + const actual = await importOriginal(); return { ...actual, fetchWithSsrFGuard: vi.fn(), @@ -24,7 +24,7 @@ describe("uploadImageFromUrl", () => { }); it("fetches image and calls uploadFile, returns uploaded URL", async () => { - const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk"); + const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk/compat"); const mockFetch = vi.mocked(fetchWithSsrFGuard); const { uploadFile } = await import("@tloncorp/api"); @@ -59,7 +59,7 @@ describe("uploadImageFromUrl", () => { }); it("returns original URL if fetch fails", async () => { - const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk"); + const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk/compat"); const mockFetch = vi.mocked(fetchWithSsrFGuard); // Mock fetchWithSsrFGuard to return a failed response @@ -79,7 +79,7 @@ describe("uploadImageFromUrl", () => { }); it("returns original URL if upload fails", async () => { - const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk"); + const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk/compat"); const mockFetch = vi.mocked(fetchWithSsrFGuard); const { uploadFile } = await import("@tloncorp/api"); @@ -127,7 +127,7 @@ describe("uploadImageFromUrl", () => { }); it("extracts filename from URL path", async () => { - const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk"); + const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk/compat"); const mockFetch = vi.mocked(fetchWithSsrFGuard); const { uploadFile } = await import("@tloncorp/api"); @@ -157,7 +157,7 @@ describe("uploadImageFromUrl", () => { }); it("uses default filename when URL has no path", async () => { - const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk"); + const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk/compat"); const mockFetch = vi.mocked(fetchWithSsrFGuard); const { uploadFile } = await import("@tloncorp/api"); diff --git a/extensions/tlon/src/urbit/upload.ts b/extensions/tlon/src/urbit/upload.ts index 0c01483991b..78c9c706e7c 100644 --- a/extensions/tlon/src/urbit/upload.ts +++ b/extensions/tlon/src/urbit/upload.ts @@ -2,7 +2,7 @@ * Upload an image from a URL to Tlon storage. */ import { uploadFile } from "@tloncorp/api"; -import { fetchWithSsrFGuard } from "openclaw/plugin-sdk"; +import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/compat"; import { getDefaultSsrFPolicy } from "./context.js"; /**