diff --git a/extensions/tlon/index.ts b/extensions/tlon/index.ts index 5179c74c61d..4365253a1fc 100644 --- a/extensions/tlon/index.ts +++ b/extensions/tlon/index.ts @@ -2,8 +2,8 @@ import { spawn } from "node:child_process"; import { existsSync } from "node:fs"; import { dirname, join } from "node:path"; import { fileURLToPath } from "node:url"; -import type { OpenClawPluginApi } from "openclaw/plugin-sdk/core"; -import { emptyPluginConfigSchema } from "openclaw/plugin-sdk/core"; +import type { OpenClawPluginApi } from "openclaw/plugin-sdk/tlon"; +import { emptyPluginConfigSchema } from "openclaw/plugin-sdk/tlon"; import { tlonPlugin } from "./src/channel.js"; import { setTlonRuntime } from "./src/runtime.js"; diff --git a/extensions/tlon/src/channel.ts b/extensions/tlon/src/channel.ts index 3432973c7d5..3c5bedbf841 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/compat"; +} from "openclaw/plugin-sdk/tlon"; import { applyAccountNameToChannelSection, DEFAULT_ACCOUNT_ID, normalizeAccountId, -} from "openclaw/plugin-sdk/compat"; +} from "openclaw/plugin-sdk/tlon"; 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/compat").ChannelAccountSnapshot; + return snapshot as import("openclaw/plugin-sdk/tlon").ChannelAccountSnapshot; }, }, gateway: { @@ -507,7 +507,7 @@ export const tlonPlugin: ChannelPlugin = { accountId: account.accountId, ship: account.ship, url: account.url, - } as import("openclaw/plugin-sdk/compat").ChannelAccountSnapshot); + } as import("openclaw/plugin-sdk/tlon").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 8bcf8300069..666f65e35da 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/compat"; +import { buildChannelConfigSchema } from "openclaw/plugin-sdk/tlon"; 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 ae0ea47d7b9..a7224608bf0 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/compat"; +import type { RuntimeEnv } from "openclaw/plugin-sdk/tlon"; 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 0636c102f7f..a67fae7ada4 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/compat"; +import type { RuntimeEnv } from "openclaw/plugin-sdk/tlon"; import { extractMessageText } from "./utils.js"; /** diff --git a/extensions/tlon/src/monitor/index.ts b/extensions/tlon/src/monitor/index.ts index 3d12393cd90..a9291878101 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/compat"; -import { createLoggerBackedRuntime, createReplyPrefixOptions } from "openclaw/plugin-sdk/compat"; +import type { RuntimeEnv, ReplyPayload, OpenClawConfig } from "openclaw/plugin-sdk/tlon"; +import { createLoggerBackedRuntime, createReplyPrefixOptions } from "openclaw/plugin-sdk/tlon"; 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 e8301976a85..588598e4d2d 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/compat"; +import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/tlon"; 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 e2a533ee7da..d849724c4a5 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/compat"; +import { createDedupeCache } from "openclaw/plugin-sdk/tlon"; export type ProcessedMessageTracker = { mark: (id?: string | null) => boolean; diff --git a/extensions/tlon/src/onboarding.ts b/extensions/tlon/src/onboarding.ts index f0b84ab5bef..39256e34362 100644 --- a/extensions/tlon/src/onboarding.ts +++ b/extensions/tlon/src/onboarding.ts @@ -1,4 +1,4 @@ -import type { OpenClawConfig } from "openclaw/plugin-sdk/compat"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/tlon"; import { formatDocsLink, promptAccountId, @@ -6,7 +6,7 @@ import { normalizeAccountId, type ChannelOnboardingAdapter, type WizardPrompter, -} from "openclaw/plugin-sdk/compat"; +} from "openclaw/plugin-sdk/tlon"; 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 79ad7a872b9..0400d636b57 100644 --- a/extensions/tlon/src/runtime.ts +++ b/extensions/tlon/src/runtime.ts @@ -1,4 +1,4 @@ -import type { PluginRuntime } from "openclaw/plugin-sdk/compat"; +import type { PluginRuntime } from "openclaw/plugin-sdk/tlon"; let runtime: PluginRuntime | null = null; diff --git a/extensions/tlon/src/types.ts b/extensions/tlon/src/types.ts index 4352e88bb63..e9bc27ac169 100644 --- a/extensions/tlon/src/types.ts +++ b/extensions/tlon/src/types.ts @@ -1,4 +1,4 @@ -import type { OpenClawConfig } from "openclaw/plugin-sdk/compat"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/tlon"; 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 f28e7e217e1..18dd6142ad3 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/compat"; -import { SsrFBlockedError } from "openclaw/plugin-sdk/compat"; +import type { LookupFn } from "openclaw/plugin-sdk/tlon"; +import { SsrFBlockedError } from "openclaw/plugin-sdk/tlon"; 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 7ae150980a1..3b7ccd16593 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/compat"; +import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk/tlon"; 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 46619449315..e90168b47a9 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/compat"; +import { isBlockedHostnameOrIp } from "openclaw/plugin-sdk/tlon"; 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 c58652b62eb..f5401d3bb73 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/compat"; +import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk/tlon"; 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 25381df8e75..6fbae002f5d 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/compat"; +import type { SsrFPolicy } from "openclaw/plugin-sdk/tlon"; 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 1c60a0b6dd2..a1551df547d 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/compat"; -import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/compat"; +import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk/tlon"; +import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/tlon"; 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 94056e523e3..ab12977d0e8 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/compat"; +import type { LookupFn, SsrFPolicy } from "openclaw/plugin-sdk/tlon"; 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 0f078669859..ca95a0412d4 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/compat", async (importOriginal) => { - const actual = await importOriginal(); +vi.mock("openclaw/plugin-sdk/tlon", 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/compat"); + const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk/tlon"); 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/compat"); + const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk/tlon"); 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/compat"); + const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk/tlon"); 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/compat"); + const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk/tlon"); 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/compat"); + const { fetchWithSsrFGuard } = await import("openclaw/plugin-sdk/tlon"); 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 78c9c706e7c..81aaef84a06 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/compat"; +import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/tlon"; import { getDefaultSsrFPolicy } from "./context.js"; /**