Tests: fix extension typing after main rebase

This commit is contained in:
joshavant
2026-03-13 21:58:27 -05:00
parent c6d3f9337a
commit ecb3838ea3
3 changed files with 47 additions and 46 deletions

View File

@@ -1,4 +1,5 @@
import type { IncomingMessage } from "node:http";
import type { OpenClawPluginApi } from "openclaw/plugin-sdk/diffs";
import { describe, expect, it, vi } from "vitest";
import { createMockServerResponse } from "../../src/test-utils/mock-http-response.js";
import { createTestPluginApi } from "../test-utils/plugin-api.js";
@@ -42,48 +43,46 @@ describe("diffs plugin registration", () => {
});
it("applies plugin-config defaults through registered tool and viewer handler", async () => {
let registeredTool:
| { execute?: (toolCallId: string, params: Record<string, unknown>) => Promise<unknown> }
| undefined;
let registeredHttpRouteHandler:
| ((
req: IncomingMessage,
res: ReturnType<typeof createMockServerResponse>,
) => Promise<boolean>)
| undefined;
type RegisteredTool = {
execute?: (toolCallId: string, params: Record<string, unknown>) => Promise<unknown>;
};
type RegisteredHttpRouteParams = Parameters<OpenClawPluginApi["registerHttpRoute"]>[0];
plugin.register?.(
createTestPluginApi({
id: "diffs",
name: "Diffs",
description: "Diffs",
source: "test",
config: {
gateway: {
port: 18789,
bind: "loopback",
},
let registeredTool: RegisteredTool | undefined;
let registeredHttpRouteHandler: RegisteredHttpRouteParams["handler"] | undefined;
const api = createTestPluginApi({
id: "diffs",
name: "Diffs",
description: "Diffs",
source: "test",
config: {
gateway: {
port: 18789,
bind: "loopback",
},
pluginConfig: {
defaults: {
mode: "view",
theme: "light",
background: false,
layout: "split",
showLineNumbers: false,
diffIndicators: "classic",
lineSpacing: 2,
},
},
pluginConfig: {
defaults: {
mode: "view",
theme: "light",
background: false,
layout: "split",
showLineNumbers: false,
diffIndicators: "classic",
lineSpacing: 2,
},
runtime: {} as never,
registerTool(tool) {
registeredTool = typeof tool === "function" ? undefined : tool;
},
registerHttpRoute(params) {
registeredHttpRouteHandler = params.handler as typeof registeredHttpRouteHandler;
},
}),
);
},
runtime: {} as never,
registerTool(tool: Parameters<OpenClawPluginApi["registerTool"]>[0]) {
registeredTool = typeof tool === "function" ? undefined : tool;
},
registerHttpRoute(params: RegisteredHttpRouteParams) {
registeredHttpRouteHandler = params.handler;
},
});
plugin.register?.(api as unknown as OpenClawPluginApi);
const result = await registeredTool?.execute?.("tool-1", {
before: "one\n",

View File

@@ -1,17 +1,17 @@
import type { z } from "zod";
type RequireOpenAllowFromFn = (params: {
policy: unknown;
allowFrom: unknown;
policy?: string;
allowFrom?: (string | number)[];
ctx: z.RefinementCtx;
path: string[];
path: (string | number)[];
message: string;
}) => void;
export function requireChannelOpenAllowFrom(params: {
channel: string;
policy: unknown;
allowFrom: unknown;
policy?: string;
allowFrom?: (string | number)[];
ctx: z.RefinementCtx;
requireOpenAllowFrom: RequireOpenAllowFromFn;
}) {

View File

@@ -8,6 +8,8 @@ export function createDirectoryTestRuntime() {
};
}
type DirectoryMethod = (params: Record<string, unknown>) => Promise<unknown>;
export function expectDirectorySurface(
directory:
| {
@@ -27,7 +29,7 @@ export function expectDirectorySurface(
throw new Error("expected listGroups");
}
return directory as {
listPeers: NonNullable<typeof directory.listPeers>;
listGroups: NonNullable<typeof directory.listGroups>;
listPeers: DirectoryMethod;
listGroups: DirectoryMethod;
};
}